@charset "UTF-8";
/* base */
/*! 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 {
  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 */
  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 {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/* core-colors */
/* font family */
/* Override simple-line-icons defaults */
/* changed to simple-icon- from icon- to prevent clashes with icomoon */
/* Override owl-carousel default styles */
/* clearfix - source: https://css-tricks.com/snippets/css/clear-fix/ */
.cf:before,
.cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1;
  /* For IE 6/7 (trigger hasLayout) */ }

/*
 ========================================================
 Grid
 ========================================================
*/
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.container,
.grid {
  padding-bottom: 70px; }
  @media all and (max-width: 991px) {
    .container,
    .grid {
      padding: 0px;
      width: 100%; } }
  @media all and (min-width: 992px) and (max-width: 1250px) {
    .container,
    .grid {
      margin: 0 auto;
      width: 992px; }
      .pricing .container, .pricing
      .grid {
        width: 100%; } }
  @media all and (min-width: 1251px) {
    .container,
    .grid {
      margin: 0 auto;
      width: 1250px; } }

body {
  text-align: center;
  font-family: "Work Sans", Arial, sans-serif;
  font-size: 20px; }

@media all and (max-width: 991px) {
  .content {
    position: relative;
    top: -235px; }
  .content.reflow {
    top: -70px; } }

.segment:focus,
.navigation:focus {
  outline: none; }

/*
 ========================================================
 Icons
 ========================================================
*/
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon/icomoon.eot?srf3rx");
  src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

/*
 ======================================================
 Reusable Elements
 ======================================================
*/
.btn {
  text-transform: uppercase;
  padding: 15px 25px;
  color: #fff;
  letter-spacing: 3px;
  font-size: 12px;
  border: none;
  cursor: pointer; }
  .btn.active {
    background-color: #4AE3B5; }
  .btn.clear {
    color: #444;
    background-color: transparent;
    border: solid 1px #818181; }
  .btn.lrg {
    padding: 15px 28px;
    font-size: 18px; }
  .btn:hover {
    background-color: #393e46;
    color: #fff;
    transition: all 0.2s linear; }
  .home .btn:hover {
    background-color: transparent;
    border: solid 1px #4AE3B5; }

/*
 ======================================================
 Customise Owl Carousel
 ======================================================
*/
.owl-dots {
  display: inline-block; }
  .home .owl-dots {
    position: relative;
    top: -200px; }
  .screenshots .owl-dots {
    padding: 50px; }

.owl-carousel.owl-theme .owl-dots .owl-dot span {
  background-color: #818181; }
  .home .owl-carousel.owl-theme .owl-dots .owl-dot span {
    background-color: #a1a1a1;
    background-color: rgba(0, 0, 0, 0.2); }

.owl-carousel.owl-theme .owl-dots .owl-dot.active span,
.owl-carousel.owl-theme .owl-dots .owl-dot:hover span {
  background-color: transparent;
  border: 2px solid #fff; }
  .home .owl-carousel.owl-theme .owl-dots .owl-dot.active span, .home
  .owl-carousel.owl-theme .owl-dots .owl-dot:hover span {
    border: 2px solid #000; }

.home .owl-carousel.owl-theme {
  max-height: 70vh; }
  .home .owl-carousel.owl-theme .owl-prev-relative,
  .home .owl-carousel.owl-theme .owl-next-relative {
    visibility: hidden;
    position: relative;
    background-color: transparent !important;
    top: -450px;
    transform: scale(2);
    opacity: 0.5; }
  .home .owl-carousel.owl-theme .owl-prev-relative {
    padding: 15px; }
  .home .owl-carousel.owl-theme .owl-next-relative {
    padding: 15px; }
  .home .owl-carousel.owl-theme:hover .owl-prev-relative {
    visibility: visible;
    left: -42%;
    transition: all 0.2s linear; }
    .home .owl-carousel.owl-theme:hover .owl-prev-relative:hover {
      opacity: 1;
      left: -41%; }
  .home .owl-carousel.owl-theme:hover .owl-next-relative {
    visibility: visible;
    right: -42%;
    transition: all 0.2s linear; }
    .home .owl-carousel.owl-theme:hover .owl-next-relative:hover {
      opacity: 1;
      right: -41.0%; }

.home .owl-carousel .owl-stage-outer {
  overflow: visible;
  height: 70vh; }

/*
 ======================================================
 waypoints styling
 ======================================================
*/
.hide {
  visibility: hidden; }

/* import libs */
/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  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: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  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: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y; }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%;
    -webkit-transform-style: preserve-3d; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    cursor: hand;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-nav [class*='owl-'] {
    color: #FFF;
    font-size: 14px;
    margin: 5px;
    padding: 4px 7px;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px; }
    .owl-theme .owl-nav [class*='owl-']:hover {
      background: #869791;
      color: #FFF;
      text-decoration: none; }
  .owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    *display: inline; }
    .owl-theme .owl-dots .owl-dot span {
      width: 10px;
      height: 10px;
      margin: 5px 7px;
      background: #D6D6D6;
      display: block;
      -webkit-backface-visibility: visible;
      transition: opacity 200ms ease;
      border-radius: 30px; }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: transparent; }

@font-face {
  font-family: "simple-line-icons";
  src: url("../fonts/simple-line-icons/Simple-Line-Icons.eot?v=2.4.0");
  src: url("../fonts/simple-line-icons/Simple-Line-Icons.eot?v=2.4.0#iefix") format("embedded-opentype"), url("../fonts/simple-line-icons/Simple-Line-Icons.woff2?v=2.4.0") format("woff2"), url("../fonts/simple-line-icons/Simple-Line-Icons.ttf?v=2.4.0") format("truetype"), url("../fonts/simple-line-icons/Simple-Line-Icons.woff?v=2.4.0") format("woff"), url("../fonts/simple-line-icons/Simple-Line-Icons.svg?v=2.4.0#simple-line-icons") format("svg");
  font-weight: normal;
  font-style: normal; }

.simple-icon-user, .simple-icon-people, .simple-icon-user-female, .simple-icon-user-follow, .simple-icon-user-following, .simple-icon-user-unfollow, .simple-icon-login, .simple-icon-logout, .simple-icon-emotsmile, .simple-icon-phone, .simple-icon-call-end, .simple-icon-call-in, .simple-icon-call-out, .simple-icon-map, .simple-icon-location-pin, .simple-icon-direction, .simple-icon-directions, .simple-icon-compass, .simple-icon-layers, .simple-icon-menu, .simple-icon-list, .simple-icon-options-vertical, .simple-icon-options, .simple-icon-arrow-down, .simple-icon-arrow-left, .simple-icon-arrow-right, .simple-icon-arrow-up, .simple-icon-arrow-up-circle, .simple-icon-arrow-left-circle, .simple-icon-arrow-right-circle, .simple-icon-arrow-down-circle, .simple-icon-check, .simple-icon-clock, .simple-icon-plus, .simple-icon-minus, .simple-icon-close, .simple-icon-event, .simple-icon-exclamation, .simple-icon-organization, .simple-icon-trophy, .simple-icon-screen-smartphone, .simple-icon-screen-desktop, .simple-icon-plane, .simple-icon-notebook, .simple-icon-mustache, .simple-icon-mouse, .simple-icon-magnet, .simple-icon-energy, .simple-icon-disc, .simple-icon-cursor, .simple-icon-cursor-move, .simple-icon-crop, .simple-icon-chemistry, .simple-icon-speedometer, .simple-icon-shield, .simple-icon-screen-tablet, .simple-icon-magic-wand, .simple-icon-hourglass, .simple-icon-graduation, .simple-icon-ghost, .simple-icon-game-controller, .simple-icon-fire, .simple-icon-eyeglass, .simple-icon-envelope-open, .simple-icon-envelope-letter, .simple-icon-bell, .simple-icon-badge, .simple-icon-anchor, .simple-icon-wallet, .simple-icon-vector, .simple-icon-speech, .simple-icon-puzzle, .simple-icon-printer, .simple-icon-present, .simple-icon-playlist, .simple-icon-pin, .simple-icon-picture, .simple-icon-handbag, .simple-icon-globe-alt, .simple-icon-globe, .simple-icon-folder-alt, .simple-icon-folder, .simple-icon-film, .simple-icon-feed, .simple-icon-drop, .simple-icon-drawer, .simple-icon-docs, .simple-icon-doc, .simple-icon-diamond, .simple-icon-cup, .simple-icon-calculator, .simple-icon-bubbles, .simple-icon-briefcase, .simple-icon-book-open, .simple-icon-basket-loaded, .simple-icon-basket, .simple-icon-bag, .simple-icon-action-undo, .simple-icon-action-redo, .simple-icon-wrench, .simple-icon-umbrella, .simple-icon-trash, .simple-icon-tag, .simple-icon-support, .simple-icon-frame, .simple-icon-size-fullscreen, .simple-icon-size-actual, .simple-icon-shuffle, .simple-icon-share-alt, .simple-icon-share, .simple-icon-rocket, .simple-icon-question, .simple-icon-pie-chart, .simple-icon-pencil, .simple-icon-note, .simple-icon-loop, .simple-icon-home, .simple-icon-grid, .simple-icon-graph, .simple-icon-microphone, .simple-icon-music-tone-alt, .simple-icon-music-tone, .simple-icon-earphones-alt, .simple-icon-earphones, .simple-icon-equalizer, .simple-icon-like, .simple-icon-dislike, .simple-icon-control-start, .simple-icon-control-rewind, .simple-icon-control-play, .simple-icon-control-pause, .simple-icon-control-forward, .simple-icon-control-end, .simple-icon-volume-1, .simple-icon-volume-2, .simple-icon-volume-off, .simple-icon-calendar, .simple-icon-bulb, .simple-icon-chart, .simple-icon-ban, .simple-icon-bubble, .simple-icon-camrecorder, .simple-icon-camera, .simple-icon-cloud-download, .simple-icon-cloud-upload, .simple-icon-envelope, .simple-icon-eye, .simple-icon-flag, .simple-icon-heart, .simple-icon-info, .simple-icon-key, .simple-icon-link, .simple-icon-lock, .simple-icon-lock-open, .simple-icon-magnifier, .simple-icon-magnifier-add, .simple-icon-magnifier-remove, .simple-icon-paper-clip, .simple-icon-paper-plane, .simple-icon-power, .simple-icon-refresh, .simple-icon-reload, .simple-icon-settings, .simple-icon-star, .simple-icon-symbol-female, .simple-icon-symbol-male, .simple-icon-target, .simple-icon-credit-card, .simple-icon-paypal, .simple-icon-social-tumblr, .simple-icon-social-twitter, .simple-icon-social-facebook, .simple-icon-social-instagram, .simple-icon-social-linkedin, .simple-icon-social-pinterest, .simple-icon-social-github, .simple-icon-social-google, .simple-icon-social-reddit, .simple-icon-social-skype, .simple-icon-social-dribbble, .simple-icon-social-behance, .simple-icon-social-foursqare, .simple-icon-social-soundcloud, .simple-icon-social-spotify, .simple-icon-social-stumbleupon, .simple-icon-social-youtube, .simple-icon-social-dropbox, .simple-icon-social-vkontakte, .simple-icon-social-steam {
  font-family: "simple-line-icons";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.simple-icon-user:before {
  content: "\e005"; }

.simple-icon-people:before {
  content: "\e001"; }

.simple-icon-user-female:before {
  content: "\e000"; }

.simple-icon-user-follow:before {
  content: "\e002"; }

.simple-icon-user-following:before {
  content: "\e003"; }

.simple-icon-user-unfollow:before {
  content: "\e004"; }

.simple-icon-login:before {
  content: "\e066"; }

.simple-icon-logout:before {
  content: "\e065"; }

.simple-icon-emotsmile:before {
  content: "\e021"; }

.simple-icon-phone:before {
  content: "\e600"; }

.simple-icon-call-end:before {
  content: "\e048"; }

.simple-icon-call-in:before {
  content: "\e047"; }

.simple-icon-call-out:before {
  content: "\e046"; }

.simple-icon-map:before {
  content: "\e033"; }

.simple-icon-location-pin:before {
  content: "\e096"; }

.simple-icon-direction:before {
  content: "\e042"; }

.simple-icon-directions:before {
  content: "\e041"; }

.simple-icon-compass:before {
  content: "\e045"; }

.simple-icon-layers:before {
  content: "\e034"; }

.simple-icon-menu:before {
  content: "\e601"; }

.simple-icon-list:before {
  content: "\e067"; }

.simple-icon-options-vertical:before {
  content: "\e602"; }

.simple-icon-options:before {
  content: "\e603"; }

.simple-icon-arrow-down:before {
  content: "\e604"; }

.simple-icon-arrow-left:before {
  content: "\e605"; }

.simple-icon-arrow-right:before {
  content: "\e606"; }

.simple-icon-arrow-up:before {
  content: "\e607"; }

.simple-icon-arrow-up-circle:before {
  content: "\e078"; }

.simple-icon-arrow-left-circle:before {
  content: "\e07a"; }

.simple-icon-arrow-right-circle:before {
  content: "\e079"; }

.simple-icon-arrow-down-circle:before {
  content: "\e07b"; }

.simple-icon-check:before {
  content: "\e080"; }

.simple-icon-clock:before {
  content: "\e081"; }

.simple-icon-plus:before {
  content: "\e095"; }

.simple-icon-minus:before {
  content: "\e615"; }

.simple-icon-close:before {
  content: "\e082"; }

.simple-icon-event:before {
  content: "\e619"; }

.simple-icon-exclamation:before {
  content: "\e617"; }

.simple-icon-organization:before {
  content: "\e616"; }

.simple-icon-trophy:before {
  content: "\e006"; }

.simple-icon-screen-smartphone:before {
  content: "\e010"; }

.simple-icon-screen-desktop:before {
  content: "\e011"; }

.simple-icon-plane:before {
  content: "\e012"; }

.simple-icon-notebook:before {
  content: "\e013"; }

.simple-icon-mustache:before {
  content: "\e014"; }

.simple-icon-mouse:before {
  content: "\e015"; }

.simple-icon-magnet:before {
  content: "\e016"; }

.simple-icon-energy:before {
  content: "\e020"; }

.simple-icon-disc:before {
  content: "\e022"; }

.simple-icon-cursor:before {
  content: "\e06e"; }

.simple-icon-cursor-move:before {
  content: "\e023"; }

.simple-icon-crop:before {
  content: "\e024"; }

.simple-icon-chemistry:before {
  content: "\e026"; }

.simple-icon-speedometer:before {
  content: "\e007"; }

.simple-icon-shield:before {
  content: "\e00e"; }

.simple-icon-screen-tablet:before {
  content: "\e00f"; }

.simple-icon-magic-wand:before {
  content: "\e017"; }

.simple-icon-hourglass:before {
  content: "\e018"; }

.simple-icon-graduation:before {
  content: "\e019"; }

.simple-icon-ghost:before {
  content: "\e01a"; }

.simple-icon-game-controller:before {
  content: "\e01b"; }

.simple-icon-fire:before {
  content: "\e01c"; }

.simple-icon-eyeglass:before {
  content: "\e01d"; }

.simple-icon-envelope-open:before {
  content: "\e01e"; }

.simple-icon-envelope-letter:before {
  content: "\e01f"; }

.simple-icon-bell:before {
  content: "\e027"; }

.simple-icon-badge:before {
  content: "\e028"; }

.simple-icon-anchor:before {
  content: "\e029"; }

.simple-icon-wallet:before {
  content: "\e02a"; }

.simple-icon-vector:before {
  content: "\e02b"; }

.simple-icon-speech:before {
  content: "\e02c"; }

.simple-icon-puzzle:before {
  content: "\e02d"; }

.simple-icon-printer:before {
  content: "\e02e"; }

.simple-icon-present:before {
  content: "\e02f"; }

.simple-icon-playlist:before {
  content: "\e030"; }

.simple-icon-pin:before {
  content: "\e031"; }

.simple-icon-picture:before {
  content: "\e032"; }

.simple-icon-handbag:before {
  content: "\e035"; }

.simple-icon-globe-alt:before {
  content: "\e036"; }

.simple-icon-globe:before {
  content: "\e037"; }

.simple-icon-folder-alt:before {
  content: "\e039"; }

.simple-icon-folder:before {
  content: "\e089"; }

.simple-icon-film:before {
  content: "\e03a"; }

.simple-icon-feed:before {
  content: "\e03b"; }

.simple-icon-drop:before {
  content: "\e03e"; }

.simple-icon-drawer:before {
  content: "\e03f"; }

.simple-icon-docs:before {
  content: "\e040"; }

.simple-icon-doc:before {
  content: "\e085"; }

.simple-icon-diamond:before {
  content: "\e043"; }

.simple-icon-cup:before {
  content: "\e044"; }

.simple-icon-calculator:before {
  content: "\e049"; }

.simple-icon-bubbles:before {
  content: "\e04a"; }

.simple-icon-briefcase:before {
  content: "\e04b"; }

.simple-icon-book-open:before {
  content: "\e04c"; }

.simple-icon-basket-loaded:before {
  content: "\e04d"; }

.simple-icon-basket:before {
  content: "\e04e"; }

.simple-icon-bag:before {
  content: "\e04f"; }

.simple-icon-action-undo:before {
  content: "\e050"; }

.simple-icon-action-redo:before {
  content: "\e051"; }

.simple-icon-wrench:before {
  content: "\e052"; }

.simple-icon-umbrella:before {
  content: "\e053"; }

.simple-icon-trash:before {
  content: "\e054"; }

.simple-icon-tag:before {
  content: "\e055"; }

.simple-icon-support:before {
  content: "\e056"; }

.simple-icon-frame:before {
  content: "\e038"; }

.simple-icon-size-fullscreen:before {
  content: "\e057"; }

.simple-icon-size-actual:before {
  content: "\e058"; }

.simple-icon-shuffle:before {
  content: "\e059"; }

.simple-icon-share-alt:before {
  content: "\e05a"; }

.simple-icon-share:before {
  content: "\e05b"; }

.simple-icon-rocket:before {
  content: "\e05c"; }

.simple-icon-question:before {
  content: "\e05d"; }

.simple-icon-pie-chart:before {
  content: "\e05e"; }

.simple-icon-pencil:before {
  content: "\e05f"; }

.simple-icon-note:before {
  content: "\e060"; }

.simple-icon-loop:before {
  content: "\e064"; }

.simple-icon-home:before {
  content: "\e069"; }

.simple-icon-grid:before {
  content: "\e06a"; }

.simple-icon-graph:before {
  content: "\e06b"; }

.simple-icon-microphone:before {
  content: "\e063"; }

.simple-icon-music-tone-alt:before {
  content: "\e061"; }

.simple-icon-music-tone:before {
  content: "\e062"; }

.simple-icon-earphones-alt:before {
  content: "\e03c"; }

.simple-icon-earphones:before {
  content: "\e03d"; }

.simple-icon-equalizer:before {
  content: "\e06c"; }

.simple-icon-like:before {
  content: "\e068"; }

.simple-icon-dislike:before {
  content: "\e06d"; }

.simple-icon-control-start:before {
  content: "\e06f"; }

.simple-icon-control-rewind:before {
  content: "\e070"; }

.simple-icon-control-play:before {
  content: "\e071"; }

.simple-icon-control-pause:before {
  content: "\e072"; }

.simple-icon-control-forward:before {
  content: "\e073"; }

.simple-icon-control-end:before {
  content: "\e074"; }

.simple-icon-volume-1:before {
  content: "\e09f"; }

.simple-icon-volume-2:before {
  content: "\e0a0"; }

.simple-icon-volume-off:before {
  content: "\e0a1"; }

.simple-icon-calendar:before {
  content: "\e075"; }

.simple-icon-bulb:before {
  content: "\e076"; }

.simple-icon-chart:before {
  content: "\e077"; }

.simple-icon-ban:before {
  content: "\e07c"; }

.simple-icon-bubble:before {
  content: "\e07d"; }

.simple-icon-camrecorder:before {
  content: "\e07e"; }

.simple-icon-camera:before {
  content: "\e07f"; }

.simple-icon-cloud-download:before {
  content: "\e083"; }

.simple-icon-cloud-upload:before {
  content: "\e084"; }

.simple-icon-envelope:before {
  content: "\e086"; }

.simple-icon-eye:before {
  content: "\e087"; }

.simple-icon-flag:before {
  content: "\e088"; }

.simple-icon-heart:before {
  content: "\e08a"; }

.simple-icon-info:before {
  content: "\e08b"; }

.simple-icon-key:before {
  content: "\e08c"; }

.simple-icon-link:before {
  content: "\e08d"; }

.simple-icon-lock:before {
  content: "\e08e"; }

.simple-icon-lock-open:before {
  content: "\e08f"; }

.simple-icon-magnifier:before {
  content: "\e090"; }

.simple-icon-magnifier-add:before {
  content: "\e091"; }

.simple-icon-magnifier-remove:before {
  content: "\e092"; }

.simple-icon-paper-clip:before {
  content: "\e093"; }

.simple-icon-paper-plane:before {
  content: "\e094"; }

.simple-icon-power:before {
  content: "\e097"; }

.simple-icon-refresh:before {
  content: "\e098"; }

.simple-icon-reload:before {
  content: "\e099"; }

.simple-icon-settings:before {
  content: "\e09a"; }

.simple-icon-star:before {
  content: "\e09b"; }

.simple-icon-symbol-female:before {
  content: "\e09c"; }

.simple-icon-symbol-male:before {
  content: "\e09d"; }

.simple-icon-target:before {
  content: "\e09e"; }

.simple-icon-credit-card:before {
  content: "\e025"; }

.simple-icon-paypal:before {
  content: "\e608"; }

.simple-icon-social-tumblr:before {
  content: "\e00a"; }

.simple-icon-social-twitter:before {
  content: "\e009"; }

.simple-icon-social-facebook:before {
  content: "\e00b"; }

.simple-icon-social-instagram:before {
  content: "\e609"; }

.simple-icon-social-linkedin:before {
  content: "\e60a"; }

.simple-icon-social-pinterest:before {
  content: "\e60b"; }

.simple-icon-social-github:before {
  content: "\e60c"; }

.simple-icon-social-google:before {
  content: "\e60d"; }

.simple-icon-social-reddit:before {
  content: "\e60e"; }

.simple-icon-social-skype:before {
  content: "\e60f"; }

.simple-icon-social-dribbble:before {
  content: "\e00d"; }

.simple-icon-social-behance:before {
  content: "\e610"; }

.simple-icon-social-foursqare:before {
  content: "\e611"; }

.simple-icon-social-soundcloud:before {
  content: "\e612"; }

.simple-icon-social-spotify:before {
  content: "\e613"; }

.simple-icon-social-stumbleupon:before {
  content: "\e614"; }

.simple-icon-social-youtube:before {
  content: "\e008"; }

.simple-icon-social-dropbox:before {
  content: "\e00c"; }

.simple-icon-social-vkontakte:before {
  content: "\e618"; }

.simple-icon-social-steam:before {
  content: "\e620"; }

/* Components */
.tour .featureGroup {
  padding: 25px; }

.tour .featureGroup.alt, .tour .featureGroup:first-child {
  padding: 50px 0 25px 0; }

.tour .featureGroup:last-child {
  padding: 25px 0 50px 0; }

@media all and (min-width: 992px) {
  .tour .featureGroup.alt {
    position: relative;
    height: 600px;
    width: 100%; }
    .tour .featureGroup.alt .imgContainer,
    .tour .featureGroup.alt .textContainer {
      position: absolute; }
    .tour .featureGroup.alt .imgContainer {
      right: 10%; }
    .tour .featureGroup.alt .textContainer {
      left: 10%; } }

.featureGroup .imgContainer,
.featureGroup .textContainer {
  display: inline-block; }
  @media all and (max-width: 991px) {
    .tour .featureGroup .imgContainer, .tour
    .featureGroup .textContainer {
      display: block; } }

.featureGroup .imgContainer {
  max-height: 100%;
  width: 30%; }
  .featureGroup .imgContainer.alt {
    padding: 0 2% 0 10%; }
  @media all and (max-width: 991px) {
    .tour .featureGroup .imgContainer {
      display: block;
      min-width: 70%;
      height: auto;
      margin: 0 auto; }
      .tour .featureGroup .imgContainer.alt {
        padding: 2% 10% 2% 2%; } }
  .featureGroup .imgContainer img {
    object-fit: contain; }
    .tour .featureGroup .imgContainer img {
      box-shadow: 0px 0px 40px #919191;
      max-height: 450px; }

.featureGroup .textContainer {
  vertical-align: top;
  width: 40%;
  margin-left: 6.5%; }
  @media all and (max-width: 991px) {
    .tour .featureGroup .textContainer {
      display: block;
      min-width: 70%;
      max-width: 800px;
      height: auto;
      margin: 0 auto 50px auto; } }
  @media all and (max-width: 695px) {
    .tour .featureGroup .textContainer {
      display: block;
      min-width: 70%;
      max-width: 600px;
      height: auto;
      margin: 0 auto 50px auto; } }

.featureGroup .textGroupOne {
  text-align: left; }
  .featureGroup .textGroupOne h2 {
    color: #000;
    font-size: 40px;
    font-weight: 400; }
  .featureGroup .textGroupOne p {
    color: #818181;
    font-size: 20px;
    line-height: 30px; }

.carouselFeatureGroup {
  position: relative; }
  @media all and (max-width: 795px) {
    .carouselFeatureGroup {
      max-height: none; } }
  @media all and (min-width: 796px) {
    .carouselFeatureGroup {
      max-height: 80vh; } }
  .carouselFeatureGroup .imgContainer,
  .carouselFeatureGroup .textContainer {
    display: inline-block; }
    @media all and (max-width: 795px) {
      .carouselFeatureGroup .imgContainer,
      .carouselFeatureGroup .textContainer {
        display: block; } }
    .carouselFeatureGroup .imgContainer .imgContainer,
    .carouselFeatureGroup .textContainer .imgContainer {
      position: relative; }
      @media all and (max-width: 795px) {
        .carouselFeatureGroup .imgContainer .imgContainer,
        .carouselFeatureGroup .textContainer .imgContainer {
          position: absolute;
          top: 50vh;
          width: 80%;
          margin: 10%; } }
      @media all and (min-width: 796px) {
        .carouselFeatureGroup .imgContainer .imgContainer,
        .carouselFeatureGroup .textContainer .imgContainer {
          width: 40%; } }
  .carouselFeatureGroup .textContainer {
    color: #fff;
    vertical-align: top; }
    @media all and (max-width: 795px) {
      .carouselFeatureGroup .textContainer {
        position: absolute;
        top: -50px;
        text-align: center;
        width: 90%;
        margin: 3% 5%; }
        .carouselFeatureGroup .textContainer h2 {
          font-size: 30px;
          font-weight: 600; }
        .carouselFeatureGroup .textContainer p {
          font-size: 20px;
          line-height: 30px; } }
    @media all and (min-width: 796px) {
      .carouselFeatureGroup .textContainer {
        width: 40%;
        margin: 5%;
        text-align: left; }
        .carouselFeatureGroup .textContainer h2 {
          font-size: 40px;
          font-weight: 600; }
        .carouselFeatureGroup .textContainer p {
          font-size: 30px;
          line-height: 45px; } }
  .carouselFeatureGroup img.mobile-img {
    position: relative; }
    @media all and (max-width: 795px) {
      .carouselFeatureGroup img.mobile-img {
        top: 25vh;
        width: 80%;
        margin: 10%;
        height: auto; } }
    @media all and (min-width: 796px) {
      .carouselFeatureGroup img.mobile-img {
        float: right;
        height: 80vh;
        width: auto; } }

.pricingGroupsContainer {
  margin-left: 2.5%;
  width: 95%; }
  @media all and (min-width: 1132px) {
    .pricingGroupsContainer {
      width: 1075px;
      margin: 0 auto 50px auto; } }
  .pricingGroupsContainer .pricingGroup {
    position: relative;
    vertical-align: top;
    display: inline-block;
    width: 23%;
    margin: 1%;
    padding: 30px 30px;
    border-radius: 5px;
    border: solid 2px #f1f1f1;
    color: #818181;
    font-size: 18px;
    line-height: 30px; }
    @media all and (max-width: 749px) {
      .pricingGroupsContainer .pricingGroup {
        display: block;
        width: 90%;
        margin: 50px 5%;
        padding: 50px 50px; } }
    @media all and (min-width: 750px) and (max-width: 1131px) {
      .pricingGroupsContainer .pricingGroup {
        width: 46%;
        margin: 50px 2%;
        padding: 40px 40px; } }
    @media all and (min-width: 1132px) {
      .pricingGroupsContainer .pricingGroup {
        width: 23%;
        margin: 1%;
        padding: 30px 30px; } }
    .pricingGroupsContainer .pricingGroup.bestValue {
      border-color: #4AE3B5; }
    .pricingGroupsContainer .pricingGroup .bestValue {
      position: absolute;
      padding: 7.5px 20px;
      border-radius: 3px;
      background-color: #4AE3B5;
      color: #fff; }
      @media all and (max-width: 749px) {
        .pricingGroupsContainer .pricingGroup .bestValue {
          display: block;
          top: -40px;
          left: 38%; } }
      @media all and (min-width: 750px) and (max-width: 1131px) {
        .pricingGroupsContainer .pricingGroup .bestValue {
          top: -40px;
          left: 35%; } }
      @media all and (min-width: 1132px) {
        .pricingGroupsContainer .pricingGroup .bestValue {
          top: -40px;
          left: 25%; } }
      .pricingGroupsContainer .pricingGroup .bestValue:after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 0;
        height: 0;
        border-top: solid 15px #4AE3B5;
        border-left: solid 15px transparent;
        border-right: solid 15px transparent; }
    .pricingGroupsContainer .pricingGroup .upper {
      border-bottom: solid 1px #f1f1f1; }
    .pricingGroupsContainer .pricingGroup h5,
    .pricingGroupsContainer .pricingGroup .price {
      color: #000; }
    .pricingGroupsContainer .pricingGroup .price {
      position: relative;
      height: 60px;
      display: inline-block; }
      .pricingGroupsContainer .pricingGroup .price .dollar {
        position: absolute;
        top: -10px;
        left: -15px; }
      .pricingGroupsContainer .pricingGroup .price .value {
        line-height: 50px;
        font-size: 50px;
        margin: 0; }
      .pricingGroupsContainer .pricingGroup .price .month {
        position: relative;
        top: 5px;
        left: 5px; }
    .pricingGroupsContainer .pricingGroup h5 {
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      margin-bottom: 0px;
      margin-top: 0px; }
    .pricingGroupsContainer .pricingGroup .lower p {
      margin: 5px; }
    .pricingGroupsContainer .pricingGroup .lower p:first-child {
      margin-top: 15px; }
    .pricingGroupsContainer .pricingGroup .lower p:last-child {
      margin-bottom: 15px; }

.quoteGroup {
  vertical-align: top;
  padding-bottom: 30px; }
  @media all and (max-width: 750px) {
    .quoteGroup {
      display: block;
      width: 100%;
      padding-left: 5%;
      padding-right: 5%; } }
  @media all and (min-width: 750px) and (max-width: 991px) {
    .quoteGroup {
      padding-left: 20%;
      padding-right: 20%; } }
  @media all and (min-width: 992px) {
    .quoteGroup {
      display: inline-block;
      width: 30%; } }
  .quoteGroup .quote {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    margin: 10px;
    padding: 35px;
    color: #818181;
    text-align: left;
    font-style: italic;
    font-size: 17px;
    line-height: 30px; }
    .quoteGroup .quote p {
      margin: 0;
      padding: 0;
      quotes: "“" "”" "‘" "’"; }
      .quoteGroup .quote p:before {
        content: open-quote; }
      .quoteGroup .quote p:after {
        content: close-quote; }
    .quoteGroup .quote:after {
      content: '';
      position: absolute;
      top: 100%;
      left: -80%;
      right: 0;
      margin: 0 auto;
      width: 0;
      height: 0;
      border-top: solid 15px #fff;
      border-left: solid 15px transparent;
      border-right: solid 15px transparent; }
  .quoteGroup .speaker {
    color: rgba(255, 255, 255, 0.5);
    font-weight: 400;
    text-align: left;
    font-size: 17.5px;
    line-height: 17.5px;
    margin: 17px 20px; }
    .quoteGroup .speaker p {
      margin: 0; }
    .quoteGroup .speaker span {
      color: #fff; }
    .quoteGroup .speaker .role {
      padding-top: 0;
      font-size: 15px;
      line-height: 15px; }

.subheader {
  padding-top: 70px;
  margin-bottom: 50px;
  line-height: 46px; }
  @media all and (max-width: 750px) {
    .subheader {
      width: 90%;
      margin-left: 5%; } }
  @media all and (min-width: 750px) and (max-width: 991px) {
    .subheader {
      width: 75%;
      margin-left: 12.5%; } }
  @media all and (min-width: 992px) {
    .subheader {
      width: 60%;
      margin-left: 20%; } }
  .screenshots .subheader {
    margin-bottom: 0; }
  .subheader h3 {
    text-transform: uppercase;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 40px;
    font-weight: 300;
    color: #444;
    margin: 65px 0 20px 0; }
    .screenshots .subheader h3,
    .testimonial .subheader h3 {
      color: #fff; }
  .subheader h4 {
    font-family: "Work Sans", Arial, sans-serif;
    font-size: 30px;
    font-weight: 300;
    color: #818181;
    margin: 20px 0; }
    .testimonial .subheader h4 {
      color: #fff;
      color: rgba(255, 255, 255, 0.5); }

.textGroupTwo, .textGroupThree .textContainer {
  font-family: "Work Sans", Arial, sans-serif;
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
  color: #818181; }
  .textGroupTwo h5, .textGroupThree .textContainer h5 {
    font-family: "Work Sans", Arial, sans-serif;
    font-size: 20px;
    line-height: 22px;
    font-weight: 400;
    color: #444; }

@media all and (max-width: 991px) {
  .textGroupTwo {
    display: block;
    width: 100%;
    padding-top: 25px;
    padding-right: 20%;
    padding-left: 20%; }
    .textGroupTwo:last-child {
      padding-bottom: 50px; } }

@media all and (min-width: 992px) {
  .textGroupTwo {
    display: inline-block;
    width: 30%;
    padding: 0 30px 50px 30px; } }

.textGroupThree {
  margin-bottom: 25px; }
  @media all and (max-width: 550px) {
    .textGroupThree {
      display: block;
      width: 100%; } }
  @media all and (min-width: 551px) and (max-width: 992px) {
    .textGroupThree {
      display: inline-block;
      width: 50%; } }
  @media all and (min-width: 993px) {
    .textGroupThree {
      display: inline-block;
      width: 33%; } }
  .textGroupThree .simpleIcon {
    vertical-align: top;
    display: inline-block;
    height: 100%;
    width: 20%;
    padding: 8px;
    color: #4AE3B5;
    font-size: 40px; }
  .textGroupThree .textContainer {
    vertical-align: top;
    text-align: left;
    display: inline-block;
    padding-right: 20px;
    padding-left: 10px;
    width: 80%; }
    .textGroupThree .textContainer h5 {
      font-size: 18px;
      margin-top: 0;
      margin-bottom: 0; }
    .textGroupThree .textContainer p {
      font-size: 17px;
      margin-top: 5px; }

/* Sections */
.home {
  width: 100%;
  background-color: #ba78ff; }
  @media all and (max-width: 795px) {
    .home {
      height: 170vh; } }
  @media all and (min-width: 796px) {
    .home {
      height: 75vh; } }
  .home #carouselOne {
    z-index: 1;
    margin-top: 40px;
    width: 100%; }

/**
 *  4 States
 *
 *  Regular top expanded
 *  Regular top collapsed
 *  fixed top expanded
 *  fixed top collapsed
 *
 **/
.navigation {
  z-index: 9; }
  .navigation > .container {
    background-color: #ba78ff;
    position: relative;
    width: 100%; }
    .navigation > .container .brand-container {
      text-align: left;
      position: absolute;
      display: inline-block;
      top: 0px;
      left: 0px;
      z-index: 9;
      height: 70px;
      width: 20%; }
      .navigation > .container .brand-container .menu {
        display: none;
        height: 30px;
        width: 30px;
        top: 22px;
        right: 40px;
        position: absolute; }
        .navigation > .container .brand-container .menu #menu-icon {
          height: 30px;
          width: 30px;
          position: relative;
          transition: .5s ease-in-out;
          cursor: pointer; }
          .navigation > .container .brand-container .menu #menu-icon span {
            display: block;
            position: absolute;
            height: 3px;
            width: 100%;
            background: #4AE3B5;
            opacity: 1;
            transform: rotate(0deg);
            transition: .25s ease-in-out;
            transform-origin: left center; }
            .navigation > .container .brand-container .menu #menu-icon span:nth-child(1) {
              top: 5px;
              transition: all 0.2s linear; }
            .navigation > .container .brand-container .menu #menu-icon span:nth-child(2) {
              top: 12.5px; }
            .navigation > .container .brand-container .menu #menu-icon span:nth-child(3) {
              top: 21px;
              transition: all 0.2s linear; }
          .navigation > .container .brand-container .menu #menu-icon:hover > span:nth-child(1) {
            top: 0; }
          .navigation > .container .brand-container .menu #menu-icon:hover > span:nth-child(3) {
            top: 25px; }
          .navigation > .container .brand-container .menu #menu-icon.open span:nth-child(1) {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
            top: 2.5px;
            left: 0px; }
          .navigation > .container .brand-container .menu #menu-icon.open span:nth-child(2) {
            width: 0%;
            opacity: 0; }
          .navigation > .container .brand-container .menu #menu-icon.open span:nth-child(3) {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
            top: 22.5px;
            left: 0px; }
      .navigation > .container .brand-container .brand {
        z-index: 9;
        position: absolute;
        top: 0;
        color: white;
        padding: 20px;
        font-size: 30px; }
        .navigation > .container .brand-container .brand > span {
          color: #4AE3B5; }
    .navigation > .container .nav-links {
      position: absolute;
      top: 0;
      right: 0;
      width: 80%; }
      .navigation > .container .nav-links > ul {
        text-align: right;
        list-style: none; }
        .navigation > .container .nav-links > ul > li {
          position: relative;
          display: inline-block;
          text-align: right;
          padding: 7px 0 3px 0;
          margin: 0 6px; }
          .navigation > .container .nav-links > ul > li > a {
            display: inline-block;
            text-decoration: none;
            color: white;
            opacity: 0.5; }
          .navigation > .container .nav-links > ul > li.active > a,
          .navigation > .container .nav-links > ul > li:hover > a {
            opacity: 1; }
          .navigation > .container .nav-links > ul > li:hover {
            opacity: 1;
            cursor: pointer; }
          .navigation > .container .nav-links > ul > li:before {
            content: "";
            position: absolute;
            width: 100%;
            height: 2px;
            bottom: 0;
            left: 0;
            background-color: #4AE3B5;
            visibility: hidden;
            transform: scaleX(0);
            transition: all 0.2s ease-in-out 0s; }
          .navigation > .container .nav-links > ul > li:hover:before {
            visibility: visible;
            transform: scaleX(1); }
          .navigation > .container .nav-links > ul > li.active {
            opacity: 1; }
          .navigation > .container .nav-links > ul > li.active:before {
            content: "";
            position: absolute;
            width: 100%;
            height: 2px;
            bottom: 0;
            left: 0;
            background-color: #4AE3B5;
            visibility: hidden;
            transform: scaleX(1);
            transition: all 0.2s ease-in-out 0s;
            visibility: visible;
            color: #4AE3B5; }
  @media all and (max-width: 991px) {
    .navigation > .container .brand-container {
      box-shadow: 0 10px 10px 0px rgba(0, 0, 0, 0.15);
      z-index: 9;
      display: block;
      width: 100%;
      background-color: #fff; }
      .navigation > .container .brand-container .menu {
        display: block;
        height: 30px;
        width: 30px;
        top: 22px;
        right: 40px;
        position: absolute; }
        .navigation > .container .brand-container .menu #menu-icon {
          height: 30px;
          width: 30px;
          position: relative;
          transition: .5s ease-in-out;
          cursor: pointer; }
          .navigation > .container .brand-container .menu #menu-icon span {
            display: block;
            position: absolute;
            height: 3px;
            width: 100%;
            background: #4AE3B5;
            opacity: 1;
            transform: rotate(0deg);
            transition: .25s ease-in-out;
            transform-origin: left center; }
            .navigation > .container .brand-container .menu #menu-icon span:nth-child(1) {
              top: 5px;
              transition: all 0.2s linear; }
            .navigation > .container .brand-container .menu #menu-icon span:nth-child(2) {
              top: 12.5px; }
            .navigation > .container .brand-container .menu #menu-icon span:nth-child(3) {
              top: 21px;
              transition: all 0.2s linear; }
          .navigation > .container .brand-container .menu #menu-icon:hover > span:nth-child(1) {
            top: 0; }
          .navigation > .container .brand-container .menu #menu-icon:hover > span:nth-child(3) {
            top: 25px; }
          .navigation > .container .brand-container .menu #menu-icon.open span:nth-child(1) {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
            top: 2.5px;
            left: 0px; }
          .navigation > .container .brand-container .menu #menu-icon.open span:nth-child(2) {
            width: 0%;
            opacity: 0; }
          .navigation > .container .brand-container .menu #menu-icon.open span:nth-child(3) {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
            top: 22.5px;
            left: 0px; }
      .navigation > .container .brand-container .brand {
        z-index: 9;
        color: #4AE3B5; }
      .navigation > .container .brand-container.unshadow {
        box-shadow: none; }
    .navigation > .container .linksContainer {
      z-index: 8;
      transition: top 0.2s ease-in-out;
      position: relative;
      top: 70px;
      padding: 0 20px 10px 20px;
      width: 100%;
      background-color: #fff;
      box-shadow: 0 10px 10px 0px rgba(0, 0, 0, 0.15); }
      .navigation > .container .linksContainer .nav-links {
        position: relative;
        border-top: 2px solid #f1f1f1;
        top: 0;
        left: 0;
        width: 100%; }
        .navigation > .container .linksContainer .nav-links > ul {
          padding: 0; }
          .navigation > .container .linksContainer .nav-links > ul > li {
            display: block;
            text-align: left;
            margin: 0; }
            .navigation > .container .linksContainer .nav-links > ul > li:hover:before, .navigation > .container .linksContainer .nav-links > ul > li.active:before {
              visibility: hidden; }
            .navigation > .container .linksContainer .nav-links > ul > li > a {
              color: #444;
              opacity: 0.5; }
            .navigation > .container .linksContainer .nav-links > ul > li.active > a,
            .navigation > .container .linksContainer .nav-links > ul > li:hover > a {
              color: #4AE3B5;
              opacity: 1; }
    .navigation > .container .linksContainer.hidden {
      top: -355px;
      transition: top 0.2s ease-in-out; } }
  @media all and (min-width: 900px) and (max-width: 991px) {
    .navigation .brand {
      left: 5px; }
    .navigation .nav-links {
      padding-right: 5px; } }
  @media all and (min-width: 992px) and (max-width: 1200px) {
    .navigation .brand {
      left: 20px; }
    .navigation .nav-links {
      padding-right: 20px; } }
  @media all and (min-width: 1200px) {
    .navigation .brand {
      left: 150px; }
    .navigation .nav-links {
      padding-right: 150px; } }

.navigation.fixed {
  position: fixed;
  top: -70px;
  left: 0;
  width: 100%; }
  .navigation.fixed > .container > .brand-container {
    background-color: #fff; }
    .navigation.fixed > .container > .brand-container .brand {
      color: #4AE3B5; }
  .navigation.fixed > .container .linksContainer {
    background-color: #fff; }
    .navigation.fixed > .container .linksContainer li a {
      color: #444;
      opacity: 0.5; }
    .navigation.fixed > .container .linksContainer li.active > a,
    .navigation.fixed > .container .linksContainer li:hover > a {
      color: #4AE3B5;
      opacity: 1; }
  .navigation.fixed > .container {
    background-color: transparent; }
  .navigation.fixed.show > .container {
    background-color: #fff; }
    @media all and (max-width: 991px) {
      .navigation.fixed.show > .container {
        background-color: transparent; } }
  .navigation.fixed.show {
    top: 0;
    transition: top 0.2s ease-in-out;
    box-shadow: 0 5px 5px 0px rgba(0, 0, 0, 0.15); }
    @media all and (max-width: 991px) {
      .navigation.fixed.show {
        box-shadow: none; } }

.screenshots {
  background: #303841; }
  .screenshots #carouselTwo .owl-stage-outer {
    padding-top: 30px;
    padding-bottom: 30px; }
  .screenshots #carouselTwo .owl-stage .owl-item {
    transform: scale(0.85);
    transition: transform 0.3s ease-in-out; }
    .screenshots #carouselTwo .owl-stage .owl-item .screenshotImage {
      box-shadow: 0px 0px 30px #000;
      overflow: visible; }
      @media all and (max-width: 685px) {
        .screenshots #carouselTwo .owl-stage .owl-item .screenshotImage {
          box-shadow: none;
          padding: 0 30px; } }
  .screenshots #carouselTwo .owl-stage .owl-item.active.center {
    transform: scale(1); }
  .screenshots #carouselTwo .owl-carousel .owl-stage-outer {
    overflow: visible; }
  .screenshots #carouselTwo .owl-item img {
    border-radius: 5px; }

.tour {
  background-color: transparent; }

.features {
  background-color: #fafafa; }
  .features .featuresContainer {
    position: relative; }
    @media all and (max-width: 991px) {
      .features .featuresContainer {
        padding-left: 30px;
        padding-right: 10px; } }

.testimonial {
  background-color: #ba78ff;
  padding-left: 12%;
  padding-right: 12%; }
  @media all and (max-width: 750px) {
    .testimonial {
      padding-left: 5%;
      padding-right: 5%; } }
  @media all and (min-width: 750px) and (max-width: 991px) {
    .testimonial {
      padding-left: 5%;
      padding-right: 5%; } }
  @media all and (min-width: 992px) and (max-width: 1300px) {
    .testimonial {
      padding-left: 10%;
      padding-right: 10%; } }

.getStarted {
  position: relative;
  background-image: url("../images/hero.jpg");
  background-size: cover; }
  .getStarted h4 {
    position: relative;
    display: block;
    z-index: 2;
    color: #fff;
    padding-top: 100px;
    padding-bottom: 30px;
    font-size: 30px;
    font-weight: 500; }
    @media all and (max-width: 799px) {
      .getStarted h4 {
        width: 90%;
        margin: 5%; } }
    @media all and (min-width: 800px) {
      .getStarted h4 {
        width: 730px;
        margin: 0 auto; } }
  .getStarted button {
    position: relative;
    z-index: 2;
    margin-bottom: 30px; }
  .getStarted .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #000;
    opacity: 0.3; }

.footer {
  color: #818181;
  font-size: 22px;
  line-height: 25px; }
  .footer p {
    margin: 10px; }
    .footer p:first-child {
      margin-top: 50px; }
    .footer p span,
    .footer p a {
      color: #4AE3B5; }
    .footer p a {
      text-decoration: none; }
      .footer p a:hover {
        text-decoration: underline; }
  .footer .socialItem {
    margin: 40px 10px 100px 10px;
    display: inline-block;
    background-color: #4AE3B5;
    padding: 14px 16px;
    border-radius: 50%;
    transition: background-color 0.2s linear; }
    .footer .socialItem p {
      display: inline-block; }
    .footer .socialItem a {
      color: #fff;
      text-decoration: none; }
    .footer .socialItem:hover {
      background-color: #393e46; }
    .footer .socialItem:first-child {
      padding: 14px 18px; }

.services {
  background-color: #f4f4f4; }
  .services .simpleIcon {
    display: inline-block;
    padding: 22px 22px 12.6px 22px;
    border-radius: 50%;
    border-style: solid;
    border-width: 3px; }
    .services .simpleIcon span {
      font-weight: 400;
      font-size: 40px; }
  .services .green {
    color: #2aaf67;
    border-color: #2aaf67; }
  .services .blue {
    color: #00bff3;
    border-color: #00bff3; }
  .services .red {
    color: #e52b50;
    border-color: #e52b50; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsImJhc2UvX3ZhcnMuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLmNhcm91c2VsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLnRoZW1lLmRlZmF1bHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3RoZW1lLmRlZmF1bHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3RoZW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWxpbmUtaWNvbnMvc2Nzcy9zaW1wbGUtbGluZS1pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fYWxsLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlR3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsRmVhdHVyZUdyb3VwLnNjc3MiLCJjb21wb25lbnRzL19wcmljaW5nR3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX3F1b3RlR3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb25IZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3RleHRHcm91cHMuc2NzcyIsInNlY3Rpb25zL19hbGwuc2NzcyIsInNlY3Rpb25zL19ob21lLnNjc3MiLCJzZWN0aW9ucy9fbmF2aWdhdGlvbi5zY3NzIiwic2VjdGlvbnMvX3NjcmVlbnNob3RzLnNjc3MiLCJzZWN0aW9ucy9fdG91ci5zY3NzIiwic2VjdGlvbnMvX2ZlYXR1cmVzLnNjc3MiLCJzZWN0aW9ucy9fcXVvdGVzLnNjc3MiLCJzZWN0aW9ucy9fcHJpY2luZy5zY3NzIiwic2VjdGlvbnMvX2dldHN0YXJ0ZWQuc2NzcyIsInNlY3Rpb25zL19mb290ZXIuc2NzcyIsInNlY3Rpb25zL19zZXJ2aWNlcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGJhc2UgKi9cbkBpbXBvcnQgXCJub3JtYWxpemUuY3NzL25vcm1hbGl6ZVwiLFxuICAgICAgICBcImJhc2UvdmFyc1wiLFxuICAgICAgICBcImJhc2UvYmFzZVwiO1xuXG4vKiBpbXBvcnQgbGlicyAqL1xuQGltcG9ydCBcImFuaW1hdGUuY3NzL2FuaW1hdGVcIixcbiAgICAgICAgXCJvd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLmNhcm91c2VsLnNjc3NcIixcbiAgICAgICAgXCJvd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLnRoZW1lLmRlZmF1bHQuc2Nzc1wiLFxuICAgICAgICBcInNpbXBsZS1saW5lLWljb25zL3Njc3Mvc2ltcGxlLWxpbmUtaWNvbnNcIjsgLy8gRnJvbSBub2RlX21vZHVsZXNcblxuLyogQ29tcG9uZW50cyAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWxsXCI7XG5cbi8qIFNlY3Rpb25zICovXG5AaW1wb3J0IFwic2VjdGlvbnMvYWxsXCI7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIlxuLyogY29yZS1jb2xvcnMgKi9cblxuJGJsYWNrOiAjMDAwO1xuXG4kYmctd2hpdGU6ICNmZmY7XG4kYmctc2xpZ2h0d2hpdGU6ICNmYWZhZmE7XG4kYmctb2Zmd2hpdGU6ICNmNGY0ZjQ7XG4kYmctcHVycGxlOiAjYmE3OGZmO1xuJGJnLWRhcmtncmV5OiAjMzAzODQxO1xuXG4kYnRuLWFjdGl2ZTogIzRBRTNCNTtcbiRidG4taG92ZXI6ICMzOTNlNDY7XG5cbiRpY29uLWNvbG9yLWdyZWVuOiAjMmFhZjY3O1xuJGljb24tY29sb3ItcmVkOiAjZTUyYjUwO1xuJGljb24tY29sb3ItYmx1ZTogIzAwYmZmMztcbiRpY29uLWNvbG9yLWRlZmF1bHQ6ICM0QUUzQjU7XG5cbiRzZWN0aW9uLWhlaWdodDogMTAwdmg7XG4kaGVyby1oZWlnaHQ6IDc1dmg7XG4kbmF2LWhlaWdodDogNzBweDtcblxuJGJveC1zaGFkb3c6ICNhMWExYTE7IFxuXG4vKiBmb250IGZhbWlseSAqLztcbiRmb250LWZhZGVkOiAjNDQ0O1xuJGZvbnQtbGlnaHRncmV5OiAjODE4MTgxO1xuJGZvbnQtbGlnaHRlcmdyZXk6ICNmMWYxZjE7XG5cbiRtYWluLWZvbnQ6IFwiV29yayBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJG1haW4tZm9udC1zaXplOiAyMHB4O1xuXG4kaGVhZGVyLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC1zaXplOiA0MHB4O1xuXG4kc3ViaGVhZGVyLWZvbnQtc2l6ZTogMzBweDtcblxuLyogT3ZlcnJpZGUgc2ltcGxlLWxpbmUtaWNvbnMgZGVmYXVsdHMgKi9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4kc2ltcGxlLWxpbmUtZm9udC1wYXRoOiBcIi4uL2ZvbnRzL3NpbXBsZS1saW5lLWljb25zL1wiO1xuJHNpbXBsZS1saW5lLWZvbnQtZmFtaWx5OiBcInNpbXBsZS1saW5lLWljb25zXCI7XG4vKiBjaGFuZ2VkIHRvIHNpbXBsZS1pY29uLSBmcm9tIGljb24tIHRvIHByZXZlbnQgY2xhc2hlcyB3aXRoIGljb21vb24gKi9cbiRzaW1wbGUtbGluZS1pY29uLXByZWZpeDogXCJzaW1wbGUtaWNvbi1cIjtcblxuLyogT3ZlcnJpZGUgb3dsLWNhcm91c2VsIGRlZmF1bHQgc3R5bGVzICovXG4kZG90LWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDsiLCIvKiBjbGVhcmZpeCAtIHNvdXJjZTogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3MvY2xlYXItZml4LyAqL1xuLmNmOmJlZm9yZSxcbi5jZjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufSBcbi5jZjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmNmIHtcbiAgem9vbTogMTsgLyogRm9yIElFIDYvNyAodHJpZ2dlciBoYXNMYXlvdXQpICovXG59XG5cbi8qXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmNvbnRhaW5lcixcbi5ncmlkIHtcblx0cGFkZGluZy1ib3R0b206IDcwcHg7XG5cdFxuXHRAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuXHRcdHBhZGRpbmc6IDBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNTBweCkge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHdpZHRoOiA5OTJweDtcblxuXHRcdC5wcmljaW5nICYge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDEyNTFweCkge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHdpZHRoOiAxMjUwcHg7XG5cdH1cbn1cblxuYm9keSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJG1haW4tZm9udC1zaXplO1xufVxuXG4vLyBIYWNreSB3YXkgdG8gaGVscCBtb3ZlIGFkanVzdCBjb250ZW50IGZvciBuYXZpZ2F0aW9uIGJhci5cbi8vIE5lZWRzIHRvIGJlIHJlZmFjdG9yZWQgdG8gcmVtb3ZlIGphbmt5IHJlZmxvdyBvbiBzY3JvbGwgZG93bi5cbi8vIFdpbGwgbmVlZCB0byByZWZhY3RvciBuYXZpZ2F0aW9uIChhZ2FpbiEgOiooIClcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cdC5jb250ZW50IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtMjM1cHg7XG5cdH1cblx0LmNvbnRlbnQucmVmbG93IHtcblx0XHR0b3A6IC03MHB4O1xuXHR9XG59XG5cbi5zZWdtZW50OmZvY3VzLFxuLm5hdmlnYXRpb246Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdHNyYzp1cmwoJy4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/c3JmM3J4Jyk7XG5cdHNyYzp1cmwoJy4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/c3JmM3J4I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbW9vbi9pY29tb29uLnR0Zj9zcmYzcngnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcuLi9mb250cy9pY29tb29uL2ljb21vb24ud29mZj9zcmYzcngnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5zdmc/c3JmM3J4I2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtaXhpbiBpY29tb29uKCkge1xuXHRcblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJztcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdFxufVxuXG4vKlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFJldXNhYmxlIEVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYnRuIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogMTVweCAyNXB4O1xuXHRjb2xvcjogI2ZmZjtcblx0bGV0dGVyLXNwYWNpbmc6IDNweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmLmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ0bi1hY3RpdmU7XG5cdH1cblxuXHQmLmNsZWFyIHtcblx0XHRjb2xvcjogJGZvbnQtZmFkZWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGZvbnQtbGlnaHRncmV5O1xuXHR9XG5cblx0Ji5scmcge1xuXHRcdHBhZGRpbmc6IDE1cHggMjhweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWhvdmVyO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcblx0fVxuXG5cdC5ob21lICY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICRpY29uLWNvbG9yLWRlZmF1bHQ7XG5cdH1cbn1cblxuLypcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBDdXN0b21pc2UgT3dsIENhcm91c2VsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLm93bC1kb3RzIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdC5ob21lICYge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0yMDBweDtcblx0fVxuXG5cdC5zY3JlZW5zaG90cyAmIHtcblx0XHRwYWRkaW5nOiA1MHB4O1xuXHR9XG59XG4ub3dsLWNhcm91c2VsLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb250LWxpZ2h0Z3JleTtcblxuXHQuaG9tZSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm94LXNoYWRvdztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XHRcdFxuXHR9XG59XG4ub3dsLWNhcm91c2VsLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIFxuLm93bC1jYXJvdXNlbC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZG90LWJhY2tncm91bmQtYWN0aXZlO1xuXHRib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuXG5cdC5ob21lICYge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG5cdH1cbn1cblxuLmhvbWUge1xuXG5cdC5vd2wtY2Fyb3VzZWwub3dsLXRoZW1lIHtcblx0XHRtYXgtaGVpZ2h0OiA3MHZoO1xuXG5cdFx0Lm93bC1wcmV2LXJlbGF0aXZlLFxuXHRcdC5vd2wtbmV4dC1yZWxhdGl2ZSB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0dG9wOiAtNDUwcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDIpO1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0XHQub3dsLXByZXYtcmVsYXRpdmUge1xuXHRcdFx0cGFkZGluZzogMTVweDtcblx0XHR9XG5cdFx0Lm93bC1uZXh0LXJlbGF0aXZlIHtcblx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdC5vd2wtcHJldi1yZWxhdGl2ZSB7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdGxlZnQ6IC00MiU7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcblx0XHRcdFx0XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0bGVmdDogLTQxJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lm93bC1uZXh0LXJlbGF0aXZlIHtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0cmlnaHQ6IC00MiU7XG5cdFx0XHRcdFxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0cmlnaHQ6IC00MS4wJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGhlaWdodDogNzB2aDtcblx0fVxufVxuXG4vKlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHdheXBvaW50cyBzdHlsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uaGlkZSB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW5cbiAqL1xuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuLmFuaW1hdGVkLmZsaXBPdXRYLFxuLmFuaW1hdGVkLmZsaXBPdXRZLFxuLmFuaW1hdGVkLmJvdW5jZUluLFxuLmFuaW1hdGVkLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmhlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLCAxMS4xJSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiIsIkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnYW5pbWF0ZSc7XG5AaW1wb3J0ICdhdXRvaGVpZ2h0JztcbkBpbXBvcnQgJ2xhenlsb2FkJztcbkBpbXBvcnQgJ3ZpZGVvJztcbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHR9XG5cblx0Lm93bC1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHR9XG5cdC5vd2wtaXRlbSBpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRjdXJzb3I6IGhhbmQ7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1sb2FkZWQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtbG9hZGluZyB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWhpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLm93bC1kcmFnIC5vd2wtaXRlbSB7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0aW1nLm93bC1sYXp5IHtcblx0XHRcdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCJAaW1wb3J0IFwidGhlbWUuZGVmYXVsdFwiOyIsIi8qXG4gKiBcdERlZmF1bHQgdGhlbWUgLSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcbiAqL1xuXG4kY29sb3ItYmFzZTpcdFx0XHQjODY5NzkxICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlOlx0XHRcdCNGRkYgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTpcdFx0XHQjRDZENkQ2ICFkZWZhdWx0O1xuXG4vL25hdlxuXG4kbmF2LWNvbG9yOiBcdFx0XHQkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWhvdmVyOlx0XHQkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LWZvbnQtc2l6ZTogXHRcdDE0cHggIWRlZmF1bHQ7XG4kbmF2LXJvdW5kZWQ6IFx0XHRcdDNweCAhZGVmYXVsdDtcbiRuYXYtbWFyZ2luOiBcdFx0XHQ1cHggIWRlZmF1bHQ7XG4kbmF2LXBhZGRpbmc6IFx0XHRcdDRweCA3cHggIWRlZmF1bHQ7XG4kbmF2LWJhY2tncm91bmQ6IFx0XHQkY29sb3ItZ3JheSAhZGVmYXVsdDtcbiRuYXYtYmFja2dyb3VuZC1ob3ZlcjpcdCRjb2xvci1iYXNlICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1vcGFjaXR5OiBcdDAuNSAhZGVmYXVsdDtcblxuLy9kb3RzXG5cbiRkb3Qtd2lkdGg6XHRcdFx0XHQxMHB4ICFkZWZhdWx0O1xuJGRvdC1oZWlnaHQ6XHRcdFx0MTBweCAhZGVmYXVsdDtcbiRkb3Qtcm91bmRlZDpcdFx0XHQzMHB4ICFkZWZhdWx0O1xuJGRvdC1tYXJnaW46IFx0XHRcdDVweCA3cHggIWRlZmF1bHQ7XG4kZG90LWJhY2tncm91bmQ6XHRcdCRjb2xvci1ncmF5ICFkZWZhdWx0O1xuJGRvdC1iYWNrZ3JvdW5kLWFjdGl2ZTpcdCRjb2xvci1iYXNlICFkZWZhdWx0O1xuXG5AaW1wb3J0ICd0aGVtZSc7XG4iLCJcbi5vd2wtdGhlbWUge1xuXHQvLyBTdHlsaW5nIE5leHQgYW5kIFByZXYgYnV0dG9uc1xuXHQub3dsLW5hdiB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdFtjbGFzcyo9J293bC0nXSB7XG5cdFx0XHRjb2xvcjogJG5hdi1jb2xvcjtcblx0XHRcdGZvbnQtc2l6ZTogJG5hdi1mb250LXNpemU7XG5cdFx0XHRtYXJnaW46ICRuYXYtbWFyZ2luO1xuXHRcdFx0cGFkZGluZzogJG5hdi1wYWRkaW5nO1xuXHRcdFx0YmFja2dyb3VuZDogJG5hdi1iYWNrZ3JvdW5kO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJG5hdi1iYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0XHRjb2xvcjokbmF2LWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kaXNhYmxlZCB7XG5cdFx0XHRvcGFjaXR5OiAkbmF2LWRpc2FibGVkLW9wYWNpdHk7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHR9XG5cblx0Ly8gU3R5bGluZyBkb3RzXG5cdC5vd2wtbmF2LmRpc2FibGVkICsgLm93bC1kb3RzIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cblx0Lm93bC1kb3RzIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdC5vd2wtZG90IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHpvb206IDE7XG5cdFx0XHQqZGlzcGxheTogaW5saW5lO1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0d2lkdGg6ICRkb3Qtd2lkdGg7XG5cdFx0XHRcdGhlaWdodDogJGRvdC1oZWlnaHQ7XG5cdFx0XHRcdG1hcmdpbjogJGRvdC1tYXJnaW47XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRkb3QtYmFja2dyb3VuZDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSxcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkZG90LWJhY2tncm91bmQtYWN0aXZlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBEZWZhdWx0IFZhcmlhYmxlc1xuJHNpbXBsZS1saW5lLWZvbnQtcGF0aDogXCIuLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzaW1wbGUtbGluZS1mb250LWZhbWlseTogXCJzaW1wbGUtbGluZS1pY29uc1wiICFkZWZhdWx0O1xuJHNpbXBsZS1saW5lLWljb24tcHJlZml4OiBcImljb24tXCIgIWRlZmF1bHQ7XG5cbi8vIEZvbnRzXG5AaWYgJHNpbXBsZS1saW5lLWZvbnQtZmFtaWx5ID09IFwic2ltcGxlLWxpbmUtaWNvbnNcIiB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnI3skc2ltcGxlLWxpbmUtZm9udC1mYW1pbHl9JztcbiAgICBzcmM6ICAgIHVybCgnI3skc2ltcGxlLWxpbmUtZm9udC1wYXRofVNpbXBsZS1MaW5lLUljb25zLmVvdD92PTIuNC4wJyk7XG4gICAgc3JjOiAgICB1cmwoJyN7JHNpbXBsZS1saW5lLWZvbnQtcGF0aH1TaW1wbGUtTGluZS1JY29ucy5lb3Q/dj0yLjQuMCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgIHVybCgnI3skc2ltcGxlLWxpbmUtZm9udC1wYXRofVNpbXBsZS1MaW5lLUljb25zLndvZmYyP3Y9Mi40LjAnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICB1cmwoJyN7JHNpbXBsZS1saW5lLWZvbnQtcGF0aH1TaW1wbGUtTGluZS1JY29ucy50dGY/dj0yLjQuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgIHVybCgnI3skc2ltcGxlLWxpbmUtZm9udC1wYXRofVNpbXBsZS1MaW5lLUljb25zLndvZmY/dj0yLjQuMCcpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgdXJsKCcjeyRzaW1wbGUtbGluZS1mb250LXBhdGh9U2ltcGxlLUxpbmUtSWNvbnMuc3ZnP3Y9Mi40LjAjc2ltcGxlLWxpbmUtaWNvbnMnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH0ge1xuICAmdXNlcixcbiAgJnBlb3BsZSxcbiAgJnVzZXItZmVtYWxlLFxuICAmdXNlci1mb2xsb3csXG4gICZ1c2VyLWZvbGxvd2luZyxcbiAgJnVzZXItdW5mb2xsb3csXG4gICZsb2dpbixcbiAgJmxvZ291dCxcbiAgJmVtb3RzbWlsZSxcbiAgJnBob25lLFxuICAmY2FsbC1lbmQsXG4gICZjYWxsLWluLFxuICAmY2FsbC1vdXQsXG4gICZtYXAsXG4gICZsb2NhdGlvbi1waW4sXG4gICZkaXJlY3Rpb24sXG4gICZkaXJlY3Rpb25zLFxuICAmY29tcGFzcyxcbiAgJmxheWVycyxcbiAgJm1lbnUsXG4gICZsaXN0LFxuICAmb3B0aW9ucy12ZXJ0aWNhbCxcbiAgJm9wdGlvbnMsXG4gICZhcnJvdy1kb3duLFxuICAmYXJyb3ctbGVmdCxcbiAgJmFycm93LXJpZ2h0LFxuICAmYXJyb3ctdXAsXG4gICZhcnJvdy11cC1jaXJjbGUsXG4gICZhcnJvdy1sZWZ0LWNpcmNsZSxcbiAgJmFycm93LXJpZ2h0LWNpcmNsZSxcbiAgJmFycm93LWRvd24tY2lyY2xlLFxuICAmY2hlY2ssXG4gICZjbG9jayxcbiAgJnBsdXMsXG4gICZtaW51cyxcbiAgJmNsb3NlLFxuICAmZXZlbnQsXG4gICZleGNsYW1hdGlvbixcbiAgJm9yZ2FuaXphdGlvbixcbiAgJnRyb3BoeSxcbiAgJnNjcmVlbi1zbWFydHBob25lLFxuICAmc2NyZWVuLWRlc2t0b3AsXG4gICZwbGFuZSxcbiAgJm5vdGVib29rLFxuICAmbXVzdGFjaGUsXG4gICZtb3VzZSxcbiAgJm1hZ25ldCxcbiAgJmVuZXJneSxcbiAgJmRpc2MsXG4gICZjdXJzb3IsXG4gICZjdXJzb3ItbW92ZSxcbiAgJmNyb3AsXG4gICZjaGVtaXN0cnksXG4gICZzcGVlZG9tZXRlcixcbiAgJnNoaWVsZCxcbiAgJnNjcmVlbi10YWJsZXQsXG4gICZtYWdpYy13YW5kLFxuICAmaG91cmdsYXNzLFxuICAmZ3JhZHVhdGlvbixcbiAgJmdob3N0LFxuICAmZ2FtZS1jb250cm9sbGVyLFxuICAmZmlyZSxcbiAgJmV5ZWdsYXNzLFxuICAmZW52ZWxvcGUtb3BlbixcbiAgJmVudmVsb3BlLWxldHRlcixcbiAgJmJlbGwsXG4gICZiYWRnZSxcbiAgJmFuY2hvcixcbiAgJndhbGxldCxcbiAgJnZlY3RvcixcbiAgJnNwZWVjaCxcbiAgJnB1enpsZSxcbiAgJnByaW50ZXIsXG4gICZwcmVzZW50LFxuICAmcGxheWxpc3QsXG4gICZwaW4sXG4gICZwaWN0dXJlLFxuICAmaGFuZGJhZyxcbiAgJmdsb2JlLWFsdCxcbiAgJmdsb2JlLFxuICAmZm9sZGVyLWFsdCxcbiAgJmZvbGRlcixcbiAgJmZpbG0sXG4gICZmZWVkLFxuICAmZHJvcCxcbiAgJmRyYXdlcixcbiAgJmRvY3MsXG4gICZkb2MsXG4gICZkaWFtb25kLFxuICAmY3VwLFxuICAmY2FsY3VsYXRvcixcbiAgJmJ1YmJsZXMsXG4gICZicmllZmNhc2UsXG4gICZib29rLW9wZW4sXG4gICZiYXNrZXQtbG9hZGVkLFxuICAmYmFza2V0LFxuICAmYmFnLFxuICAmYWN0aW9uLXVuZG8sXG4gICZhY3Rpb24tcmVkbyxcbiAgJndyZW5jaCxcbiAgJnVtYnJlbGxhLFxuICAmdHJhc2gsXG4gICZ0YWcsXG4gICZzdXBwb3J0LFxuICAmZnJhbWUsXG4gICZzaXplLWZ1bGxzY3JlZW4sXG4gICZzaXplLWFjdHVhbCxcbiAgJnNodWZmbGUsXG4gICZzaGFyZS1hbHQsXG4gICZzaGFyZSxcbiAgJnJvY2tldCxcbiAgJnF1ZXN0aW9uLFxuICAmcGllLWNoYXJ0LFxuICAmcGVuY2lsLFxuICAmbm90ZSxcbiAgJmxvb3AsXG4gICZob21lLFxuICAmZ3JpZCxcbiAgJmdyYXBoLFxuICAmbWljcm9waG9uZSxcbiAgJm11c2ljLXRvbmUtYWx0LFxuICAmbXVzaWMtdG9uZSxcbiAgJmVhcnBob25lcy1hbHQsXG4gICZlYXJwaG9uZXMsXG4gICZlcXVhbGl6ZXIsXG4gICZsaWtlLFxuICAmZGlzbGlrZSxcbiAgJmNvbnRyb2wtc3RhcnQsXG4gICZjb250cm9sLXJld2luZCxcbiAgJmNvbnRyb2wtcGxheSxcbiAgJmNvbnRyb2wtcGF1c2UsXG4gICZjb250cm9sLWZvcndhcmQsXG4gICZjb250cm9sLWVuZCxcbiAgJnZvbHVtZS0xLFxuICAmdm9sdW1lLTIsXG4gICZ2b2x1bWUtb2ZmLFxuICAmY2FsZW5kYXIsXG4gICZidWxiLFxuICAmY2hhcnQsXG4gICZiYW4sXG4gICZidWJibGUsXG4gICZjYW1yZWNvcmRlcixcbiAgJmNhbWVyYSxcbiAgJmNsb3VkLWRvd25sb2FkLFxuICAmY2xvdWQtdXBsb2FkLFxuICAmZW52ZWxvcGUsXG4gICZleWUsXG4gICZmbGFnLFxuICAmaGVhcnQsXG4gICZpbmZvLFxuICAma2V5LFxuICAmbGluayxcbiAgJmxvY2ssXG4gICZsb2NrLW9wZW4sXG4gICZtYWduaWZpZXIsXG4gICZtYWduaWZpZXItYWRkLFxuICAmbWFnbmlmaWVyLXJlbW92ZSxcbiAgJnBhcGVyLWNsaXAsXG4gICZwYXBlci1wbGFuZSxcbiAgJnBvd2VyLFxuICAmcmVmcmVzaCxcbiAgJnJlbG9hZCxcbiAgJnNldHRpbmdzLFxuICAmc3RhcixcbiAgJnN5bWJvbC1mZW1hbGUsXG4gICZzeW1ib2wtbWFsZSxcbiAgJnRhcmdldCxcbiAgJmNyZWRpdC1jYXJkLFxuICAmcGF5cGFsLFxuICAmc29jaWFsLXR1bWJscixcbiAgJnNvY2lhbC10d2l0dGVyLFxuICAmc29jaWFsLWZhY2Vib29rLFxuICAmc29jaWFsLWluc3RhZ3JhbSxcbiAgJnNvY2lhbC1saW5rZWRpbixcbiAgJnNvY2lhbC1waW50ZXJlc3QsXG4gICZzb2NpYWwtZ2l0aHViLFxuICAmc29jaWFsLWdvb2dsZSxcbiAgJnNvY2lhbC1yZWRkaXQsXG4gICZzb2NpYWwtc2t5cGUsXG4gICZzb2NpYWwtZHJpYmJibGUsXG4gICZzb2NpYWwtYmVoYW5jZSxcbiAgJnNvY2lhbC1mb3Vyc3FhcmUsXG4gICZzb2NpYWwtc291bmRjbG91ZCxcbiAgJnNvY2lhbC1zcG90aWZ5LFxuICAmc29jaWFsLXN0dW1ibGV1cG9uLFxuICAmc29jaWFsLXlvdXR1YmUsXG4gICZzb2NpYWwtZHJvcGJveCxcbiAgJnNvY2lhbC12a29udGFrdGUsXG4gICZzb2NpYWwtc3RlYW0ge1xuICAgIGZvbnQtZmFtaWx5OiAnI3skc2ltcGxlLWxpbmUtZm9udC1mYW1pbHl9JztcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gfVxufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9dXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9cGVvcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAxXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH11c2VyLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9dXNlci1mb2xsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXVzZXItZm9sbG93aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAzXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH11c2VyLXVuZm9sbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA0XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1sb2dpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bG9nb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY1XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1lbW90c21pbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jYWxsLWVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0OFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2FsbC1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0N1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2FsbC1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzM1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bG9jYXRpb24tcGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk2XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1kaXJlY3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWRpcmVjdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWxheWVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2N1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9b3B0aW9ucy12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9b3B0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwM1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwNFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwNVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA3XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1hcnJvdy11cC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWFycm93LWxlZnQtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdhXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1hcnJvdy1yaWdodC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzlcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWFycm93LWRvd24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdiXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE1XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZXZlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTlcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE3XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1vcmdhbml6YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXRyb3BoeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c2NyZWVuLXNtYXJ0cGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTBcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNjcmVlbi1kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDExXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bm90ZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fW11c3RhY2hlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE0XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1tb3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bWFnbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE2XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1lbmVyZ3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjBcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWRpc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWN1cnNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y3Vyc29yLW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjRcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWNoZW1pc3RyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyNlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c3BlZWRvbWV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDdcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNoaWVsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwZVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c2NyZWVuLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwZlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bWFnaWMtd2FuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxN1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9aG91cmdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1ncmFkdWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE5XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxYVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Z2FtZS1jb250cm9sbGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFiXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFjXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1leWVnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxZFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxZVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZW52ZWxvcGUtbGV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFmXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI3XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1iYWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YW5jaG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI5XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXZlY3RvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyYlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c3BlZWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDJjXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1wdXp6bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmRcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXByaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXByZXNlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXBsYXlsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMwXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXBpY3R1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWhhbmRiYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWdsb2JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Z2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzdcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWZvbGRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzlcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWZvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZmlsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzYVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZmVlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzYlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZHJvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzZVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZHJhd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDNmXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1kb2NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQwXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1kb2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWRpYW1vbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0NFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0OVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YnViYmxlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0YVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDRiXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1ib29rLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNGNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWJhc2tldC1sb2FkZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNGRcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0ZVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDRmXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1hY3Rpb24tdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YWN0aW9uLXJlZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9dW1icmVsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU0XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWZyYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zaXplLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNpemUtYWN0dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zaHVmZmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU5XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDViXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXF1ZXN0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDVkXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1ZlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bG9vcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9aG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Z3JpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2YVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Z3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fW11c2ljLXRvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYxXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1tdXNpYy10b25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYyXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1lYXJwaG9uZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDNjXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1lYXJwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwM2RcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWVxdWFsaXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2Y1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bGlrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZGlzbGlrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y29udHJvbC1zdGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y29udHJvbC1yZXdpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzBcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWNvbnRyb2wtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y29udHJvbC1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y29udHJvbC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDczXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jb250cm9sLWVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9dm9sdW1lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOWZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXZvbHVtZS0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMGEwXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMGExXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YnVsYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzdcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3Y1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9YnViYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdkXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jYW1yZWNvcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdmXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4M1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9Y2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9ZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4YVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9aW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4YlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9a2V5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDhjXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDhkXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDhlXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1sb2NrLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOGZcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fW1hZ25pZmllcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5MFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bWFnbmlmaWVyLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5MVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9bWFnbmlmaWVyLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5MlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9cGFwZXItY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5M1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9cGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTRcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXBvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk3XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1yZWZyZXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1yZWxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTlcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDlhXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDliXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zeW1ib2wtZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDljXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zeW1ib2wtbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5ZFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9dGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDllXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyNVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9cGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBhXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c29jaWFsLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBiXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA5XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGFcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGNcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGRcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGVcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwZlwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c29jaWFsLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBkXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxMFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c29jaWFsLWZvdXJzcWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxMVwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c29jaWFsLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTJcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC1zcG90aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjEzXCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTRcIjtcbn1cblxuLiN7JHNpbXBsZS1saW5lLWljb24tcHJlZml4fXNvY2lhbC15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA4XCI7XG59XG5cbi4jeyRzaW1wbGUtbGluZS1pY29uLXByZWZpeH1zb2NpYWwtZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwY1wiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c29jaWFsLXZrb250YWt0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOFwiO1xufVxuXG4uI3skc2ltcGxlLWxpbmUtaWNvbi1wcmVmaXh9c29jaWFsLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjIwXCI7XG59XG4iLCJAaW1wb3J0IFwiZmVhdHVyZUdyb3VwXCIsXG4gIFwiY2Fyb3VzZWxGZWF0dXJlR3JvdXBcIixcbiAgXCJwcmljaW5nR3JvdXBcIixcbiAgXCJxdW90ZUdyb3VwXCIsXG4gIFwic2VjdGlvbkhlYWRlclwiLFxuICBcInRleHRHcm91cHNcIjsiLCIuZmVhdHVyZUdyb3VwIHtcblxuICAudG91ciAmIHtcbiAgICAmIHtcbiAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgfVxuICAgICYuYWx0LFxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogNTBweCAwIDI1cHggMDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMCA1MHB4IDA7XG4gICAgfVxuICAgICYuYWx0IHtcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICAuaW1nQ29udGFpbmVyLFxuICAgICAgICAudGV4dENvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5pbWdDb250YWluZXIge1xuICAgICAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHRDb250YWluZXIge1xuICAgICAgICAgIGxlZnQ6IDEwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWdDb250YWluZXIsXG4gIC50ZXh0Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAudG91ciAmIHtcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWdDb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDMwJTtcblxuICAgICYuYWx0IHtcbiAgICAgIHBhZGRpbmc6IDAgMiUgMCAxMCU7XG4gICAgfVxuXG4gICAgLnRvdXIgJiB7XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDcwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAmLmFsdCB7XG4gICAgICAgICAgcGFkZGluZzogMiUgMTAlIDIlIDIlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgICAgIC50b3VyICYge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDQwcHggIzkxOTE5MTtcbiAgICAgICAgbWF4LWhlaWdodDogNDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50ZXh0Q29udGFpbmVyIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDYuNSU7XG5cbiAgICAudG91ciAmIHtcblxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIFxuICAgICAgICBtaW4td2lkdGg6IDcwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvdXIgJiB7XG4gICAgICBcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDY5NXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBcbiAgICAgICAgbWluLXdpZHRoOiA3MCU7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50ZXh0R3JvdXBPbmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJGZvbnQtbGlnaHRncmV5O1xuICAgICAgZm9udC1zaXplOiAkbWFpbi1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJvdXNlbEZlYXR1cmVHcm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3OTVweCkge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNzk2cHgpIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHZoXG4gIH1cblxuXG4gIC5pbWdDb250YWluZXIsXG4gIC50ZXh0Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzk1cHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuaW1nQ29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzk1cHgpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwdmg7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMTAlO1xuICAgICAgfVxuICAgICAgXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA3OTZweCkge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50ZXh0Q29udGFpbmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIFxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc5NXB4KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC01MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbjogMyUgNSU7XG4gICAgICBcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNzk2cHgpIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW46IDUlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgfVxuICAgIFxuICBpbWcubW9iaWxlLWltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc5NXB4KSB7XG4gICAgICB0b3A6IDI1dmg7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiAxMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc5NnB4KSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxufSIsIi5wcmljaW5nR3JvdXBzQ29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDIuNSU7XG4gIHdpZHRoOiA5NSU7XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTEzMnB4KSB7XG4gICAgd2lkdGg6IDExMzJweCAtIDU3cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweCBhdXRvO1xuICB9XG5cbiAgLnByaWNpbmdHcm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMyU7XG4gICAgbWFyZ2luOiAxJTtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRmb250LWxpZ2h0ZXJncmV5O1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbjogNTBweCA1JTtcbiAgICAgIHBhZGRpbmc6IDUwcHggNTBweDtcbiAgICB9XG4gIFxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc1MHB4KSBhbmQgKG1heC13aWR0aDogMTEzMXB4KSB7XG4gICAgICB3aWR0aDogNDYlO1xuICAgICAgbWFyZ2luOiA1MHB4IDIlO1xuICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDExMzJweCl7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgbWFyZ2luOiAxJTtcbiAgICAgIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgICB9XG4gICAgXG4gICAgJi5iZXN0VmFsdWUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaWNvbi1jb2xvci1kZWZhdWx0O1xuICAgIH1cblxuICAgIGNvbG9yOiAkZm9udC1saWdodGdyZXk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgLmJlc3RWYWx1ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IC00MHB4O1xuICAgICAgICBsZWZ0OiAzOCU7XG4gICAgICB9XG4gICAgICBcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc1MHB4KSBhbmQgKG1heC13aWR0aDogMTEzMXB4KSB7XG4gICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIGxlZnQ6IDM1JTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTEzMnB4KSB7XG4gICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIGxlZnQ6IDI1JTtcbiAgICAgIH1cblxuICAgICAgcGFkZGluZzogNy41cHggMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbG9yLWRlZmF1bHQ7XG5cbiAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMTVweCAkaWNvbi1jb2xvci1kZWZhdWx0O1xuICAgICAgICBib3JkZXItbGVmdDogc29saWQgMTVweCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxNXB4IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC51cHBlciB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGZvbnQtbGlnaHRlcmdyZXk7XG4gICAgfVxuICAgIGg1LFxuICAgIC5wcmljZSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICAucHJpY2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBcbiAgICAgIC5kb2xsYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgIGxlZnQ6IC0xNXB4OyAgXG4gICAgICB9XG4gICAgICAudmFsdWUge1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAubW9udGgge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiA1cHg7ICBcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cblxuICAgIC5sb3dlciB7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICB9XG4gICAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnF1b3RlR3JvdXAge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogNSU7XG4gICAgcGFkZGluZy1yaWdodDogNSU7XG4gIH1cblxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA3NTBweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMCU7XG4gICAgcGFkZGluZy1yaWdodDogMjAlO1xuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuXG5cbiAgLnF1b3RlIHtcbiAgICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIFxuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAzNXB4O1xuICAgIFxuICAgIGNvbG9yOiAkZm9udC1saWdodGdyZXk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCIgXCLigJhcIiBcIuKAmVwiO1xuICAgICAgXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDonJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IC04MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxNXB4ICNmZmY7XG4gICAgICBib3JkZXItbGVmdDogc29saWQgMTVweCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogc29saWQgMTVweCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuc3BlYWtlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxNy41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3LjVweDtcbiAgICBtYXJnaW46IDE3cHggMjBweDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAucm9sZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgfVxufSIsIi5zdWJoZWFkZXIgeyBcblxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlO1xuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbi1sZWZ0OiAyMCU7XG4gIH1cbiAgXG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBsaW5lLWhlaWdodDogNDZweDtcbiAgXG4gIC5zY3JlZW5zaG90cyAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udDtcbiAgICBmb250LXNpemU6ICRoZWFkZXItZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRmb250LWZhZGVkO1xuICAgIG1hcmdpbjogNjVweCAwIDIwcHggMDtcblxuICAgIC5zY3JlZW5zaG90cyAmLFxuICAgIC50ZXN0aW1vbmlhbCAmIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICB9XG4gIFxuICBoNCB7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkc3ViaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkZm9udC1saWdodGdyZXk7XG4gICAgXG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgXG4gICAgLnRlc3RpbW9uaWFsICYge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpXG4gICAgfVxuICB9XG59IiwiJWZvbnQtc3R5bGluZyB7XG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICBmb250LXNpemU6ICRtYWluLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAkZm9udC1saWdodGdyZXk7XG4gIFxuICBoNSB7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkbWFpbi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogJGZvbnQtZmFkZWQ7XG4gIH1cbn1cblxuXG4udGV4dEdyb3VwVHdvIHtcbiAgQGV4dGVuZCAlZm9udC1zdHlsaW5nO1xuXG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjAlO1xuICAgIHBhZGRpbmctbGVmdDogMjAlO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgcGFkZGluZzogMCAzMHB4IDUwcHggMzBweDtcbiAgfVxuXG59XG5cbi50ZXh0R3JvdXBUaHJlZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICBcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogOTkzcHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMzJTtcbiAgfVxuXG4gIC5zaW1wbGVJY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgY29sb3I6ICRpY29uLWNvbG9yLWRlZmF1bHQ7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICB9XG5cbiAgLnRleHRDb250YWluZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBcbiAgICBAZXh0ZW5kICVmb250LXN0eWxpbmc7XG4gICAgXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IFxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJob21lXCIsXG4gIFwibmF2aWdhdGlvblwiLFxuICBcInNjcmVlbnNob3RzXCIsXG4gIFwidG91clwiLFxuICBcImZlYXR1cmVzXCIsXG4gIFwicXVvdGVzXCIsXG4gIFwicHJpY2luZ1wiLFxuICBcImdldHN0YXJ0ZWRcIixcbiAgXCJmb290ZXJcIixcbiAgXCJzZXJ2aWNlc1wiOyIsIi5ob21lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1wdXJwbGU7XG4gIFxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3OTVweCkge1xuICAgIGhlaWdodDogMTcwdmg7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNzk2cHgpIHtcbiAgICBoZWlnaHQ6IDc1dmg7XG4gIH1cblxuICAjY2Fyb3VzZWxPbmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufSIsIi8vIE5hdmlnYXRpb25cblxuLyoqXG4gKiAgNCBTdGF0ZXNcbiAqXG4gKiAgUmVndWxhciB0b3AgZXhwYW5kZWRcbiAqICBSZWd1bGFyIHRvcCBjb2xsYXBzZWRcbiAqICBmaXhlZCB0b3AgZXhwYW5kZWRcbiAqICBmaXhlZCB0b3AgY29sbGFwc2VkXG4gKlxuICoqL1xuXG5AbWl4aW4gaGFtYnVyZ2VyKCR2aXNpYmxlKSB7XG4gICYgLm1lbnUge1xuICAgIGRpc3BsYXk6ICR2aXNpYmxlO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICB0b3A6IDIycHg7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgI21lbnUtaWNvbiB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIFxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGljb24tY29sb3ItZGVmYXVsdDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIHRvcDogMTIuNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRvcDogMi41cHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi5vcGVuIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdG9wOiAyMi41cHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgIH1cbiAgICB9IFxuICB9XG59XG5cbkBtaXhpbiBtYXJnaW4oJHB4KSB7XG4gICYgLmJyYW5kIHtcbiAgICBsZWZ0OiAkcHg7XG4gIH1cblxuICAubmF2LWxpbmtzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcHg7XG4gIH1cbn1cblxuQG1peGluIG5hdkxpbmtVbmRlcmxpbmUoJHNjYWxlKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbG9yLWRlZmF1bHQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoJHNjYWxlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbi8vIFJlZ3VsYXIgdG9wIGV4cGFuZGVkXG4ubmF2aWdhdGlvbiB7XG4gIHotaW5kZXg6IDk7XG4gIFxuICAmID4gLmNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXB1cnBsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuYnJhbmQtY29udGFpbmVyIHtcbiAgICAgIC8vIGhhbWJ1cmdlciBtZW51IG5vdCB2aXNpYmxlIG9uIHdpZGVyIHNjcmVlbnNcbiAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcihub25lKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHotaW5kZXg6IDk7XG4gICAgICBoZWlnaHQ6ICRuYXYtaGVpZ2h0O1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIFxuICAgICAgJiAuYnJhbmQge1xuICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBcbiAgICAgICAgZm9udC1zaXplOiAkc3ViaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICAgICAgXG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGljb24tY29sb3ItZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbGlua3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogODAlO1xuXG4gICAgICAmID4gdWwge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiA3cHggMCAzcHggMDtcbiAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuXG4gICAgICAgICAgXG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBIaWdobGlnaHRpbmcgdW5kZXIgYWN0aXZlIHNlY3Rpb24gaW4gbmF2XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBuYXZMaW5rVW5kZXJsaW5lKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBuYXZMaW5rVW5kZXJsaW5lKDEpO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGNvbG9yOiAkaWNvbi1jb2xvci1kZWZhdWx0O1xuICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjb2xsYXBzaWJsZSBoZXJlXG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cbiAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICAuYnJhbmQtY29udGFpbmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXIoYmxvY2spO1xuICAgICAgICBcbiAgICAgICAgLmJyYW5kIHtcbiAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgIGNvbG9yOiAkaWNvbi1jb2xvci1kZWZhdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi51bnNoYWRvdyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgICAgIC8vIGV4cGFuZGVkXG4gICAgICAubGlua3NDb250YWluZXIge1xuICAgICAgICB6LWluZGV4OiA4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6ICRuYXYtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHggMTBweCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgICAgIFxuICAgICAgICAubmF2LWxpbmtzIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRmb250LWxpZ2h0ZXJncmV5O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIFxuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUsXG4gICAgICAgICAgICAgICYuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb250LWZhZGVkO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgICAgICY6aG92ZXIgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGljb24tY29sb3ItZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIGNvbGxhcHNlZFxuICAgICAgLmxpbmtzQ29udGFpbmVyLmhpZGRlbiB7XG4gICAgICAgIHRvcDogLTM1NXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC8vIGV4cGFuZGVkIHdpdGggbWluaW1hbCBwYWRkaW5nXG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oNXB4KTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigyMHB4KTtcbiAgfVxuICAvLyBleHBhbmRlZCB3aXRoIGV4dGVuZGVkIHBhZGRpbmcgXG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxNTBweCk7XG4gIH1cbn1cbi5uYXZpZ2F0aW9uLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC03MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcblxuICAmID4gLmNvbnRhaW5lciB7XG4gICAgJiA+IC5icmFuZC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgXG4gICAgICAuYnJhbmQge1xuICAgICAgICBjb2xvcjogJGljb24tY29sb3ItZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5saW5rc0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIFxuICAgICAgbGkge1xuICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRmb250LWZhZGVkOyBcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgPiBhLFxuICAgICAgICAmOmhvdmVyID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRpY29uLWNvbG9yLWRlZmF1bHQ7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYgPiAuY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmLnNob3cgPiAuY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgICBcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIFxuICB9XG59IiwiLnNjcmVlbnNob3RzIHtcbiAgYmFja2dyb3VuZDogJGJnLWRhcmtncmV5O1xuXG4gIC8vIFNjcmVlbnNob3RzIE93bC1jYXJvdXNlbCBjdXN0b21pc2F0aW9uc1xuICAjY2Fyb3VzZWxUd28ge1xuXG4gICAgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAgIFxuICAgIC5vd2wtc3RhZ2UgLm93bC1pdGVtIHtcblxuICAgICAgXG4gICAgICAuc2NyZWVuc2hvdEltYWdlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAzMHB4ICMwMDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjg1cHgpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgIC5vd2wtc3RhZ2UgLm93bC1pdGVtLmFjdGl2ZS5jZW50ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAub3dsLWl0ZW0geyBcbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIi50b3VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxufSIsIi5mZWF0dXJlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1zbGlnaHR3aGl0ZTtcblxuICAuZmVhdHVyZXNDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn0iLCIudGVzdGltb25pYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctcHVycGxlO1xuICBwYWRkaW5nLWxlZnQ6IDEyJTtcbiAgcGFkZGluZy1yaWdodDogMTIlO1xuXG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgfVxuXG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDc1MHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbn0iLCIiLCIuZ2V0U3RhcnRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hlcm8uanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBcbiAgaDQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgXG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbjogNSU7XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICB3aWR0aDogNzMwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbn0iLCIuZm9vdGVyIHtcbiAgY29sb3I6ICRmb250LWxpZ2h0Z3JleTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcblxuICBwIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICBzcGFuLFxuICAgIGEge1xuICAgICAgY29sb3I6ICRpY29uLWNvbG9yLWRlZmF1bHQ7XG4gICAgICBcbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIFxuICAuc29jaWFsSXRlbSB7XG4gICAgbWFyZ2luOiA0MHB4IDEwcHggMTAwcHggMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29sb3ItZGVmYXVsdDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhcjtcblxuICAgIHAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4taG92ZXI7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgfVxuICB9XG59IiwiLnNlcnZpY2VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLW9mZndoaXRlO1xuXG4gIC5zaW1wbGVJY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMjJweCAyMnB4IDEyLjZweCAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ncmVlbiB7XG4gICAgY29sb3I6ICRpY29uLWNvbG9yLWdyZWVuO1xuICAgIGJvcmRlci1jb2xvcjogJGljb24tY29sb3ItZ3JlZW47XG4gIH1cbiAgXG4gIC5ibHVlIHtcbiAgICBjb2xvcjogJGljb24tY29sb3ItYmx1ZTtcbiAgICBib3JkZXItY29sb3I6ICRpY29uLWNvbG9yLWJsdWU7XG4gIH1cbiAgXG4gIC5yZWQge1xuICAgIGNvbG9yOiAkaWNvbi1jb2xvci1yZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkaWNvbi1jb2xvci1yZWQ7XG4gIH1cblxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsVUFBVTtBQ0FWLDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7Ozs7R0FJRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRyxPQUFPO0VBQzNCLG9CQUFvQixFQUFFLElBQUk7RUFBRyxPQUFPO0VBQ3BDLHdCQUF3QixFQUFFLElBQUk7RUFBRyxPQUFPLEVBQ3pDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsT0FBTztBQUNQLEFBQUEsS0FBSztBQUNMLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsR0FBRztBQUNILEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsVUFBVTtBQUNWLEFBQUEsTUFBTTtBQUNOLEFBQUEsSUFBSSxDQUFDO0VBQUUsT0FBTztFQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFBRyxPQUFPO0VBQ2pDLE1BQU0s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 */
