/**
 * ----------------------
 * Un.titled
 * Main - Global
 * ----------------------
 */
/**
 * Dependencies
 */
/*!
 * baguetteBox.js
 * @author  feimosi
 * @version %%INJECT_VERSION%%
 * @url https://github.com/feimosi/baguetteBox.js
 */
#baguetteBox-overlay {
  display: none;
  opacity: 0;
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  background-color: #222;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.5s ease;
}
#baguetteBox-overlay.visible {
  opacity: 1;
}
#baguetteBox-overlay .full-image {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
#baguetteBox-overlay .full-image figure {
  display: inline;
  margin: 0;
  height: 100%;
}
#baguetteBox-overlay .full-image img {
  display: inline-block;
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
#baguetteBox-overlay .full-image figcaption {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  line-height: 1.8;
  white-space: normal;
  color: #ccc;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
  font-family: sans-serif;
}
#baguetteBox-overlay .full-image:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

#baguetteBox-slider {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  white-space: nowrap;
  transition: left 0.4s ease, transform 0.4s ease;
}
#baguetteBox-slider.bounce-from-right {
  animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
  animation: bounceFromLeft 0.4s ease-out;
}

@keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}
@keyframes bounceFromLeft {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: 30px;
  }
  100% {
    margin-left: 0;
  }
}
.baguetteBox-button#previous-button, .baguetteBox-button#next-button {
  top: 50%;
  top: calc(50% - 30px);
  width: 44px;
  height: 60px;
}

.baguetteBox-button {
  position: absolute;
  cursor: pointer;
  outline: none;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 15%;
  background-color: #323232;
  background-color: rgba(50, 50, 50, 0.5);
  color: #ddd;
  font: 1.6em sans-serif;
  transition: background-color 0.4s ease;
}
.baguetteBox-button:focus, .baguetteBox-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}
.baguetteBox-button#next-button {
  right: 2%;
}
.baguetteBox-button#previous-button {
  left: 2%;
}
.baguetteBox-button#close-button {
  top: 20px;
  right: 2%;
  right: calc(2% + 6px);
  width: 30px;
  height: 30px;
}
.baguetteBox-button svg {
  position: absolute;
  left: 0;
  top: 0;
}

/*
    Preloader
    Borrowed from http://tobiasahlin.com/spinkit/
*/
.baguetteBox-spinner {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  animation: bounce 2s infinite ease-in-out;
}

.baguetteBox-double-bounce2 {
  animation-delay: -1s;
}

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

:root {
  --reflex-columns: 12;
  --reflex-grid-spacing: 15px;
  --reflex-xs: 576px;
  --reflex-sm: 768px;
  --reflex-md: 992px;
  --reflex-lg: 1200px;
  --reflex-xlg: 1600px;
  --reflex-xxs-max: 575px;
  --reflex-xs-max: 767px;
  --reflex-sm-max: 991px;
  --reflex-md-max: 1199px;
  --reflex-lg-max: 1599px;
}

.container,
.container-full {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.container .grid,
.container-full .grid {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 576px) {
  .container {
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 992px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1600px;
  }
}

.grid {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  position: relative;
  letter-spacing: -0.31em;
  *letter-spacing: normal;
  word-spacing: -0.43em;
  list-style-type: none;
}
.grid::before, .grid::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}

[class*=col-] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
  position: relative;
  width: 100%;
  vertical-align: top;
  padding: 15px;
  display: inline-block;
  *display: inline;
  zoom: 1;
}
[class*=col-]::before, [class*=col-]::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}
[class*=col-] .grid {
  -ms-flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: -15px;
}

.col-12 {
  width: 100%;
  *width: 99.9%;
}

.col-11 {
  width: 91.6666666667%;
  *width: 91.5666666667%;
}

.col-10 {
  width: 83.3333333333%;
  *width: 83.2333333333%;
}

.col-9 {
  width: 75%;
  *width: 74.9%;
}

.col-8 {
  width: 66.6666666667%;
  *width: 66.5666666667%;
}

.col-7 {
  width: 58.3333333333%;
  *width: 58.2333333333%;
}

.col-6 {
  width: 50%;
  *width: 49.9%;
}

.col-5 {
  width: 41.6666666667%;
  *width: 41.5666666667%;
}

.col-4 {
  width: 33.3333333333%;
  *width: 33.2333333333%;
}

.col-3 {
  width: 25%;
  *width: 24.9%;
}

.col-2 {
  width: 16.6666666667%;
  *width: 16.5666666667%;
}

.col-1 {
  width: 8.3333333333%;
  *width: 8.2333333333%;
}

@media (min-width: 576px) {
  .col-xs-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-xs-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-xs-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-xs-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-xs-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-xs-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-xs-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-xs-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-xs-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-xs-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-xs-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-xs-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 768px) {
  .col-sm-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-sm-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-sm-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-sm-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-sm-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-sm-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-sm-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-sm-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-sm-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-sm-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-sm-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 992px) {
  .col-md-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-md-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-md-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-md-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-md-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-md-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-md-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-md-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-md-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-md-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-md-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-md-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1200px) {
  .col-lg-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-lg-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-lg-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-lg-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-lg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1600px) {
  .col-xlg-12 {
    width: 100%;
    *width: 99.9%;
  }
  .col-xlg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }
  .col-xlg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }
  .col-xlg-9 {
    width: 75%;
    *width: 74.9%;
  }
  .col-xlg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }
  .col-xlg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }
  .col-xlg-6 {
    width: 50%;
    *width: 49.9%;
  }
  .col-xlg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }
  .col-xlg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }
  .col-xlg-3 {
    width: 25%;
    *width: 24.9%;
  }
  .col-xlg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }
  .col-xlg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
.col-auto {
  -ms-flex: 1 0 0px;
  -webkit-flex: 1 0 0px;
  flex: 1 0 0px;
  width: auto;
}

@media (min-width: 576px) {
  .col-xs-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .col-sm-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 992px) {
  .col-md-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1200px) {
  .col-lg-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1600px) {
  .col-xlg-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
.order-12 {
  -ms-flex-order: 12;
  -webkit-order: 12;
  order: 12;
}

.order-11 {
  -ms-flex-order: 11;
  -webkit-order: 11;
  order: 11;
}

.order-10 {
  -ms-flex-order: 10;
  -webkit-order: 10;
  order: 10;
}

.order-9 {
  -ms-flex-order: 9;
  -webkit-order: 9;
  order: 9;
}

.order-8 {
  -ms-flex-order: 8;
  -webkit-order: 8;
  order: 8;
}

.order-7 {
  -ms-flex-order: 7;
  -webkit-order: 7;
  order: 7;
}

.order-6 {
  -ms-flex-order: 6;
  -webkit-order: 6;
  order: 6;
}

.order-5 {
  -ms-flex-order: 5;
  -webkit-order: 5;
  order: 5;
}

.order-4 {
  -ms-flex-order: 4;
  -webkit-order: 4;
  order: 4;
}

.order-3 {
  -ms-flex-order: 3;
  -webkit-order: 3;
  order: 3;
}

.order-2 {
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}

.order-1 {
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}

.order-0 {
  -ms-flex-order: 0;
  -webkit-order: 0;
  order: 0;
}

@media (min-width: 576px) {
  .order-xs-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }
  .order-xs-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }
  .order-xs-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }
  .order-xs-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }
  .order-xs-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }
  .order-xs-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }
  .order-xs-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }
  .order-xs-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }
  .order-xs-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }
  .order-xs-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }
  .order-xs-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  .order-xs-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
  .order-xs-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 768px) {
  .order-sm-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }
  .order-sm-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }
  .order-sm-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }
  .order-sm-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }
  .order-sm-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }
  .order-sm-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }
  .order-sm-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }
  .order-sm-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }
  .order-sm-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }
  .order-sm-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }
  .order-sm-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  .order-sm-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
  .order-sm-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 992px) {
  .order-md-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }
  .order-md-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }
  .order-md-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }
  .order-md-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }
  .order-md-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }
  .order-md-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }
  .order-md-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }
  .order-md-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }
  .order-md-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }
  .order-md-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }
  .order-md-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  .order-md-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
  .order-md-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 1200px) {
  .order-lg-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }
  .order-lg-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }
  .order-lg-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }
  .order-lg-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }
  .order-lg-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }
  .order-lg-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }
  .order-lg-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }
  .order-lg-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }
  .order-lg-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }
  .order-lg-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }
  .order-lg-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  .order-lg-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
  .order-lg-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 1600px) {
  .order-xlg-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }
  .order-xlg-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }
  .order-xlg-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }
  .order-xlg-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }
  .order-xlg-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }
  .order-xlg-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }
  .order-xlg-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }
  .order-xlg-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }
  .order-xlg-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }
  .order-xlg-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }
  .order-xlg-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  .order-xlg-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
  .order-xlg-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
.offset-11 {
  margin-left: 91.6666666667%;
  *margin-left: 91.5666666667%;
}

.offset-10 {
  margin-left: 83.3333333333%;
  *margin-left: 83.2333333333%;
}

.offset-9 {
  margin-left: 75%;
  *margin-left: 74.9%;
}

.offset-8 {
  margin-left: 66.6666666667%;
  *margin-left: 66.5666666667%;
}

.offset-7 {
  margin-left: 58.3333333333%;
  *margin-left: 58.2333333333%;
}

.offset-6 {
  margin-left: 50%;
  *margin-left: 49.9%;
}

.offset-5 {
  margin-left: 41.6666666667%;
  *margin-left: 41.5666666667%;
}

.offset-4 {
  margin-left: 33.3333333333%;
  *margin-left: 33.2333333333%;
}

.offset-3 {
  margin-left: 25%;
  *margin-left: 24.9%;
}

.offset-2 {
  margin-left: 16.6666666667%;
  *margin-left: 16.5666666667%;
}

.offset-1 {
  margin-left: 8.3333333333%;
  *margin-left: 8.2333333333%;
}

@media (min-width: 576px) {
  .offset-xs-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-xs-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-xs-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-xs-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-xs-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-xs-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-xs-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-xs-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-xs-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-xs-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-xs-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-xs-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 768px) {
  .offset-sm-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-sm-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-sm-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-sm-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-sm-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 992px) {
  .offset-md-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-md-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-md-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-md-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-md-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 1200px) {
  .offset-lg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-lg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-lg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-lg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-lg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 1600px) {
  .offset-xlg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }
  .offset-xlg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }
  .offset-xlg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }
  .offset-xlg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }
  .offset-xlg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }
  .offset-xlg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }
  .offset-xlg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }
  .offset-xlg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }
  .offset-xlg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }
  .offset-xlg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }
  .offset-xlg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }
  .offset-xlg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
.wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.no-wrap {
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.no-wrap [class*=col-] {
  -ms-flex-negative: 1;
  -webkit-flex-shrink: 1;
  flex-shrink: 1;
}

.wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
  -webkit-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

.direction-row {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.direction-row-reverse {
  -ms-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.direction-column {
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.direction-column-reverse {
  -ms-flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.align-start {
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.align-end {
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.align-end [class*=col-] {
  vertical-align: bottom;
}

.align-center {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.align-center [class*=col-] {
  vertical-align: middle;
}

.align-baseline {
  -ms-flex-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
}

.align-content-start {
  -ms-flex-line-pack: start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
}

.align-content-end {
  -ms-flex-line-pack: end;
  -webkit-align-content: flex-end;
  align-content: flex-end;
}
.align-content-end [class*=col-] {
  vertical-align: bottom;
}

.align-content-center {
  -ms-flex-line-pack: center;
  -webkit-align-content: center;
  align-content: center;
}

.align-content-space-between {
  -ms-flex-line-pack: justify;
  -webkit-align-content: space-between;
  align-content: space-between;
}

.align-content-space-around {
  -ms-flex-line-pack: distribute;
  -webkit-align-content: space-around;
  align-content: space-around;
}

.align-self-stretch {
  -ms-flex-item-align: stretch;
  -webkit-align-self: stretch;
  align-self: stretch;
}

.align-self-start {
  -ms-flex-item-align: start;
  -webkit-align-self: flex-start;
  align-self: flex-start;
}

.align-self-end {
  -ms-flex-item-align: end;
  -webkit-align-self: flex-end;
  align-self: flex-end;
  vertical-align: bottom;
}

.align-self-center {
  -ms-flex-item-align: center;
  -webkit-align-self: center;
  align-self: center;
  vertical-align: middle;
}

.align-self-baseline {
  -ms-flex-item-align: baseline;
  -webkit-align-self: baseline;
  align-self: baseline;
  vertical-align: baseline;
}

.justify-start {
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.justify-start.grid {
  text-align: left;
}

.justify-end {
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.justify-end.grid {
  text-align: right;
  -moz-text-align-last: right;
  text-align-last: right;
}
.justify-end.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-center {
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.justify-center.grid {
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}
.justify-center.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-between {
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.justify-space-between.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
.justify-space-between.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-around {
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
.justify-space-around.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
.justify-space-around.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.grid-bleed [class*=col-] {
  padding: 0;
}

.col-grid {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.col-grid.direction-row {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.col-bleed {
  padding: 0;
}

.col-bleed-x {
  padding: 15px 0;
}

.col-bleed-y {
  padding: 0 15px;
}

.flex-img {
  display: block;
  -ms-flex: 0 0 auto;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
  width: 100%;
  *width: auto;
}

.flex-footer {
  width: 100%;
  margin-top: auto;
  margin-bottom: 0;
}
.flex-footer > :last-child {
  margin-bottom: 0;
}

@media (min-width: 0px) and (max-width: 575px) {
  .hidden-xxs {
    display: none;
  }
}

@media (min-width: 576px) {
  .hidden-xs-up {
    display: none;
  }
}

@media (max-width: 767px) {
  .hidden-xs-down {
    display: none;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}

@media (min-width: 768px) {
  .hidden-sm-up {
    display: none;
  }
}

@media (max-width: 991px) {
  .hidden-sm-down {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none;
  }
}

@media (min-width: 992px) {
  .hidden-md-up {
    display: none;
  }
}

@media (max-width: 1199px) {
  .hidden-md-down {
    display: none;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none;
  }
}

@media (min-width: 1200px) {
  .hidden-lg-up {
    display: none;
  }
}

@media (max-width: 1599px) {
  .hidden-lg-down {
    display: none;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .hidden-lg {
    display: none;
  }
}

@media (min-width: 1600px) {
  .hidden-xlg {
    display: none;
  }
}

/**
 * Config
 */
/**
 * ----------------------
 * Un.titled
 * Config - Fonts
 * ----------------------
*/
/**
 * example
  clan-ultra = anywhere the weighting 950 is used
  clan-book = anywhere the weighting 475 is used
  clan-medium = anywhere the weighting 700 is used
*/
/* --- Fonts --- */
@font-face {
  font-family: "clan-bold";
  src: url("../font/clanot-bold-webfont.woff2") format("woff2"), url("../font/clanot-bold-webfont.woff") format("woff");
  font-weight: 950;
  font-style: normal;
}
@font-face {
  font-family: "clan-book";
  src: url("../font/clanot-book-webfont.woff2") format("woff2"), url("../font/clanot-book-webfont.woff") format("woff");
  font-weight: 475;
  font-style: normal;
}
@font-face {
  font-family: "clan-medium";
  src: url("../font/clanot-medium-webfont.woff2") format("woff2"), url("../font/clanot-medium-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "clan-news";
  src: url("../font/clanot-news-webfont.woff2") format("woff2"), url("../font/clanot-news-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "clan-ultra";
  src: url("../font/clanot-ultra-webfont.woff2") format("woff2"), url("../font/clanot-ultra-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/**
 * ----------------------
 * Un.titled
 * Config - Vars
 * ----------------------
 */
:root {
  --c-primary: #680BD8;
  --c-secondary: #E6007E;
  --c-white: #ffffff;
  --c-black: #000000;
  --c-pink: #E6007E;
  --c-purple: #680BD8;
  --c-light-blue: #5CEAFE;
  --c-dark-blue: #00295B;
  --c-darker-blue: #061922;
  --c-grey: #747779;
  --c-light-grey: #D9D9D6;
  --c-transparent-light-grey: rgba(217, 217, 214, 0.25);
  /**
  * example
    clan-ultra = anywhere the weighting 950 is used
    clan-book = anywhere the weighting 475 is used
    clan-medium = anywhere the weighting 700 is used
  */
  --fontBody: "clan-book", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontBold: "clan-bold", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontNews: "clan-news", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontBook: "clan-book", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontMedium: "clan-medium", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontUltra: "clan-ultra", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontSizeSmallest: 11px;
  --fontSizeSm: 14px;
  --fontSize: 16px;
  --fontSizeLg: 22px;
  --LineHeightSm: 16px;
  --lineHeight: 24px;
  --lineHeightLg: 28px;
  --containerWidth: 1250px;
  --bump: 30px;
  --bumpSmall: 26px;
  --bumpUnit: 8px;
  --easing: cubic-bezier(0.83, 0, 0.17, 1);
  --transition: 0.3s var(--easing);
}

/**
 * Breakpoints
 */
/**
 * Helpers
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Focus Visible
 * ----------------------
 */
/**
 * Focus Visible
 * https://github.com/WICG/focus-visible
 * Override base focus styles for mouse and touch interactions
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Font Smoothing
 * ----------------------
 */
/** 
 * Font Smoothing
 * Enables font smoothing for capable browsers.
 * Optionally force font-smoothing on non-retina devices.
 * @param {boolean} $force [false]
 * @return {string}
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Global mixins
 * ----------------------
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Table
 * ----------------------
 */
/**
 * Responsive Table
 * Creates a responsive table
 * Accepts a list of headers to replace main 
 * table headers on mobile.
 * @param {map} $headers
 * @return {string}
 */
.font-large {
  font-size: var(--fontlarge);
}

.font-larger {
  font-size: var(--fontlarger);
}

.line-height {
  line-height: var(--lineHeight);
}

.small-line-height {
  line-height: var(--smallLineHeight);
}

.padding-clear {
  padding: 0 !important;
}

.padding-y-clear {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.padding-x-clear {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.margin-clear {
  margin: 0 !important;
}

.col-bleed {
  padding: 0;
}

.col-bleed-x {
  padding: 15px 0;
}

.col-bleed-y {
  padding: 0 15px;
}

.padding-top {
  padding: calc(var(--bump) * 2) 0 0;
}

.pad-bottom {
  padding: 0 0 calc(var(--bump) * 2);
}

.pad-sides {
  padding: 0 calc(var(--bump) / 2);
}

.margin-top {
  margin: var(--bump) 0 0;
}

.margin-bottom {
  margin: 0 0 calc(var(--bump) * 2);
}

.pos-rel {
  position: relative;
}

.width-100 {
  width: 100%;
}

.max-width-100 {
  max-width: 100%;
}

.display-flex {
  display: flex;
}

.vertical-center {
  align-items: center;
}

.vertical-start {
  align-items: flex-start;
}

.self-start {
  align-self: start;
}

.self-center {
  align-self: center;
}

.align-items-start {
  align-items: flex-start;
}

.flex-center {
  align-items: center;
  align-content: center;
  justify-content: center;
}

.flex-end {
  justify-content: flex-end;
}

.flex-start {
  justify-content: flex-start;
}

.space-between {
  justify-content: space-between;
}

.flex-gap {
  gap: var(--bump);
}

.flex-gap-small {
  gap: var(--smallBump);
}

.flex-row-wrap {
  flex-flow: row wrap;
}

.text-align-center {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

.no-underline {
  text-decoration: none;
}
.no-underline:hover {
  text-decoration: none;
}

.bold {
  font-weight: bold;
}

.hide {
  display: none;
}

@media (max-width: 767px) {
  .mobile-hide {
    display: none;
  }
}

.mobile-only {
  display: none;
}
@media (max-width: 767px) {
  .mobile-only {
    display: block;
  }
}

@media (max-width: 991px) {
  .tab-hide {
    display: none;
  }
}

.pointer-events-none {
  pointer-events: none;
}

.transparent-bg {
  background-color: transparent;
}

section.pre-footer-pull,
div.pre-footer-pull {
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  margin-bottom: 0;
}
@media (max-width: 991px) {
  section.pre-footer-pull,
  div.pre-footer-pull {
    padding: calc(var(--bump) * 1) calc(var(--bump) / 2) calc(var(--bump) * 2);
  }
}

.black-text {
  color: var(--c-black);
}

.screen-readers {
  text-align: left;
  text-indent: -9999px;
  display: block;
  height: 0;
  width: 0;
}

.language-switcher-language-url,
.display-none {
  display: none;
}

.grid.max-width-100 {
  max-width: 100%;
}

/**
 * Base
 */
/**
 * ----------------------
 * Un.titled
 * Base - Defaults
 * ----------------------
 */
a[data-extlink] {
  position: relative;
  display: inline-flex;
  gap: calc(var(--bump) / 3);
}
a[data-extlink]:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: auto;
  background-image: url("../img/icon-arrow-diagonal-black.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all 0.6s var(--easing);
}
a[data-extlink]:hover:after {
  background-image: url("../img/icon-arrow-diagonal.svg");
}
a[data-extlink].a-btn--white:after, .Pink a[data-extlink]:after, .Purple a[data-extlink]:after, .Black a[data-extlink]:after, .DarkBlue a[data-extlink]:after {
  background-image: url("../img/icon-arrow-diagonal.svg");
}
a[data-extlink].a-btn--white:hover:after, .Pink a[data-extlink]:hover:after, .Purple a[data-extlink]:hover:after, .Black a[data-extlink]:hover:after, .DarkBlue a[data-extlink]:hover:after {
  background-image: url("../img/icon-arrow-diagonal-black.svg");
}
a[data-extlink] svg {
  display: none;
}

.grid {
  max-width: var(--containerWidth);
}

.container-full > .grid {
  max-width: none;
}

ul.menu,
ul.plain {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.menu li,
ul.plain li {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  backface-visibility: hidden;
  transition: var(--transition);
}
img.lazy {
  opacity: 0;
}
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    img.lazy {
      opacity: 1;
    }
  }
}
img.loaded {
  opacity: 1;
}

.svg {
  transition: all var(--transition);
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.video-container,
.media-vimeo-video,
.media--type-remote-video {
  position: relative;
  padding-bottom: 50%;
  padding-top: 25px;
  height: 0;
}
.video-container iframe,
.media-vimeo-video iframe,
.media--type-remote-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#baguetteBox-overlay {
  background-color: rgba(255, 255, 255, 0.8) !important;
}
#baguetteBox-overlay.visible {
  opacity: 1;
}
#baguetteBox-overlay .full-image {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
#baguetteBox-overlay .full-image figure {
  display: inline;
  margin: 0;
  height: 100%;
}
#baguetteBox-overlay .full-image img {
  display: inline-block;
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
#baguetteBox-overlay .full-image figcaption {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  line-height: 1.8;
  white-space: normal;
  color: #ccc;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
  font-family: sans-serif;
}
#baguetteBox-overlay .full-image:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

#baguetteBox-slider {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  white-space: nowrap;
  transition: left 0.4s ease, transform 0.4s ease;
}
#baguetteBox-slider.bounce-from-right {
  animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
  animation: bounceFromLeft 0.4s ease-out;
}

.baguetteBox-button {
  position: absolute;
  cursor: pointer;
  outline: none;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 15%;
  background-color: rgba(50, 50, 50, 0.5);
  color: #ddd;
  font: 1.6em sans-serif;
  transition: background-color 0.4s ease;
}
.baguetteBox-button:focus, .baguetteBox-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}
.baguetteBox-button#previous-button, .baguetteBox-button#next-button {
  height: 30px;
}
.baguetteBox-button#previous-button > svg, .baguetteBox-button#next-button > svg {
  display: none !important;
}
.baguetteBox-button#previous-button:after, .baguetteBox-button#next-button:after {
  content: "";
  background-image: url("../img/icon-arrow-white-thin.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: flex;
  width: 24px;
  height: 19px;
  margin: auto;
}
.baguetteBox-button#next-button {
  right: 2%;
}
.baguetteBox-button#previous-button {
  left: 2%;
}
.baguetteBox-button#previous-button:after {
  transform: rotate(180deg);
}
.baguetteBox-button#close-button {
  top: 20px;
  right: 2%;
  right: calc(2% + 6px);
  width: 30px;
  height: 30px;
  background-color: rgba(50, 50, 50, 0.75);
}
.baguetteBox-button#close-button:hover {
  background-color: rgb(50, 50, 50);
}
.baguetteBox-button#close-button:focus, .baguetteBox-button#close-button.focus-visible {
  outline: 5px dotted var(--c-black);
}
.baguetteBox-button svg {
  position: absolute;
  left: 0;
  top: 0;
}

/*
  Preloader
  Borrowed from http://tobiasahlin.com/spinkit/
*/
.baguetteBox-spinner {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  animation: bounce 2s infinite ease-in-out;
}

.baguetteBox-double-bounce2 {
  animation-delay: -1s;
}

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}
article.o-node.o-full > section.m-entity:last-of-type > .hasBgColour {
  padding-bottom: 104px;
}
article.o-node.o-full > section.m-entity:first-of-type .m-entity__animated-divider {
  display: none;
}
@media (max-width: 767px) {
  article.o-node.o-full > section.m-entity.hasBgColour, article.o-node.o-full > section.m-entity.m-entity__quote {
    margin: 0;
  }
}
article.o-node.o-full > section.m-entity.hasBgColour .m-entity__animated-divider, article.o-node.o-full > section.m-entity.m-entity__quote .m-entity__animated-divider {
  display: none;
}
article.o-node.o-full > section.m-entity.hasBgColour + section.m-entity .m-entity__animated-divider, article.o-node.o-full > section.m-entity.m-entity__quote + section.m-entity .m-entity__animated-divider {
  display: none;
}

/**
 * ----------------------
 * Un.titled
 * Base - Typography
 * ----------------------
 */
/**
* example
  clan-ultra = anywhere the weighting 950 is used
  clan-book = anywhere the weighting 475 is used
  clan-medium = anywhere the weighting 700 is used
*/
/**
 * Heading
 */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: var(--fontUltra);
  margin-top: 0;
  font-weight: normal;
  margin-bottom: 1rem;
  letter-spacing: 0.44px;
}

h1,
.h1 {
  font-size: clamp(36px, 6vw, 92px);
  line-height: clamp(36px, 6vw, 92px);
  padding: 0;
}

h2,
.h2 {
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: clamp(36px, 4.5vw, 70px);
}

h3,
.h3 {
  font-size: clamp(18px, 4.5vw, 22px);
  line-height: clamp(26px, 4.5vw, 28px);
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  line-height: 1.5;
  font-size: 1rem;
}
@media (max-width: 575px) {
  h4,
  .h4,
  h5,
  .h5,
  h6,
  .h6 {
    margin-bottom: 0.5rem;
  }
}

/**
 * Paragraphs
 */
p {
  margin: 1.5em 0;
}
p:first-of-type {
  margin-top: 0;
}

/**
 * Lists
 */
ul,
ol {
  margin: 1.5rem 0;
  padding-left: 18px;
}

/**
 * Links
 */
a {
  color: inherit;
  font-weight: inherit;
  text-decoration: underline;
  transition: all var(--transition);
}
a:hover, a:focus, a:active {
  text-decoration: none;
  color: currentColor;
}
a:focus {
  outline: 3px dashed currentColor;
}
.js-focus-visible a:focus:not(.focus-visible) {
  outline: 0;
}
a.no-link {
  pointer-events: none;
}

.no-click {
  pointer-events: none;
  cursor: default;
}

::-moz-selection {
  background-color: var(--c-secondary);
  color: var(--c-primary);
}

::selection {
  background-color: var(--c-secondary);
  color: var(--c-primary);
}

/**
 * Buttons
 */
button:focus {
  outline: 3px dashed currentColor;
}
.js-focus-visible button:focus:not(.focus-visible) {
  outline: 0;
}

/**
 * Inline
 */
strong {
  font-weight: normal;
  font-family: var(--fontBold);
}

em {
  font-family: var(--fontItalic);
  font-style: italic;
}

span {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
}

address {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
  font-style: normal;
}

small {
  font-size: var(--fontSizeSmallest);
  line-height: var(--LineHeightSm);
}

hr {
  border: solid var(--c-primary);
  border-width: 0 0 1px 0;
  width: 100%;
}

figure {
  margin: 0;
}

/**
 * ----------------------
 * Un.titled
 * Base - Drupal 8 specific
 * ----------------------
 */
.pager {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: var(--bump);
  flex-wrap: wrap;
}
.pager li {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .pager {
    margin-top: calc(var(--bump) / 2);
  }
}
.pager li {
  display: inline-block;
}
.pager li a {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 16px;
  line-height: 22px;
  font-family: var(--fontBook);
  text-decoration: none;
  padding: 0 10px 0 5px;
}
.pager li a:hover {
  color: var(--c-primary);
  text-decoration: none;
}
.pager li:first-child a {
  border-right: 0;
  padding-right: 5px;
}
.pager li:first-child a:before {
  content: "";
  position: absolute;
  left: -15px;
  width: 8px;
  height: 16px;
  background-image: url("../img/icon-chevron-left-black.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(155deg) brightness(99%) contrast(104%);
}
.pager li:last-child a {
  border-right: 0;
  padding-right: 5px;
}
.pager li:last-child a:after {
  content: "";
  position: absolute;
  right: -15px;
  width: 8px;
  height: 16px;
  background-image: url("../img/icon-chevron-right-black.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(155deg) brightness(99%) contrast(104%);
}
.pager li.active > a {
  color: var(--c-primary);
  font-family: var(--fontBook);
  text-decoration: underline;
}

.admin-functions {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: var(--c-primary);
  max-width: 100%;
  z-index: 31;
  display: none;
}
.user-logged-in .admin-functions {
  display: block;
}
.user-logged-in .admin-functions {
  top: 39px;
}
.toolbar-tray-open .admin-functions {
  top: 79px;
}
.admin-functions [class*=col-] {
  padding: 0 calc(var(--bump) / 2);
}
.admin-functions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  margin: calc(var(--bump) / 2) 0;
  padding: 0;
}
.admin-functions ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-functions ul li {
  margin-right: var(--bump);
  display: inline-block;
}
.admin-functions ul li a {
  color: var(--c-white);
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
}

a.skip-main {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}

a.skip-main:focus,
a.skip-main:active {
  font-weight: bold;
  color: var(--c-white);
  background-color: var(--c-primary);
  left: auto;
  top: auto;
  width: 30%;
  height: auto;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  text-align: center;
  font-size: 1.2em;
  z-index: 999;
}

.ajax-progress-throbber {
  display: none;
}

/**
 * ----------------------
 * Un.titled
 * Base - Main
 * ----------------------
 */
/**
 * Styles
 */
html,
body {
  -moz-font-smoothing: grayscale;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: var(--fontSize);
  box-sizing: border-box;
  line-height: var(--lineHeight);
  font-family: var(--fontBody);
  font-weight: 600;
  letter-spacing: 0;
}
html[data-search=open],
body[data-search=open] {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

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

body {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
body.greyscale {
  filter: grayscale(100%);
}

main {
  position: relative;
}

/**
 * ----------------------
 * Un.titled
 * Base - Animations
 * ----------------------
 */
@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
    display: flex;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    display: none;
  }
}
@keyframes heightTransitionIn {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 10000px;
  }
}
@keyframes heightTransitionOut {
  0% {
    max-height: 10000px;
  }
  100% {
    max-height: 0;
  }
}
@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-2px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(2px, 0, 0);
  }
}
/**
* Atoms
*/
/**
 * ----------------------
 * Un.titled
 * Atoms - Grid
 * ----------------------
 */
/**
 * Styling
 */
.a-grid {
  display: grid;
  gap: calc(var(--bump) / 2);
}
.a-grid--1 {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.a-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .a-grid--2 {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
}
.a-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .a-grid--3 {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
  }
}
.a-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 575px) {
  .a-grid--4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Nav Toggle
 * ----------------------
 */
/**
 * Config
 */
/**
  * Styles
  */
.a-nav-toggle {
  display: block;
  border: 0;
  padding: 0;
  background-color: transparent;
  width: 32px;
  height: 20px;
  transition: var(--transition);
  position: relative;
  outline: none;
}
@media (max-width: 991px) {
  .a-nav-toggle {
    margin-left: calc(var(--bump) / 10);
  }
}
[data-nav=open] .a-nav-toggle, [data-search=open] .a-nav-toggle {
  width: 23px;
  height: 23px;
  z-index: 2;
}
[data-search=open] .a-nav-toggle {
  transform: translateX(-150%);
  z-index: 0;
}
.a-nav-toggle:hover, .a-nav-toggle:focus {
  outline: none;
}
.a-nav-toggle__wrapper {
  height: 44px;
  width: 44px;
  opacity: 1;
  background-color: transparent;
  border: 0;
  transition: var(--transition);
  grid-column: 4;
}
[data-search=open] .a-nav-toggle__wrapper {
  width: 0;
  padding: 0;
}
.a-nav-toggle__line {
  display: block;
  background: var(--c-white);
  width: 32px;
  height: 2px;
  position: absolute;
  left: 0;
  border-radius: 1px;
  transition: var(--transition);
}
.a-nav-toggle__line-1 {
  top: 0;
}
:hover > .a-nav-toggle__line-1 {
  transform: translateY(-1px);
}
[data-nav=open] .a-nav-toggle__line-1, [data-search=open] .a-nav-toggle__line-1 {
  transform: translateY(11.5px) translateX(0) rotate(45deg);
  background: var(--c-white);
}
.a-nav-toggle__line-2 {
  top: 50%;
}
[data-nav=open] .a-nav-toggle__line-2, [data-search=open] .a-nav-toggle__line-2 {
  opacity: 0;
}
.a-nav-toggle__line-3 {
  top: 100%;
}
:hover > .a-nav-toggle__line-3 {
  transform: translateY(1px);
}
[data-nav=open] .a-nav-toggle__line-3, [data-search=open] .a-nav-toggle__line-3 {
  transform: translateY(-11.5px) translateX(0) rotate(-45deg);
  background: var(--c-white);
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Buttons
 * ----------------------
 */
/**
 * examples
a-btn 
a-btn a-btn--white
a-btn  a-btn--with-arrow
a-btn a-btn--black  a-btn--with-arrow  a-btn--with-arrow-black
 **/
/**
 * Styles
 **/
.a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.a-btn--white {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.a-btn--white:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.a-btn--with-arrow::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  margin-left: calc(var(--bump) / 3);
  width: 17px;
  height: 11px;
  display: inline-block;
  background-image: url("../img/icon-diagonal-arrow-black.svg");
  background-position: center;
  transition: all 0.6s var(--easing);
}
.a-btn--with-arrow:hover::after {
  background-image: url("../img/icon-diagonal-arrow.svg");
}
.a-btn--with-arrow-black:after {
  background-image: url("../img/icon-diagonal-arrow.svg");
}
.a-btn--with-arrow-black:hover:after {
  background-image: url("../img/icon-diagonal-arrow-black.svg");
}
.a-btn--subnavAnchorLink {
  font-family: var(--fontUltra);
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.32px;
  padding: 6px 16px;
  border-radius: 18px;
  text-decoration: none;
  background: none;
  border: 0;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.3s var(--easing);
}
.a-btn--subnavAnchorLink:hover {
  background-color: var(--c-secondary);
  color: var(--c-white);
}
.a-btn--active {
  background-color: var(--c-black);
  color: var(--c-white);
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Image credits
 * ----------------------
 */
.a-image-credit {
  position: absolute;
  bottom: var(--bump);
  right: var(--bump);
  z-index: 4;
  cursor: help !important;
  height: var(--bump);
  width: var(--bump);
  border: 0;
}
@media (max-width: 767px) {
  .a-image-credit {
    bottom: calc(var(--bump) / 2);
    right: calc(var(--bump) / 2);
  }
}
.a-image-credit span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  text-transform: none;
  line-height: 15px;
  text-align: center;
}
.a-image-credit:before {
  content: attr(data-credit);
  text-indent: 0;
  background: var(--c-primary);
  color: var(--c-white);
  opacity: 0;
  position: absolute;
  right: var(--bump);
  top: 0;
  z-index: -1;
  padding: 0 21px;
  height: var(--bump);
  line-height: var(--bump);
  white-space: nowrap;
  transition: opacity var(--transition);
  pointer-events: none;
  border-radius: 3px;
  letter-spacing: 0;
  word-spacing: 0;
}
.a-image-credit:focus::before, .a-image-credit:active::before, .a-image-credit:hover::before {
  opacity: 1;
}

/**
* ----------------------
* Un.titled
* Atoms - Breadcrumbs
* ----------------------
*/
/**
* Styling
*/
.a-breadcrumb {
  margin: 0;
  padding: 0;
}
.a-breadcrumb .col-sm-12 {
  padding-bottom: 0;
}
.ct__event-content .a-breadcrumb, .ct__courses-and-learning-content .a-breadcrumb, .ct__eat-drink-content .a-breadcrumb, .ct__venues-content .a-breadcrumb, .ct__stories-press-content .a-breadcrumb {
  background: rgba(217, 217, 217, 0.3);
}
.a-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.a-breadcrumb ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a-breadcrumb ol li {
  margin-right: calc(var(--bump) / 6);
  white-space: nowrap;
  font-size: 11px;
}
.a-breadcrumb ol li a {
  font-size: 11px;
}
.a-breadcrumb ol li::after {
  content: "/";
  margin-left: calc(var(--bump) / 10);
}
.a-breadcrumb ol li:last-child::after {
  display: none;
}

/**
* ----------------------
* Un.titled
* Atoms - Search button
* ----------------------
*/
/**
* Config
*/
/**
* Styling
*/
.a-search-button {
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--fontSizeLg);
  height: 44px;
  width: 44px;
}
@media (max-width: 991px) {
  .a-search-button {
    flex-direction: column-reverse;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .a-search-button {
    margin-left: auto;
  }
}
.a-search-button:hover {
  color: var(--c-secondary);
}
.a-search-button:hover svg g {
  stroke: var(--c-grey);
}
[data-search=open] .a-search-button {
  position: relative;
  z-index: 2;
}
.a-search-button span {
  line-height: 1;
}
@media (min-width: 993px) and (max-width: 1199px) {
  .a-search-button span {
    display: none;
    visibility: hidden;
  }
}
@media (max-width: 991px) {
  .a-search-button span {
    font-size: var(--fontSizeSm);
  }
}
.a-search-button svg {
  width: 20px;
  height: 20px;
  display: block;
  visibility: visible;
}
.a-search-button svg g {
  transition: var(--transition);
}
@media (max-width: 767px) {
  .a-search-button svg {
    margin-left: 0;
    height: 26px;
  }
}
[data-search=open] .a-search-button svg {
  display: none;
  visibility: hidden;
}
.a-search-button .a-search-button__close {
  margin-left: auto;
  display: none;
  visibility: hidden;
  transition: all 0.6s var(--easing);
}
.a-search-button .a-search-button__close::before, .a-search-button .a-search-button__close::after {
  content: "";
  display: block;
  background: var(--c-black);
  width: 32px;
  height: 2px;
  position: absolute;
  right: 0;
  border-radius: 1px;
  transition: var(--transition);
}
.a-search-button .a-search-button__close::before {
  transform: translateY(9px) translateX(0) rotate(45deg);
}
.a-search-button .a-search-button__close::after {
  transform: translateY(-9px) translateX(0) rotate(-45deg);
}
@media (min-width: 1461px) {
  .a-search-button .a-search-button__close {
    transform: translateX(100%);
  }
}
[data-search=open] .a-search-button .a-search-button__close {
  display: none;
}
[data-search=open] .a-search-button .a-search-button__close::before, [data-search=open] .a-search-button .a-search-button__close::after {
  display: none;
}
@media (max-width: 767px) {
  [data-search=open] .a-search-button .a-search-button__close {
    text-align: left;
    text-indent: -9999px;
  }
  [data-search=open] .a-search-button .a-search-button__close::before, [data-search=open] .a-search-button .a-search-button__close::after {
    display: block;
  }
}

/**
* ----------------------
* Un.titled
* Atoms - Scroll banner cta
* ----------------------
*/
/**
* Config
*/
:root {
  --scrollColour: var(--c-white);
}

@keyframes arrowBounce {
  0% {
    transform: translatey(2.5px);
  }
  25% {
    transform: translatey(-2.5px);
  }
  50% {
    transform: translatey(2.5px);
  }
  75% {
    transform: translatey(-2.5px);
  }
  100% {
    transform: translatey(2.5px);
  }
}
/**
  * Styling
  */
.a-scroll-cta {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin: 0 0 var(--bump);
  text-decoration: none;
  color: var(--scrollColour);
  transition: 0.2s var(--easing);
  opacity: 1;
  width: 44px;
  height: 44px;
}
.a-scroll-cta--back-to-top {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .a-scroll-cta--back-to-top {
    position: absolute;
    top: auto;
    right: 50%;
    bottom: calc(var(--bump) / 3);
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
  }
}
.a-scroll-cta--back-to-top::after {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  background-image: url("../img/icon-back-to-top.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  animation: arrowBounce 2s ease-in-out infinite;
  transition: 0.2s var(--easing);
}
.a-scroll-cta--back-to-top:hover {
  opacity: 0.7;
}
.a-scroll-cta--back-to-top:hover::after {
  animation: none;
}

.a-rss {
  position: absolute;
  bottom: 15px;
  width: 100%;
}
.a-rss img {
  width: 24px;
}

/**
 * Molecules
 */
/**
 * ----------------------
 * Un.titled
 * Molecules - Emergency Message
 * ----------------------
 */
/**
 * Config
 **/
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  80% {
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/**
 * Styling
 **/
.m-emmsg {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--c-primary);
  z-index: 100;
  color: var(--c-white);
  padding: calc(var(--bump) / 2) 0;
  max-height: 30vh;
  border-top: 1px solid var(--c-white);
  display: none;
}
.m-emmsg[data-state=visible] {
  opacity: 0;
  display: block;
  transform: translateY(100%);
  animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
}
@media (max-width: 575px) {
  .m-emmsg {
    padding: 0;
  }
}
.m-emmsg h3 {
  margin-bottom: 0.5rem;
  width: 85%;
}
.m-emmsg p {
  width: 85%;
}
.m-emmsg button {
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  position: absolute;
  top: calc(var(--bump) / 2);
  right: calc(var(--bump) / 2);
  height: 35px;
  width: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: var(--transition);
}
.m-emmsg button path {
  fill: var(--c-white);
  transition: var(--transition);
}
.m-emmsg button:hover path {
  fill: var(--c-secondary);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Entities
 * ----------------------
 */
.m-entity {
  margin: 55px 0;
  /**
   * ----------------------
   * Un.titled
   * Molecules - Node body copy
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity views
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Quotes
   * ----------------------
   */
  /**
   * Config
   */
  /**
   * Styles
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Accordions
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Gallery
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text
   * ----------------------
   */
  /**
  * ----------------------
  * Un.titled
  * Molecules - Downloads
  * ----------------------
  */
  /**
  * Config
  */
  /**
  * Styling
  */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Embed
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Hompage Image & Text
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Homepage highlights 
   * ----------------------
   */
}
.m-entity__highlighted-content.hasBgColour:has(+ .hasBgColour), .m-entity__homepage-highlight.hasBgColour:has(+ .hasBgColour), .m-entity__embed.hasBgColour:has(+ .hasBgColour), .m-entity__quote.hasBgColour:has(+ .hasBgColour), .m-entity__ymal .m-entity__events-yaml.hasBgColour:has(+ .hasBgColour), .m-entity__large-signpost.hasBgColour:has(+ .hasBgColour) {
  margin: 0;
}
.m-entity__highlighted-content ~ .hasBgColour, .m-entity__homepage-highlight ~ .hasBgColour, .m-entity__embed ~ .hasBgColour, .m-entity__quote ~ .hasBgColour, .m-entity__ymal .m-entity__events-yaml ~ .hasBgColour, .m-entity__large-signpost ~ .hasBgColour {
  margin: 0;
}
.m-entity:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .m-entity:last-of-type {
    margin-bottom: var(--bump);
  }
  .m-entity:last-of-type.hasBgColour {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .m-entity {
    margin: var(--bump) 0;
  }
}
.m-entity img {
  width: 100%;
  height: auto;
  display: block;
}
.m-entity__body p:last-of-type {
  margin-bottom: 0;
}
.m-entity__body .col-sm-8 {
  padding-bottom: 0;
}
.m-entity:not(.ct__listing-page .m-entity) h2.h3 {
  font-family: var(--fontUltra);
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: clamp(36px, 4.5vw, 70px);
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
@media (max-width: 767px) {
  .m-entity:not(.ct__listing-page .m-entity) h2.h3 {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-entity:not(.ct__listing-page .m-entity).m-entity__testimonial-with-image h2.h3, .m-entity:not(.ct__listing-page .m-entity).m-entity__information-highlight h2.h3, .m-entity:not(.ct__listing-page .m-entity).m-entity__large-signpost h2.h3 {
  font-size: clamp(18px, 4.5vw, 22px);
  line-height: clamp(26px, 4.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 1.75px);
}
.m-entity:not(.ct__listing-page .m-entity).m-entity__testimonial-with-image h2.h3, .m-entity:not(.ct__listing-page .m-entity).m-entity__information-highlight h2.h3, .m-entity:not(.ct__listing-page .m-entity).m-entity__video h2.h3, .m-entity:not(.ct__listing-page .m-entity).m-entity__quote h2.h3 {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-entity__animated-divider {
  position: relative;
  width: calc(100% - 30px);
  margin: 0 auto 10px auto;
  padding: 0;
}
.m-entity__animated-divider.is-visible ~ div {
  padding-top: calc(var(--bump) * 2);
}
@media (max-width: 767px) {
  .m-entity__animated-divider.is-visible ~ div {
    padding-top: var(--bump);
  }
}
.Pink .m-entity__intro-information .m-entity__animated-divider, .Purple .m-entity__intro-information .m-entity__animated-divider, .Black .m-entity__intro-information .m-entity__animated-divider, .DarkBlue .m-entity__intro-information .m-entity__animated-divider, .Grey .m-entity__intro-information .m-entity__animated-divider, .m-entity__quote__wrapper .m-entity__intro-information .m-entity__animated-divider {
  visibility: hidden;
}
.m-entity__animated-divider:before {
  content: "";
  position: absolute;
  left: 0;
  display: inline-flex;
  width: 100%;
  max-width: 0;
  height: 1px;
  background-color: var(--c-black);
  transition: all 2s var(--easing);
}
.m-entity__animated-divider.is-visible:before {
  max-width: 10000px;
}
.m-entity__body p a, .m-entity__text p a, .m-entity__accordion p a, .m-entity__image-text p a {
  text-decoration: underline;
}
.m-entity__body p a:hover, .m-entity__text p a:hover, .m-entity__accordion p a:hover, .m-entity__image-text p a:hover {
  text-decoration: none;
}
.m-entity__body ul, .m-entity__text ul, .m-entity__accordion ul {
  margin-left: 15px;
}
.m-entity__body ul li, .m-entity__text ul li, .m-entity__accordion ul li {
  list-style: none;
  position: relative;
  margin-bottom: 10px;
}
.m-entity__body ul li::before, .m-entity__text ul li::before, .m-entity__accordion ul li::before {
  content: "";
  border-radius: 50%;
  height: 7px;
  width: 7px;
  display: block;
  position: absolute;
  left: -15px;
  top: 6px;
  background-color: var(--c-primary);
}
.m-entity__accordion__inner, .m-entity__text__inner, .m-entity__downloads__inner, .m-entity__embed__inner, .m-entity__highlighted-content__inner, .m-entity__linked-logos__inner, .m-entity__text__inner {
  display: grid;
  grid-template-columns: 1fr 60%;
  gap: calc(var(--bump) * 2);
  padding: 0 calc(var(--bump) / 2) 0 calc(var(--bump) / 2);
}
.hasBgColour .m-entity__accordion__inner, .hasBgColour .m-entity__text__inner, .hasBgColour .m-entity__downloads__inner, .hasBgColour .m-entity__embed__inner, .hasBgColour .m-entity__highlighted-content__inner, .hasBgColour .m-entity__linked-logos__inner, .hasBgColour .m-entity__text__inner {
  padding-top: calc(var(--bump) * 2);
  padding-bottom: calc(var(--bump) * 2);
}
@media (max-width: 767px) {
  .m-entity__accordion__inner, .m-entity__text__inner, .m-entity__downloads__inner, .m-entity__embed__inner, .m-entity__highlighted-content__inner, .m-entity__linked-logos__inner, .m-entity__text__inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}
.m-entity__accordion__inner--no-title, .m-entity__text__inner--no-title, .m-entity__downloads__inner--no-title, .m-entity__embed__inner--no-title, .m-entity__highlighted-content__inner--no-title, .m-entity__linked-logos__inner--no-title, .m-entity__text__inner--no-title {
  grid-template-columns: 596px 1px;
}
.m-entity__accordion__content, .m-entity__text__content, .m-entity__downloads__content, .m-entity__embed__content, .m-entity__highlighted-content__content, .m-entity__linked-logos__content, .m-entity__text__content {
  width: 100%;
}
.m-entity__accordion__content p:last-of-type, .m-entity__text__content p:last-of-type, .m-entity__downloads__content p:last-of-type, .m-entity__embed__content p:last-of-type, .m-entity__highlighted-content__content p:last-of-type, .m-entity__linked-logos__content p:last-of-type, .m-entity__text__content p:last-of-type {
  margin: 0;
}
.m-entity__accordion__content a.a-btn, .m-entity__text__content a.a-btn, .m-entity__downloads__content a.a-btn, .m-entity__embed__content a.a-btn, .m-entity__highlighted-content__content a.a-btn, .m-entity__linked-logos__content a.a-btn, .m-entity__text__content a.a-btn {
  margin: var(--bump) 0 0;
}
.m-entity__body.o-default__body {
  margin-top: 0;
}
.m-entity__image-wrapper {
  position: relative;
}
.m-entity__image-wrapper img {
  max-height: 580px;
  width: auto;
  max-width: 100%;
  margin: auto;
}
.m-entity__image__wrapper h2 {
  text-align: center !important;
  -moz-text-align-last: center !important;
       text-align-last: center !important;
}
.m-entity__view:first-child {
  margin-top: 0;
}
.m-entity__view:last-child {
  margin-bottom: 0;
}
.m-entity__quote blockquote {
  font-family: var(--fontTitle);
  margin: 0 auto calc(var(--bump) / 2);
  width: 100%;
  max-width: 596px;
}
.m-entity__quote blockquote > p:last-of-type {
  margin: 0;
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
  font-family: var(--fontUltra);
}
.m-entity__quote-info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.m-entity__quote cite {
  font-family: var(--fontNews);
  font-style: normal;
}
.m-entity__quote .rating {
  display: inline-flex;
  margin: auto 0 var(--bumpSmall);
}
.m-entity__quote .rating__star {
  width: 20px;
  height: 20px;
  margin-right: 5px;
  stroke: #fff;
}
.m-entity__quote .rating__star:last-child {
  margin-right: 0;
}
.m-entity__quote .rating--1 .rating__star:nth-child(-n+1) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__quote .rating--2 .rating__star:nth-child(-n+2) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__quote .rating--3 .rating__star:nth-child(-n+3) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__quote .rating--4 .rating__star:nth-child(-n+4) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__quote .rating--5 .rating__star:nth-child(-n+5) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__quote__wrapper {
  background-color: var(--c-secondary);
}
.m-entity__quote__inner {
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  color: #fff;
}
.m-entity__quote__inner > h2.h3 {
  font-family: var(--fontUltra);
  font-size: clamp(18px, 4.5vw, 22px);
  line-height: clamp(24px, 4.5vw, 27px);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
}
.m-entity__accordion {
  /* title opened */
  /* title closed */
}
.m-entity__accordion .accordion > p:first-of-type button {
  padding-top: 0;
}
.m-entity__accordion .accordion > div:last-of-type p {
  margin-bottom: 0;
}
.m-entity__accordion .accordion__header {
  display: flex;
  width: 100%;
  border: 0;
  background-color: transparent;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
  justify-content: space-between;
  align-items: center;
  padding: var(--bumpSmall) calc(var(--bumpSmall) * 1.5) var(--bumpSmall) 0;
  border-top: 1px solid var(--c-black);
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: 0.44px;
}
.m-entity__accordion .accordion__header::after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: var(--bumpSmall);
  width: var(--bumpSmall);
  position: absolute;
  right: var(--bumpSmall);
}
.m-entity__accordion .accordion__header:focus, .m-entity__accordion .accordion__header.focus-visible {
  outline: 5px dotted var(--c-black);
}
.m-entity__accordion .accordion__title {
  font-family: var(--fontUltra);
  margin: 0;
}
.m-entity__accordion .accordion__title:first-of-type .accordion__header {
  border: 0;
}
.m-entity__accordion .accordion__title:first-of-type .accordion__header:focus, .m-entity__accordion .accordion__title:first-of-type .accordion__header.focus-visible {
  outline: 5px dotted var(--c-black);
}
.m-entity__accordion .accordion__title:last-of-type {
  font-family: var(--fontUltra);
}
.m-entity__accordion .js-accordion__panel {
  display: none;
}
.m-entity__accordion .accordion__panel {
  display: block;
  overflow: hidden;
  opacity: 1;
  transition: var(--transition);
  visibility: visible;
  transition-delay: 0s;
  font-family: var(--fontBook);
}
.m-entity__accordion .accordion__panel[aria-hidden=true] {
  display: block;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.2s, 0s, 0s;
}
.m-entity__accordion .accordion__panel p:last-child {
  margin-bottom: var(--bump);
}
.m-entity__accordion [aria-expanded]:after {
  background-image: url("../img/icon-cross.svg");
  transition: var(--transition);
  transform: rotate(45DEG);
}
.m-entity__accordion [aria-expanded=true]:after {
  transform: rotate(0DEG);
}
.m-entity__accordion [aria-expanded=false]:after {
  transform: none;
  transform: rotate(45DEG);
}
.m-entity__gallery {
  overflow-x: hidden;
}
.m-entity__gallery a:hover {
  opacity: 0.7;
}
.m-entity__gallery .gallery {
  display: grid !important;
  gap: var(--bumpSmall);
}
@media (max-width: 767px) {
  .m-entity__gallery .gallery {
    display: flex !important;
    gap: 0;
  }
}
.m-entity__gallery__inner {
  padding: 0 calc(var(--bump) / 2) 0 calc(var(--bump) / 2);
}
.m-entity__gallery__inner .swiper,
.m-entity__gallery__inner .mobileSwiper {
  overflow: visible;
}
@media (min-width: 769px) {
  .m-entity__gallery__inner .swiper,
  .m-entity__gallery__inner .mobileSwiper {
    margin-top: 40px;
  }
}
.m-entity__gallery__inner .swiper .swiper-button-disabled,
.m-entity__gallery__inner .mobileSwiper .swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .m-entity__gallery__inner .swiper,
  .m-entity__gallery__inner .mobileSwiper {
    position: relative;
    margin: 20px 0 -20px 0;
  }
}
.m-entity__gallery__inner .swiper-wrapper,
.m-entity__gallery__inner .mobileSwiper-wrapper {
  height: 100% !important;
}
.m-entity__gallery__inner .swiper-button-prev, .m-entity__gallery__inner .swiper-button-next,
.m-entity__gallery__inner .mobileSwiper-button-prev,
.m-entity__gallery__inner .mobileSwiper-button-next {
  width: 24px;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-entity__gallery__inner .swiper-button-prev, .m-entity__gallery__inner .swiper-button-next,
  .m-entity__gallery__inner .mobileSwiper-button-prev,
  .m-entity__gallery__inner .mobileSwiper-button-next {
    display: flex;
    top: 0;
    bottom: auto;
    transform: translateY(-100%);
  }
}
.m-entity__gallery__inner .swiper-button-prev:after, .m-entity__gallery__inner .swiper-button-prev:before, .m-entity__gallery__inner .swiper-button-next:after, .m-entity__gallery__inner .swiper-button-next:before,
.m-entity__gallery__inner .mobileSwiper-button-prev:after,
.m-entity__gallery__inner .mobileSwiper-button-prev:before,
.m-entity__gallery__inner .mobileSwiper-button-next:after,
.m-entity__gallery__inner .mobileSwiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 24px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-entity__gallery__inner .swiper-button-next,
.m-entity__gallery__inner .mobileSwiper-button-next {
  right: 0;
}
.m-entity__gallery__inner .swiper-button-next:after,
.m-entity__gallery__inner .mobileSwiper-button-next:after {
  background-image: url("../img/icon-arrow-black-right.svg");
}
.m-entity__gallery__inner .swiper-button-next.Pink:after, .m-entity__gallery__inner .swiper-button-next.Purple:after, .m-entity__gallery__inner .swiper-button-next.Black:after, .m-entity__gallery__inner .swiper-button-next.DarkBlue:after,
.m-entity__gallery__inner .mobileSwiper-button-next.Pink:after,
.m-entity__gallery__inner .mobileSwiper-button-next.Purple:after,
.m-entity__gallery__inner .mobileSwiper-button-next.Black:after,
.m-entity__gallery__inner .mobileSwiper-button-next.DarkBlue:after {
  background-image: url("../img/icon-arrow-white-right.svg");
}
.m-entity__gallery__inner .swiper-button-next:before,
.m-entity__gallery__inner .mobileSwiper-button-next:before {
  display: none;
}
.m-entity__gallery__inner .swiper-button-prev,
.m-entity__gallery__inner .mobileSwiper-button-prev {
  left: 0;
}
.m-entity__gallery__inner .swiper-button-prev:before,
.m-entity__gallery__inner .mobileSwiper-button-prev:before {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__gallery__inner .swiper-button-prev.Pink:before, .m-entity__gallery__inner .swiper-button-prev.Purple:before, .m-entity__gallery__inner .swiper-button-prev.Black:before, .m-entity__gallery__inner .swiper-button-prev.DarkBlue:before,
.m-entity__gallery__inner .mobileSwiper-button-prev.Pink:before,
.m-entity__gallery__inner .mobileSwiper-button-prev.Purple:before,
.m-entity__gallery__inner .mobileSwiper-button-prev.Black:before,
.m-entity__gallery__inner .mobileSwiper-button-prev.DarkBlue:before {
  background-image: url("../img/icon-arrow-white-left.svg");
}
.m-entity__gallery__inner .swiper-button-prev:after,
.m-entity__gallery__inner .mobileSwiper-button-prev:after {
  display: none;
}
.m-entity__gallery__inner .swiper-slide a:focus, .m-entity__gallery__inner .swiper-slide a.focus-visible,
.m-entity__gallery__inner .mobileSwiper-slide a:focus,
.m-entity__gallery__inner .mobileSwiper-slide a.focus-visible {
  display: block;
  outline: 5px dotted var(--c-black);
}
.m-entity__image-text__inner {
  display: grid;
  grid-template-columns: 596px 1fr;
  gap: calc(var(--bump) * 3);
  align-items: flex-start;
  justify-content: space-between;
  padding: calc(var(--bump) / 2) calc(var(--bump) / 2) 0 calc(var(--bump) / 2);
  width: 100%;
}
@media (max-width: 1199px) {
  .m-entity__image-text__inner {
    display: flex;
  }
}
@media (max-width: 767px) {
  .m-entity__image-text__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--bump) / 2);
    align-items: center;
  }
}
.m-entity__image-text__inner picture {
  max-width: 596px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__image-text__inner picture {
    max-width: 100%;
  }
}
.m-entity__image-text__inner__reverse {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .m-entity__image-text__inner__reverse {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__image-text__content {
  width: 100%;
}
.m-entity__image-text__content a {
  margin-top: 20px;
}
.m-entity__image-text__content p:last-of-type {
  margin: 0;
}
.m-entity__image-text__content p a {
  margin: 0;
}
.m-entity__image-text__title {
  display: block;
}
@media (max-width: 767px) {
  .m-entity__image-text__title {
    display: none;
  }
}
.m-entity__image-text__title--mobile {
  display: none;
  margin: 0;
}
@media (max-width: 767px) {
  .m-entity__image-text__title--mobile {
    display: block;
  }
}
.m-entity__image-text__subtitle {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
  font-family: var(--fontUltra);
  margin: 0 0 calc(var(--bumpSmall) / 2);
}
.m-entity__downloads ul, .m-entity__downloads ol {
  margin: 0 0 var(--bump);
}
.m-entity__downloads__content {
  display: flex;
  flex-direction: column;
  gap: var(--bump);
}
.m-entity__downloads__files {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: calc(var(--bump) / 3);
}
.m-entity__downloads .file {
  padding-left: 0;
  background-image: none;
  font-family: var(--fontTitle);
}
.m-entity__downloads .file a {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: calc(var(--bump) / 3);
  font-family: var(--fontUltra);
  text-decoration: none;
}
.m-entity__downloads .file a:hover {
  text-decoration: underline;
}
.m-entity__downloads .file a:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 16px;
  background-image: url("../img/icon-download.svg");
  content: "";
  position: relative;
  display: inline-flex;
  min-width: 16px;
  min-height: 16px;
}
.m-entity__embed iframe {
  width: 100%;
}
.m-entity__embed__wrapper {
  color: var(--c-black);
  width: 100%;
}
.m-entity__embed__wrapper.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__embed__wrapper.Purple .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__embed__wrapper.Purple .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__embed__wrapper.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
.m-entity__embed__wrapper.DarkBlue .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__embed__wrapper.DarkBlue .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__embed__wrapper.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__embed__wrapper.White .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__embed__wrapper.White .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__embed__wrapper.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__embed__wrapper.Grey .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__embed__wrapper.Grey .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__embed__wrapper.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__embed__wrapper.Pink .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__embed__wrapper.Pink .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__embed__wrapper.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__embed__wrapper.Black .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__embed__wrapper.Black .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__entity-ref-item__wrapper {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-entity__entity-ref-item__wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__ymal {
  overflow-x: hidden;
}
.m-entity__ymal__wrapper {
  color: var(--c-black);
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  width: 100%;
}
.m-entity__ymal__wrapper.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__ymal__wrapper.Purple .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__ymal__wrapper.Purple .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__ymal__wrapper.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
.m-entity__ymal__wrapper.DarkBlue .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__ymal__wrapper.DarkBlue .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__ymal__wrapper.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__ymal__wrapper.White .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__ymal__wrapper.White .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__ymal__wrapper.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__ymal__wrapper.Grey .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__ymal__wrapper.Grey .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__ymal__wrapper.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__ymal__wrapper.Pink .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__ymal__wrapper.Pink .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__ymal__wrapper.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__ymal__wrapper.Black .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__ymal__wrapper.Black .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__ymal__wrapper .swiper,
.m-entity__ymal__wrapper .mobileSwiper {
  overflow: visible;
}
@media (min-width: 769px) {
  .m-entity__ymal__wrapper .swiper,
  .m-entity__ymal__wrapper .mobileSwiper {
    margin-top: 40px;
  }
}
.m-entity__ymal__wrapper .swiper .swiper-button-disabled,
.m-entity__ymal__wrapper .mobileSwiper .swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .m-entity__ymal__wrapper .swiper,
  .m-entity__ymal__wrapper .mobileSwiper {
    position: relative;
    margin: 20px 0 -20px 0;
  }
}
.m-entity__ymal__wrapper .swiper-wrapper,
.m-entity__ymal__wrapper .mobileSwiper-wrapper {
  height: 100% !important;
}
.m-entity__ymal__wrapper .swiper-button-prev, .m-entity__ymal__wrapper .swiper-button-next,
.m-entity__ymal__wrapper .mobileSwiper-button-prev,
.m-entity__ymal__wrapper .mobileSwiper-button-next {
  width: 24px;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-entity__ymal__wrapper .swiper-button-prev, .m-entity__ymal__wrapper .swiper-button-next,
  .m-entity__ymal__wrapper .mobileSwiper-button-prev,
  .m-entity__ymal__wrapper .mobileSwiper-button-next {
    display: flex;
    top: 0;
    bottom: auto;
    transform: translateY(-100%);
  }
}
.m-entity__ymal__wrapper .swiper-button-prev:after, .m-entity__ymal__wrapper .swiper-button-prev:before, .m-entity__ymal__wrapper .swiper-button-next:after, .m-entity__ymal__wrapper .swiper-button-next:before,
.m-entity__ymal__wrapper .mobileSwiper-button-prev:after,
.m-entity__ymal__wrapper .mobileSwiper-button-prev:before,
.m-entity__ymal__wrapper .mobileSwiper-button-next:after,
.m-entity__ymal__wrapper .mobileSwiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 24px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-entity__ymal__wrapper .swiper-button-next,
.m-entity__ymal__wrapper .mobileSwiper-button-next {
  right: 0;
}
.m-entity__ymal__wrapper .swiper-button-next:after,
.m-entity__ymal__wrapper .mobileSwiper-button-next:after {
  background-image: url("../img/icon-arrow-black-right.svg");
}
.m-entity__ymal__wrapper .swiper-button-next.Pink:after, .m-entity__ymal__wrapper .swiper-button-next.Purple:after, .m-entity__ymal__wrapper .swiper-button-next.Black:after, .m-entity__ymal__wrapper .swiper-button-next.DarkBlue:after,
.m-entity__ymal__wrapper .mobileSwiper-button-next.Pink:after,
.m-entity__ymal__wrapper .mobileSwiper-button-next.Purple:after,
.m-entity__ymal__wrapper .mobileSwiper-button-next.Black:after,
.m-entity__ymal__wrapper .mobileSwiper-button-next.DarkBlue:after {
  background-image: url("../img/icon-arrow-white-right.svg");
}
.m-entity__ymal__wrapper .swiper-button-next:before,
.m-entity__ymal__wrapper .mobileSwiper-button-next:before {
  display: none;
}
.m-entity__ymal__wrapper .swiper-button-prev,
.m-entity__ymal__wrapper .mobileSwiper-button-prev {
  left: 0;
}
.m-entity__ymal__wrapper .swiper-button-prev:before,
.m-entity__ymal__wrapper .mobileSwiper-button-prev:before {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__ymal__wrapper .swiper-button-prev.Pink:before, .m-entity__ymal__wrapper .swiper-button-prev.Purple:before, .m-entity__ymal__wrapper .swiper-button-prev.Black:before, .m-entity__ymal__wrapper .swiper-button-prev.DarkBlue:before,
.m-entity__ymal__wrapper .mobileSwiper-button-prev.Pink:before,
.m-entity__ymal__wrapper .mobileSwiper-button-prev.Purple:before,
.m-entity__ymal__wrapper .mobileSwiper-button-prev.Black:before,
.m-entity__ymal__wrapper .mobileSwiper-button-prev.DarkBlue:before {
  background-image: url("../img/icon-arrow-white-left.svg");
}
.m-entity__ymal__wrapper .swiper-button-prev:after,
.m-entity__ymal__wrapper .mobileSwiper-button-prev:after {
  display: none;
}
.m-entity__ymal__wrapper .swiper-slide a:focus, .m-entity__ymal__wrapper .swiper-slide a.focus-visible,
.m-entity__ymal__wrapper .mobileSwiper-slide a:focus,
.m-entity__ymal__wrapper .mobileSwiper-slide a.focus-visible {
  display: block;
  outline: 5px dotted var(--c-black);
}
.m-entity__ymal__inner {
  display: grid !important;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 767px) {
  .m-entity__ymal__inner {
    display: flex !important;
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}
.m-entity__highlighted-content__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .m-entity__highlighted-content__content {
    align-items: center;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-entity__highlighted-content__content > p {
  margin: 0 0 var(--bump);
}
.hasBgColour .m-entity__highlighted-content__inner {
  padding-bottom: calc(var(--bump) * 2);
}
.m-entity__highlighted-content__wrapper {
  color: var(--c-black);
}
.m-entity__highlighted-content__wrapper.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__highlighted-content__wrapper.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__highlighted-content__wrapper.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__highlighted-content__wrapper.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__highlighted-content__wrapper.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__highlighted-content__wrapper.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
@media (max-width: 767px) {
  .m-entity__information-highlight.Purple {
    background-color: var(--c-purple);
    color: var(--c-white);
  }
  .m-entity__information-highlight.DarkBlue {
    background-color: var(--c-dark-blue);
    color: var(--c-white);
  }
  .m-entity__information-highlight.White {
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .m-entity__information-highlight.Grey {
    background-color: var(--c-transparent-light-grey);
    color: var(--c-black);
  }
  .m-entity__information-highlight.Pink {
    background-color: var(--c-pink);
    color: var(--c-white);
  }
  .m-entity__information-highlight.Black {
    background-color: var(--c-black);
    color: var(--c-white);
  }
}
.m-entity__information-highlight__inner {
  color: var(--c-black);
  padding: var(--bump) calc(var(--bump) / 2);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-entity__information-highlight__inner.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__information-highlight__inner.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
.m-entity__information-highlight__inner.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__information-highlight__inner.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__information-highlight__inner.Grey .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__information-highlight__inner.Grey .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__information-highlight__inner.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__information-highlight__inner.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
@media (max-width: 767px) {
  .m-entity__information-highlight__inner {
    background-color: transparent !important;
    padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  }
}
.m-entity__information-highlight__inner > h2.h3 {
  font-family: var(--fontUltra);
  font-size: clamp(18px, 4.5vw, 22px);
  line-height: clamp(24px, 4.5vw, 27px);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
}
.m-entity__information-highlight__inner > p {
  margin: 0 auto var(--bump);
  width: 100%;
  max-width: 596px;
}
.m-entity__linked-logos__inner__logos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: calc(var(--bump) * 2);
}
@media (max-width: 767px) {
  .m-entity__linked-logos__inner__logos {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--bump);
  }
}
.m-entity__linked-logos__inner__logos picture {
  display: block;
  margin: auto;
  max-width: 120px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__linked-logos__inner__logos picture {
    max-width: 90px;
  }
}
.m-entity__linked-logos__inner__logos picture img {
  width: auto;
  max-width: 120px;
}
.m-entity__testimonial-with-image blockquote {
  font-family: var(--fontTitle);
  margin: 0 0 calc(var(--bump) / 2);
}
.m-entity__testimonial-with-image blockquote > p:last-of-type {
  margin: 0;
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
  font-family: var(--fontUltra);
}
.m-entity__testimonial-with-image-info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.m-entity__testimonial-with-image p, .m-entity__testimonial-with-image cite, .m-entity__testimonial-with-image h2.h3 {
  color: #fff;
}
.m-entity__testimonial-with-image cite {
  font-family: var(--fontNews);
  font-style: normal;
}
.m-entity__testimonial-with-image .rating {
  display: inline-flex;
  margin: auto 0 var(--bumpSmall);
}
.m-entity__testimonial-with-image .rating__star {
  width: 20px;
  height: 20px;
  margin-right: 5px;
  stroke: var(--c-black);
}
.m-entity__testimonial-with-image .rating__star:last-child {
  margin-right: 0;
}
.m-entity__testimonial-with-image .rating--1 .rating__star:nth-child(-n+1) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__testimonial-with-image .rating--2 .rating__star:nth-child(-n+2) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__testimonial-with-image .rating--3 .rating__star:nth-child(-n+3) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__testimonial-with-image .rating--4 .rating__star:nth-child(-n+4) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__testimonial-with-image .rating--5 .rating__star:nth-child(-n+5) path {
  fill: #fff;
  stroke: #fff;
}
.m-entity__testimonial-with-image__inner {
  display: flex;
  flex-direction: row;
  gap: calc(var(--bump) * 3);
  align-items: center;
  justify-content: space-between;
  padding: calc(var(--bump) * 2) calc(var(--bump) * 3);
  width: 100%;
  background-color: var(--c-secondary);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media (max-width: 767px) {
  .m-entity__testimonial-with-image__inner {
    flex-direction: column;
    gap: var(--bump);
    align-items: center;
    padding: calc(var(--bump) * 2) var(--bump);
  }
}
.m-entity__testimonial-with-image__inner picture {
  max-width: 595px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__testimonial-with-image__inner picture {
    max-width: 100%;
  }
}
.m-entity__testimonial-with-image__content {
  width: 100%;
}
.m-entity__testimonial-with-image__content p:last-of-type {
  margin: 0 0 var(--bump);
}
.m-entity__testimonial-with-image__content > h2.h3 {
  font-family: var(--fontUltra);
  font-size: clamp(18px, 4.5vw, 22px);
  line-height: clamp(24px, 4.5vw, 27px);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
}
.m-entity__testimonial-with-image__title {
  display: block;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media (max-width: 767px) {
  .m-entity__testimonial-with-image__title {
    display: none;
  }
}
.m-entity__testimonial-with-image__title--mobile {
  display: none;
  margin: 0;
}
@media (max-width: 767px) {
  .m-entity__testimonial-with-image__title--mobile {
    display: block;
  }
}
.m-entity__testimonial-with-image__subtitle {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
  font-family: var(--fontUltra);
  margin: 0 0 calc(var(--bumpSmall) / 2);
}
.m-entity__video h2.h3 {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  margin: 0;
}
.m-entity__video .m-entity__video__wrapper {
  width: 100%;
}
.m-entity__large-signpost {
  margin: 0;
}
.m-entity__large-signpost + .o-footer {
  margin-top: -105px;
}
@media (max-width: 767px) {
  .m-entity__large-signpost + .o-footer {
    margin-top: 0;
  }
}
.m-entity__large-signpost__inner {
  display: flex;
  flex-direction: row-reverse;
  gap: calc(var(--bump) * 3);
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__inner {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
    align-items: center;
  }
}
.m-entity__large-signpost__inner picture {
  max-width: 595px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__inner picture {
    max-width: 100%;
  }
}
.m-entity__large-signpost__inner--no-image {
  display: flex;
  flex-direction: column;
  gap: var(--bump);
  align-items: center;
  justify-content: center;
}
.m-entity__large-signpost__inner--no-image .m-entity__large-signpost__title.h3,
.m-entity__large-signpost__inner--no-image p,
.m-entity__large-signpost__inner--no-image a.a-btn {
  display: flex;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__inner--no-image .m-entity__large-signpost__title.h3,
  .m-entity__large-signpost__inner--no-image p,
  .m-entity__large-signpost__inner--no-image a.a-btn {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-entity__large-signpost__inner--no-image .m-entity__large-signpost__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.m-entity__large-signpost__content {
  width: 100%;
}
.m-entity__large-signpost__content p:last-of-type {
  margin: 0 0 var(--bump);
}
.m-entity__large-signpost__title {
  display: block;
}
.m-entity__large-signpost__title.h3 {
  font-size: clamp(18px, 4.5vw, 22px);
  line-height: clamp(26px, 4.5vw, 26px);
  letter-spacing: 0.54px;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__title.h3 {
    text-align: left;
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
.m-entity__large-signpost__wrapper {
  color: var(--c-black);
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  padding-bottom: 105px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__wrapper {
    padding: calc(var(--bump) / 6) calc(var(--bump) / 2) calc(var(--bump) * 1.25);
  }
}
.m-entity__large-signpost__wrapper.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__large-signpost__wrapper.Purple .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__large-signpost__wrapper.Purple .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__large-signpost__wrapper.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
.m-entity__large-signpost__wrapper.DarkBlue .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__large-signpost__wrapper.DarkBlue .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__large-signpost__wrapper.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__large-signpost__wrapper.White .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__large-signpost__wrapper.White .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__large-signpost__wrapper.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__large-signpost__wrapper.Grey .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__large-signpost__wrapper.Grey .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__large-signpost__wrapper.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__large-signpost__wrapper.Pink .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__large-signpost__wrapper.Pink .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__large-signpost__wrapper.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__large-signpost__wrapper.Black .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__large-signpost__wrapper.Black .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__large-signpost__wrapper .swiper,
.m-entity__large-signpost__wrapper .mobileSwiper {
  overflow: visible;
}
@media (min-width: 769px) {
  .m-entity__large-signpost__wrapper .swiper,
  .m-entity__large-signpost__wrapper .mobileSwiper {
    margin-top: 40px;
  }
}
.m-entity__large-signpost__wrapper .swiper .swiper-button-disabled,
.m-entity__large-signpost__wrapper .mobileSwiper .swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__wrapper .swiper,
  .m-entity__large-signpost__wrapper .mobileSwiper {
    position: relative;
    margin: 20px 0 -20px 0;
  }
}
.m-entity__large-signpost__wrapper .swiper-wrapper,
.m-entity__large-signpost__wrapper .mobileSwiper-wrapper {
  height: 100% !important;
}
.m-entity__large-signpost__wrapper .swiper-button-prev, .m-entity__large-signpost__wrapper .swiper-button-next,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next {
  width: 24px;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__wrapper .swiper-button-prev, .m-entity__large-signpost__wrapper .swiper-button-next,
  .m-entity__large-signpost__wrapper .mobileSwiper-button-prev,
  .m-entity__large-signpost__wrapper .mobileSwiper-button-next {
    display: flex;
    top: 0;
    bottom: auto;
    transform: translateY(-100%);
  }
}
.m-entity__large-signpost__wrapper .swiper-button-prev:after, .m-entity__large-signpost__wrapper .swiper-button-prev:before, .m-entity__large-signpost__wrapper .swiper-button-next:after, .m-entity__large-signpost__wrapper .swiper-button-next:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 24px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-entity__large-signpost__wrapper .swiper-button-next,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next {
  right: 0;
}
.m-entity__large-signpost__wrapper .swiper-button-next:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next:after {
  background-image: url("../img/icon-arrow-black-right.svg");
}
.m-entity__large-signpost__wrapper .swiper-button-next.Pink:after, .m-entity__large-signpost__wrapper .swiper-button-next.Purple:after, .m-entity__large-signpost__wrapper .swiper-button-next.Black:after, .m-entity__large-signpost__wrapper .swiper-button-next.DarkBlue:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next.Pink:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next.Purple:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next.Black:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next.DarkBlue:after {
  background-image: url("../img/icon-arrow-white-right.svg");
}
.m-entity__large-signpost__wrapper .swiper-button-next:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-next:before {
  display: none;
}
.m-entity__large-signpost__wrapper .swiper-button-prev,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev {
  left: 0;
}
.m-entity__large-signpost__wrapper .swiper-button-prev:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev:before {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__large-signpost__wrapper .swiper-button-prev.Pink:before, .m-entity__large-signpost__wrapper .swiper-button-prev.Purple:before, .m-entity__large-signpost__wrapper .swiper-button-prev.Black:before, .m-entity__large-signpost__wrapper .swiper-button-prev.DarkBlue:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev.Pink:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev.Purple:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev.Black:before,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev.DarkBlue:before {
  background-image: url("../img/icon-arrow-white-left.svg");
}
.m-entity__large-signpost__wrapper .swiper-button-prev:after,
.m-entity__large-signpost__wrapper .mobileSwiper-button-prev:after {
  display: none;
}
.m-entity__large-signpost__wrapper .swiper-slide a:focus, .m-entity__large-signpost__wrapper .swiper-slide a.focus-visible,
.m-entity__large-signpost__wrapper .mobileSwiper-slide a:focus,
.m-entity__large-signpost__wrapper .mobileSwiper-slide a.focus-visible {
  display: block;
  outline: 5px dotted var(--c-black);
}
.m-entity__signpost {
  overflow-x: hidden;
}
.m-entity__signpost__wrapper {
  color: var(--c-black);
  width: 100%;
}
.m-entity__signpost__inner {
  display: grid !important;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(1, 1fr);
}
@media (max-width: 767px) {
  .m-entity__signpost__inner {
    display: flex !important;
    flex-direction: column;
  }
  .m-entity__signpost__inner > .a-grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
.m-entity__signpost__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(var(--bump) * 3);
  padding: var(--bump) 0 calc(var(--bump) * 2);
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__signpost__content {
    grid-template-columns: repeat(1, 1fr);
    padding: var(--bump) 0 calc(var(--bump) * 1.5);
    gap: 0;
  }
}
.m-entity__homepage-signposts {
  overflow: hidden;
}
.m-entity__homepage-signposts__wrapper {
  color: var(--c-black);
  width: 100%;
}
.m-entity__homepage-signposts__wrapper .swiper,
.m-entity__homepage-signposts__wrapper .mobileSwiper {
  overflow: visible;
}
@media (min-width: 769px) {
  .m-entity__homepage-signposts__wrapper .swiper,
  .m-entity__homepage-signposts__wrapper .mobileSwiper {
    margin-top: 40px;
  }
}
.m-entity__homepage-signposts__wrapper .swiper .swiper-button-disabled,
.m-entity__homepage-signposts__wrapper .mobileSwiper .swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .m-entity__homepage-signposts__wrapper .swiper,
  .m-entity__homepage-signposts__wrapper .mobileSwiper {
    position: relative;
    margin: 20px 0 -20px 0;
  }
}
.m-entity__homepage-signposts__wrapper .swiper-wrapper,
.m-entity__homepage-signposts__wrapper .mobileSwiper-wrapper {
  height: 100% !important;
}
.m-entity__homepage-signposts__wrapper .swiper-button-prev, .m-entity__homepage-signposts__wrapper .swiper-button-next,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next {
  width: 24px;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-entity__homepage-signposts__wrapper .swiper-button-prev, .m-entity__homepage-signposts__wrapper .swiper-button-next,
  .m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev,
  .m-entity__homepage-signposts__wrapper .mobileSwiper-button-next {
    display: flex;
    top: 0;
    bottom: auto;
    transform: translateY(-100%);
  }
}
.m-entity__homepage-signposts__wrapper .swiper-button-prev:after, .m-entity__homepage-signposts__wrapper .swiper-button-prev:before, .m-entity__homepage-signposts__wrapper .swiper-button-next:after, .m-entity__homepage-signposts__wrapper .swiper-button-next:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 24px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-entity__homepage-signposts__wrapper .swiper-button-next,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next {
  right: 0;
}
.m-entity__homepage-signposts__wrapper .swiper-button-next:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next:after {
  background-image: url("../img/icon-arrow-black-right.svg");
}
.m-entity__homepage-signposts__wrapper .swiper-button-next.Pink:after, .m-entity__homepage-signposts__wrapper .swiper-button-next.Purple:after, .m-entity__homepage-signposts__wrapper .swiper-button-next.Black:after, .m-entity__homepage-signposts__wrapper .swiper-button-next.DarkBlue:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next.Pink:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next.Purple:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next.Black:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next.DarkBlue:after {
  background-image: url("../img/icon-arrow-white-right.svg");
}
.m-entity__homepage-signposts__wrapper .swiper-button-next:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-next:before {
  display: none;
}
.m-entity__homepage-signposts__wrapper .swiper-button-prev,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev {
  left: 0;
}
.m-entity__homepage-signposts__wrapper .swiper-button-prev:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev:before {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__homepage-signposts__wrapper .swiper-button-prev.Pink:before, .m-entity__homepage-signposts__wrapper .swiper-button-prev.Purple:before, .m-entity__homepage-signposts__wrapper .swiper-button-prev.Black:before, .m-entity__homepage-signposts__wrapper .swiper-button-prev.DarkBlue:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev.Pink:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev.Purple:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev.Black:before,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev.DarkBlue:before {
  background-image: url("../img/icon-arrow-white-left.svg");
}
.m-entity__homepage-signposts__wrapper .swiper-button-prev:after,
.m-entity__homepage-signposts__wrapper .mobileSwiper-button-prev:after {
  display: none;
}
.m-entity__homepage-signposts__wrapper .swiper-slide a:focus, .m-entity__homepage-signposts__wrapper .swiper-slide a.focus-visible,
.m-entity__homepage-signposts__wrapper .mobileSwiper-slide a:focus,
.m-entity__homepage-signposts__wrapper .mobileSwiper-slide a.focus-visible {
  display: block;
  outline: 5px dotted var(--c-black);
}
.m-entity__homepage-signposts__inner {
  padding: calc(var(--bump) * 2) 0 0 0;
  display: grid !important;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-entity__homepage-signposts__inner {
    display: flex !important;
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}
.m-entity__homepage-signposts__inner .o-teaser__buttons {
  display: none !important;
}
.m-entity__homepage-signposts__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.m-entity__homepage-signposts__content > h2.h1, .m-entity__homepage-signposts__content > p {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  margin: 0 0 var(--bumpSmall);
  width: 100%;
  max-width: 596px;
}
.m-entity__homepage-signposts__content > .a-btn {
  align-self: flex-end;
}
@media (min-width: 993px) {
  .m-entity__homepage-signposts__content > .a-btn {
    position: absolute;
    bottom: 0;
  }
}
@media (max-width: 991px) {
  .m-entity__homepage-signposts__content > .a-btn {
    align-self: center;
  }
}
.m-entity__homepage-signposts__content p {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 30px);
}
.m-entity__homepage-signposts__content p:last-of-type {
  margin: 0 0 var(--bump);
}
@media (max-width: 991px) {
  .m-entity__homepage-signposts__content p:last-of-type {
    margin: 0 0 calc(var(--bump) / 2);
  }
}
.m-entity__homepage-image-text__inner {
  padding: calc(var(--bump) / 2) 0 calc(var(--bump) / 2);
  display: flex;
  flex-direction: row;
  gap: calc(var(--bump) * 3);
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__inner {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
    align-items: center;
  }
}
.m-entity__homepage-image-text__inner picture {
  max-width: 595px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__inner picture {
    max-width: 100%;
  }
}
.m-entity__homepage-image-text__inner__reverse {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__inner__reverse {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__homepage-image-text__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 492px;
}
.m-entity__homepage-image-text__content > h2.h1 {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-entity__homepage-image-text__content > h2.h1, .m-entity__homepage-image-text__content > p {
  margin: 0 0 calc(var(--bumpSmall) / 2);
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__content > h2.h1, .m-entity__homepage-image-text__content > p {
    max-width: 100%;
  }
}
.m-entity__homepage-image-text__content > p > a {
  font-size: 18px;
}
.m-entity__homepage-image-text__content > .a-btn {
  align-self: flex-start;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__content__wrapper {
    display: none;
  }
}
.m-entity__homepage-image-text__content__wrapper > h2.h1, .m-entity__homepage-image-text__content__wrapper > p {
  text-align: center;
}
.m-entity__homepage-image-text__title {
  display: block;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__title {
    display: none;
  }
}
.m-entity__homepage-image-text__title--mobile {
  display: none;
  margin: 0;
}
@media (max-width: 767px) {
  .m-entity__homepage-image-text__title--mobile {
    display: block;
  }
}
.m-entity__homepage-image-text__subtitle {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
  font-family: var(--fontUltra);
  margin: 0 auto calc(var(--bumpSmall) / 2) 0;
}
.m-entity__homepage-image-text__inner-wrapper {
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2) 0 calc(var(--bump) / 2);
  width: 100%;
}
.m-entity__homepage-highlight__wrapper.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Purple .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Purple .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__homepage-highlight__wrapper.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
.m-entity__homepage-highlight__wrapper.DarkBlue .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__homepage-highlight__wrapper.DarkBlue .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__homepage-highlight__wrapper.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__homepage-highlight__wrapper.White .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__homepage-highlight__wrapper.White .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__homepage-highlight__wrapper.Grey .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
.m-entity__homepage-highlight__wrapper.Grey .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Pink .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Pink .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__homepage-highlight__wrapper.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Black .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
.m-entity__homepage-highlight__wrapper.Black .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__homepage-highlight__inner {
  display: flex;
  flex-direction: row;
  gap: calc(var(--bump) * 3);
  align-items: center;
  justify-content: space-between;
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__homepage-highlight__inner {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
    align-items: center;
  }
}
.m-entity__homepage-highlight__inner picture {
  max-width: 595px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__homepage-highlight__inner picture {
    max-width: 100%;
  }
}
.m-entity__homepage-highlight__inner__reverse {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .m-entity__homepage-highlight__inner__reverse {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__homepage-highlight__content {
  width: 100%;
  max-width: 492px;
}
.m-entity__homepage-highlight__content > h2.h3 {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
.m-entity__homepage-highlight__content p:last-of-type {
  margin: 0 0 var(--bump);
}
.m-entity__homepage-highlight__title {
  display: block;
}
.m-entity__homepage-highlight__subtitle {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 28px);
  letter-spacing: clamp(0.54px, 2.5vw, 0.44px);
  font-family: var(--fontUltra);
  margin: 0 0 calc(var(--bumpSmall) / 2);
}
.m-entity__homepage-full-width-parallax-image__wrapper {
  overflow: hidden;
}
.m-entity__homepage-full-width-parallax-image__image {
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-attachment: fixed;
  background-size: cover;
  height: 683px;
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .m-entity__homepage-full-width-parallax-image__image {
    background-attachment: local;
  }
}
.m-entity__homepage-full-width-parallax-image__image:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: url("../img/asset-homepage-parallax-triangle.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateY(-46.5%);
  z-index: 0;
}
@media (max-width: 767px) {
  .m-entity__homepage-full-width-parallax-image__image:before {
    transform: translateY(-56.5%);
  }
}
@media (max-width: 767px) {
  .m-entity__homepage-full-width-parallax-ima {
    display: none;
  }
}
.m-entity__homepage-our-stories {
  overflow-x: hidden;
}
.m-entity__homepage-our-stories__wrapper {
  color: var(--c-black);
  width: 100%;
}
.m-entity__homepage-our-stories__wrapper .swiper,
.m-entity__homepage-our-stories__wrapper .mobileSwiper {
  overflow: visible;
}
@media (min-width: 769px) {
  .m-entity__homepage-our-stories__wrapper .swiper,
  .m-entity__homepage-our-stories__wrapper .mobileSwiper {
    margin-top: 40px;
  }
}
.m-entity__homepage-our-stories__wrapper .swiper .swiper-button-disabled,
.m-entity__homepage-our-stories__wrapper .mobileSwiper .swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .m-entity__homepage-our-stories__wrapper .swiper,
  .m-entity__homepage-our-stories__wrapper .mobileSwiper {
    position: relative;
    margin: 20px 0 -20px 0;
  }
}
.m-entity__homepage-our-stories__wrapper .swiper-wrapper,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-wrapper {
  height: 100% !important;
}
.m-entity__homepage-our-stories__wrapper .swiper-button-prev, .m-entity__homepage-our-stories__wrapper .swiper-button-next,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next {
  width: 24px;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-entity__homepage-our-stories__wrapper .swiper-button-prev, .m-entity__homepage-our-stories__wrapper .swiper-button-next,
  .m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev,
  .m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next {
    display: flex;
    top: 0;
    bottom: auto;
    transform: translateY(-100%);
  }
}
.m-entity__homepage-our-stories__wrapper .swiper-button-prev:after, .m-entity__homepage-our-stories__wrapper .swiper-button-prev:before, .m-entity__homepage-our-stories__wrapper .swiper-button-next:after, .m-entity__homepage-our-stories__wrapper .swiper-button-next:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 24px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-entity__homepage-our-stories__wrapper .swiper-button-next,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next {
  right: 0;
}
.m-entity__homepage-our-stories__wrapper .swiper-button-next:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next:after {
  background-image: url("../img/icon-arrow-black-right.svg");
}
.m-entity__homepage-our-stories__wrapper .swiper-button-next.Pink:after, .m-entity__homepage-our-stories__wrapper .swiper-button-next.Purple:after, .m-entity__homepage-our-stories__wrapper .swiper-button-next.Black:after, .m-entity__homepage-our-stories__wrapper .swiper-button-next.DarkBlue:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next.Pink:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next.Purple:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next.Black:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next.DarkBlue:after {
  background-image: url("../img/icon-arrow-white-right.svg");
}
.m-entity__homepage-our-stories__wrapper .swiper-button-next:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-next:before {
  display: none;
}
.m-entity__homepage-our-stories__wrapper .swiper-button-prev,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev {
  left: 0;
}
.m-entity__homepage-our-stories__wrapper .swiper-button-prev:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev:before {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__homepage-our-stories__wrapper .swiper-button-prev.Pink:before, .m-entity__homepage-our-stories__wrapper .swiper-button-prev.Purple:before, .m-entity__homepage-our-stories__wrapper .swiper-button-prev.Black:before, .m-entity__homepage-our-stories__wrapper .swiper-button-prev.DarkBlue:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev.Pink:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev.Purple:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev.Black:before,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev.DarkBlue:before {
  background-image: url("../img/icon-arrow-white-left.svg");
}
.m-entity__homepage-our-stories__wrapper .swiper-button-prev:after,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-button-prev:after {
  display: none;
}
.m-entity__homepage-our-stories__wrapper .swiper-slide a:focus, .m-entity__homepage-our-stories__wrapper .swiper-slide a.focus-visible,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-slide a:focus,
.m-entity__homepage-our-stories__wrapper .mobileSwiper-slide a.focus-visible {
  display: block;
  outline: 5px dotted var(--c-black);
}
.m-entity__homepage-our-stories__view {
  display: grid !important;
  justify-content: center;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(4, 1fr);
}
.m-entity__homepage-our-stories__view.oneCol {
  grid-template-columns: repeat(1, 1fr);
}
.m-entity__homepage-our-stories__view.twoCol {
  grid-template-columns: repeat(2, 1fr);
}
.m-entity__homepage-our-stories__view.threeCol {
  grid-template-columns: repeat(3, 1fr);
}
.m-entity__homepage-our-stories__view.fourCol {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-entity__homepage-our-stories__view {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__homepage-our-stories__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2) 0 calc(var(--bump) / 2);
  width: 100%;
}
.m-entity__homepage-our-stories__content > h2.h1, .m-entity__homepage-our-stories__content > p {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  margin: 0 0 var(--bumpSmall);
  width: 100%;
  max-width: 596px;
}
.m-entity__homepage-our-stories__content > .a-btn {
  position: absolute;
  bottom: var(--bump);
  align-self: flex-end;
}
@media (max-width: 991px) {
  .m-entity__homepage-our-stories__content > .a-btn {
    position: relative;
    bottom: auto;
    align-self: center;
  }
}
.m-entity__homepage-our-stories__content p {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 30px);
}
.m-entity__homepage-our-stories__content p:last-of-type {
  margin: 0 0 var(--bump);
}
@media (max-width: 991px) {
  .m-entity__homepage-our-stories__content p:last-of-type {
    margin: 0 0 calc(var(--bump) / 2);
  }
}
.m-entity__homepage-text__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.m-entity__intro-information {
  transition: all 0.3s var(--easing);
  margin: 0;
}
.o-event-content .m-entity__intro-information, .o-courses-and-learning-content .m-entity__intro-information, .o-eat-drink-content .m-entity__intro-information, .o-venues-content .m-entity__intro-information, .o-stories-press-content .m-entity__intro-information {
  background: rgba(217, 217, 217, 0.3);
}
.o-event-content .m-entity__intro-information--sticky, .o-courses-and-learning-content .m-entity__intro-information--sticky, .o-eat-drink-content .m-entity__intro-information--sticky, .o-venues-content .m-entity__intro-information--sticky, .o-stories-press-content .m-entity__intro-information--sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -100;
  opacity: 0;
  visibility: hidden;
}
.o-event-content .m-entity__intro-information--sticky.is-sticky, .o-courses-and-learning-content .m-entity__intro-information--sticky.is-sticky, .o-eat-drink-content .m-entity__intro-information--sticky.is-sticky, .o-venues-content .m-entity__intro-information--sticky.is-sticky, .o-stories-press-content .m-entity__intro-information--sticky.is-sticky {
  background: rgb(242, 242, 242);
  top: 0;
  z-index: 5;
  opacity: 1;
  visibility: visible;
}
.o-event-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__title--sticky,
.o-event-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__details--sticky, .o-courses-and-learning-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__title--sticky,
.o-courses-and-learning-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__details--sticky, .o-eat-drink-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__title--sticky,
.o-eat-drink-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__details--sticky, .o-venues-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__title--sticky,
.o-venues-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__details--sticky, .o-stories-press-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__title--sticky,
.o-stories-press-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__details--sticky {
  display: block;
  margin: 0;
}
.o-event-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__taxonomies, .o-courses-and-learning-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__taxonomies, .o-eat-drink-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__taxonomies, .o-venues-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__taxonomies, .o-stories-press-content .m-entity__intro-information--sticky.is-sticky .m-entity__intro-information__taxonomies {
  margin: 0;
}
.o-stories-press-content .m-entity__intro-information {
  background: rgba(217, 217, 217, 0.3);
}
.m-entity__intro-information__title {
  text-transform: uppercase;
  transition: all 0.6s var(--easing);
  padding: 0;
}
@media (max-width: 767px) {
  .m-entity__intro-information__title {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.o-event-content .m-entity__intro-information__title, .o-courses-and-learning-content .m-entity__intro-information__title, .o-eat-drink-content .m-entity__intro-information__title, .o-venues-content .m-entity__intro-information__title, .o-stories-press-content .m-entity__intro-information__title {
  margin: 0;
}
.o-listing-page .m-entity__intro-information__title {
  display: flex;
  justify-content: center;
}
.m-entity__intro-information__title + p {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 32px);
  letter-spacing: 0.44px;
  margin: 0;
  padding: 0;
}
.o-listing-page .m-entity__intro-information__title + p {
  display: flex;
  justify-content: center;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  margin: 0 auto var(--bump);
  width: 100%;
}
.m-entity__intro-information__title--sticky {
  font-size: 16px;
  line-height: 32px;
  margin: 0;
}
.m-entity__intro-information .o-default__body {
  padding-top: 15px;
}
.m-entity__intro-information__details {
  font-family: var(--fontUltra);
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: clamp(26px, 2.5vw, 32px);
  text-transform: uppercase;
  margin: 15px 0 0 0;
  transition: all 0.6s var(--easing);
}
@media (max-width: 767px) {
  .m-entity__intro-information__details {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    margin: 0 0 15px;
  }
}
.m-entity__intro-information__details--sticky {
  font-size: 16px;
  line-height: 32px;
  margin: 0;
}
.m-entity__intro-information__taxonomies {
  display: flex;
  gap: calc(var(--bump) / 2);
  flex-flow: row wrap;
  justify-content: flex-start;
  font-family: var(--fontMedium);
  font-size: clamp(14px, 2.5vw, 14px) !important;
  line-height: clamp(24px, 2.5vw, 24px) !important;
  transition: all 0.3s var(--easing);
}
@media (max-width: 767px) {
  .m-entity__intro-information__taxonomies {
    justify-content: center;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-entity__intro-information__subnav-items {
  display: none;
}
.m-entity__intro-information__subnav-items.is-active {
  display: flex;
}
.m-entity__intro-information__subnav-items > .m-entity__animated-divider {
  margin: auto auto 0;
}
.m-entity__intro-information__subnav-items__scroller {
  display: flex;
  flex-wrap: nowrap;
  gap: calc(var(--bump) / 6);
  width: 100%;
  margin: 0 calc(var(--bumpSmall) * 2) 0 0;
  overflow-x: scroll;
  scroll-behavior: smooth;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  transition: all 0.3s var(--easing);
}
.m-entity__intro-information__subnav-items__scroller::-webkit-scrollbar {
  display: none;
}
.m-entity__intro-information__subnav-items__scroller.is-active {
  margin: 0 calc(var(--bumpSmall) * 2);
}
.m-entity__intro-information__subnav-items__scroller > .a-btn--subnavAnchorLink.is-active {
  background-color: var(--c-secondary);
  color: var(--c-white);
}
.m-entity__intro-information__subnav-items__scroller > .a-btn--subnavAnchorLink.is-active:first-of-type {
  padding: 6px 16px;
}
.m-entity__intro-information__subnav-items__scroller__wrapper {
  display: flex;
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller {
  display: flex;
  align-self: center;
  position: absolute;
  padding: 0;
  width: 24px;
  height: 16px;
  background: transparent;
  border: 0;
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller:after {
  content: "";
  position: absolute;
  display: block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../img/icon-arrow-black-right.svg");
  height: 100%;
  width: 100%;
  z-index: 120;
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller.right {
  display: none;
  right: calc(var(--bump) / 2);
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller.right.is-active {
  display: flex;
}
@media (max-width: 359px) {
  .m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller.right {
    display: flex;
  }
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller.left {
  width: 0;
  transition: all 0.3s var(--easing);
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller.left.is-active {
  width: 24px;
}
.m-entity__intro-information__subnav-items__scroller__wrapper > .a-btn--scroller.left:after {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__intro-information__subnav-items__link {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .m-entity__intro-information__subnav-items__link {
    display: none;
  }
}
.m-entity__events-ymal {
  overflow-x: hidden;
}
.m-entity__events-ymal__wrapper {
  color: var(--c-black);
  padding: calc(var(--bump) * 2) calc(var(--bump) / 2);
  width: 100%;
}
.m-entity__events-ymal__wrapper.Purple {
  background-color: var(--c-purple);
  color: var(--c-white);
}
.m-entity__events-ymal__wrapper.Purple .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
  background-color: transparent;
}
.m-entity__events-ymal__wrapper.Purple .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__events-ymal__wrapper.DarkBlue {
  background-color: var(--c-dark-blue);
  color: var(--c-white);
}
.m-entity__events-ymal__wrapper.DarkBlue .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
  background-color: transparent;
}
.m-entity__events-ymal__wrapper.DarkBlue .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__events-ymal__wrapper.White {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__events-ymal__wrapper.White .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  background-color: transparent;
}
.m-entity__events-ymal__wrapper.White .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__events-ymal__wrapper.Grey {
  background-color: var(--c-transparent-light-grey);
  color: var(--c-black);
}
.m-entity__events-ymal__wrapper.Grey .a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  background-color: transparent;
}
.m-entity__events-ymal__wrapper.Grey .a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__events-ymal__wrapper.Pink {
  background-color: var(--c-pink);
  color: var(--c-white);
}
.m-entity__events-ymal__wrapper.Pink .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
  background-color: transparent;
}
.m-entity__events-ymal__wrapper.Pink .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__events-ymal__wrapper.Black {
  background-color: var(--c-black);
  color: var(--c-white);
}
.m-entity__events-ymal__wrapper.Black .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
  background-color: transparent;
}
.m-entity__events-ymal__wrapper.Black .a-btn:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.m-entity__events-ymal__wrapper .swiper,
.m-entity__events-ymal__wrapper .mobileSwiper {
  overflow: visible;
}
@media (min-width: 769px) {
  .m-entity__events-ymal__wrapper .swiper,
  .m-entity__events-ymal__wrapper .mobileSwiper {
    margin-top: 40px;
  }
}
.m-entity__events-ymal__wrapper .swiper .swiper-button-disabled,
.m-entity__events-ymal__wrapper .mobileSwiper .swiper-button-disabled {
  display: none;
}
@media (max-width: 767px) {
  .m-entity__events-ymal__wrapper .swiper,
  .m-entity__events-ymal__wrapper .mobileSwiper {
    position: relative;
    margin: 20px 0 -20px 0;
  }
}
.m-entity__events-ymal__wrapper .swiper-wrapper,
.m-entity__events-ymal__wrapper .mobileSwiper-wrapper {
  height: 100% !important;
}
.m-entity__events-ymal__wrapper .swiper-button-prev, .m-entity__events-ymal__wrapper .swiper-button-next,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next {
  width: 24px;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-entity__events-ymal__wrapper .swiper-button-prev, .m-entity__events-ymal__wrapper .swiper-button-next,
  .m-entity__events-ymal__wrapper .mobileSwiper-button-prev,
  .m-entity__events-ymal__wrapper .mobileSwiper-button-next {
    display: flex;
    top: 0;
    bottom: auto;
    transform: translateY(-100%);
  }
}
.m-entity__events-ymal__wrapper .swiper-button-prev:after, .m-entity__events-ymal__wrapper .swiper-button-prev:before, .m-entity__events-ymal__wrapper .swiper-button-next:after, .m-entity__events-ymal__wrapper .swiper-button-next:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 24px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-entity__events-ymal__wrapper .swiper-button-next,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next {
  right: 0;
}
.m-entity__events-ymal__wrapper .swiper-button-next:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next:after {
  background-image: url("../img/icon-arrow-black-right.svg");
}
.m-entity__events-ymal__wrapper .swiper-button-next.Pink:after, .m-entity__events-ymal__wrapper .swiper-button-next.Purple:after, .m-entity__events-ymal__wrapper .swiper-button-next.Black:after, .m-entity__events-ymal__wrapper .swiper-button-next.DarkBlue:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next.Pink:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next.Purple:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next.Black:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next.DarkBlue:after {
  background-image: url("../img/icon-arrow-white-right.svg");
}
.m-entity__events-ymal__wrapper .swiper-button-next:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-next:before {
  display: none;
}
.m-entity__events-ymal__wrapper .swiper-button-prev,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev {
  left: 0;
}
.m-entity__events-ymal__wrapper .swiper-button-prev:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev:before {
  background-image: url("../img/icon-arrow-black-left.svg");
}
.m-entity__events-ymal__wrapper .swiper-button-prev.Pink:before, .m-entity__events-ymal__wrapper .swiper-button-prev.Purple:before, .m-entity__events-ymal__wrapper .swiper-button-prev.Black:before, .m-entity__events-ymal__wrapper .swiper-button-prev.DarkBlue:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev.Pink:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev.Purple:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev.Black:before,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev.DarkBlue:before {
  background-image: url("../img/icon-arrow-white-left.svg");
}
.m-entity__events-ymal__wrapper .swiper-button-prev:after,
.m-entity__events-ymal__wrapper .mobileSwiper-button-prev:after {
  display: none;
}
.m-entity__events-ymal__wrapper .swiper-slide a:focus, .m-entity__events-ymal__wrapper .swiper-slide a.focus-visible,
.m-entity__events-ymal__wrapper .mobileSwiper-slide a:focus,
.m-entity__events-ymal__wrapper .mobileSwiper-slide a.focus-visible {
  display: block;
  outline: 5px dotted var(--c-black);
}
.m-entity__events-ymal__inner {
  display: grid !important;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 767px) {
  .m-entity__events-ymal__inner {
    display: flex !important;
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Forms
 * ----------------------
 */
input,
input[type=text],
input[type=password],
input[type=email],
input[type=submit],
textarea,
select {
  font-family: var(--fontBody);
  color: var(--c-primary);
  resize: none;
  padding: calc(var(--bump) / 2) var(--bump);
  -webkit-border-radius: 0px;
  border-radius: 0;
  outline: 0;
  border: 1px solid var(--c-primary);
  transition: all var(--transition);
  background-color: var(--c-white);
}
input:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=submit]:focus,
textarea:focus,
select:focus {
  border: 1px solid var(--c-secondary);
}

input[type=search],
input[type=text],
input[type=submit] {
  -webkit-appearance: none;
}

.form-actions input,
input[type=submit] {
  cursor: pointer;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.js-form-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: calc(var(--bump) / 2);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Main nav
 * ----------------------
 */
.m-main-nav {
  display: flex;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  padding-left: 90px;
}
@media (max-width: 767px) {
  .m-main-nav {
    padding-left: 0;
    flex-direction: column;
  }
}
.m-main-nav > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.m-main-nav > ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .m-main-nav > ul {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    padding-bottom: 105px;
    margin: auto;
    overflow-y: auto;
    overflow-x: hidden;
  }
  [data-nav=open] .m-main-nav > ul {
    display: block;
  }
}
[data-search=open] .m-main-nav > ul {
  display: none;
}
.m-main-nav > ul > li:last-of-type a {
  margin-right: 0;
}
@media (max-width: 767px) {
  .m-main-nav > ul > li:last-of-type > a {
    margin: auto calc(var(--smallBump) / 2);
  }
}
.m-main-nav > ul > li.menu-item-li {
  display: flex;
  position: relative;
  font-family: var(--fontNews);
  text-decoration: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
}
.m-main-nav > ul > li.menu-item-li:last-of-type {
  margin-right: 0;
}
.m-main-nav > ul > li.menu-item-li > a, .m-main-nav > ul > li.menu-item-li > button {
  background: none;
  border: none;
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-children, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children {
  border-radius: 0;
  box-shadow: none;
  font-family: var(--fontUltra);
  letter-spacing: 0.64px;
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-children.menu-item-li--open:after, .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children.is-active:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children.menu-item-li--open:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children.is-active:after {
  transform: rotate(180Deg);
}
@media (max-width: 767px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children.menu-item-li--open:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children.menu-item-li--open:after {
    transform: rotate(90Deg);
  }
}
@media (min-width: 769px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children:before, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children:before {
    content: "";
    height: 0px;
    position: absolute;
    bottom: 0;
    display: block;
    width: calc(100% - 12.5px);
    background: var(--c-primary);
    opacity: 0;
    transition: opacity 0.45s var(--easing);
  }
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-children:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children:after {
  content: "";
  width: 16px;
  height: 22px;
  display: inline-flex;
  background-image: url("../img/icon-chevron-white-thick.svg");
  background-position: center;
  visibility: visible;
  margin: auto auto auto 5px;
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.3s var(--easing);
}
@media (max-width: 767px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children {
    margin: 0;
  }
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children:after {
    width: 17px;
    height: 10px;
    margin: auto 20px auto auto;
    background-image: url("../img/icon-chevron-white-thin.svg");
    transform: rotate(180Deg);
  }
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul {
  transition: var(--transition);
  opacity: 0;
  z-index: -100;
  visibility: hidden;
  position: absolute;
  top: 100%;
  background-color: var(--c-white);
  box-shadow: 1px 2px 4px 0 rgba(6, 6, 6, 0.05);
  border-radius: 3px;
  margin: 0;
  padding: 15px 70px 15px 15px;
  color: var(--c-black);
}
@media (max-width: 767px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul > li.menu-item-li, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul > li.menu-item-li {
    padding: calc(var(--bump) / 3) 0;
  }
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul > li.menu-item-li:first-of-type, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul > li.menu-item-li:first-of-type {
    padding: 0 0 calc(var(--bump) / 3);
  }
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul > li.menu-item-li > a.menu-item-li, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul > li.menu-item-li > a.menu-item-li {
  position: relative;
  display: inline-block;
  font-family: var(--fontNews);
  font-size: var(--fontSize);
  line-height: var(--lineHeight);
  text-decoration: none;
  letter-spacing: 0.28px;
  font-weight: 475;
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul > li.menu-item-li:last-of-type > a.menu-item-li, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul > li.menu-item-li:last-of-type > a.menu-item-li {
  margin: 0;
}
@media (max-width: 767px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul {
    height: 100%;
    max-height: 0;
    padding: 0;
    background-color: transparent;
    position: relative;
    color: #D5D5D5;
  }
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-children + ul.menu-item-subnav--open, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-children + ul.menu-item-subnav--open {
    max-height: 10000px;
    opacity: 1;
    z-index: 1;
    visibility: visible;
    box-shadow: none;
  }
}
.m-main-nav > ul > li.menu-item-li > a.menu-item-has-no-children, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-no-children {
  margin: calc(var(--bump) / 2);
  text-decoration: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-no-children, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-no-children {
    margin: 0;
  }
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-no-children:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-no-children:after {
    content: "";
    display: inline-flex;
    visibility: visible;
    margin: auto auto auto 5px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 18px;
    height: 14.25px;
    margin: auto 20px auto auto;
    background-image: url("../img/icon-arrow-white-thin.svg");
    transition: all 0.3s var(--easing);
  }
}
@media (min-width: 769px) {
  .m-main-nav > ul > li.menu-item-li > a.menu-item-has-no-children:after, .m-main-nav > ul > li.menu-item-li > button.menu-item-has-no-children:after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    height: 0;
    opacity: 0;
    background: var(--c-primary);
    transition: opacity 0.45s var(--easing);
  }
}
@media (max-width: 767px) {
  .m-main-nav > ul > li.menu-item-li {
    flex-direction: column;
    padding: 0 0 0 calc(var(--bump) / 2);
    width: 100%;
    border-top: 1px solid var(--c-white);
  }
  .m-main-nav > ul > li.menu-item-li:last-of-type {
    border-bottom: 1px solid var(--c-white);
  }
  .m-main-nav > ul > li.menu-item-li:first-of-type {
    border-top: none;
  }
}
.m-main-nav > ul > li > a, .m-main-nav > ul > li > button {
  font-size: var(--fontSize);
  line-height: 16px;
  letter-spacing: 0.64px;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 950;
}
@media (max-width: 767px) {
  .m-main-nav > ul > li > a, .m-main-nav > ul > li > button {
    font-family: var(--fontBold);
    font-size: 14px;
    line-height: var(--lineHeight);
    letter-spacing: 0.28px;
  }
}
.m-main-nav > ul > li > a.menu-item-li, .m-main-nav > ul > li > button.menu-item-li {
  display: flex;
  align-items: center;
  position: relative;
  margin: calc(var(--bump) / 2);
  color: var(--c-white);
}
@media (max-width: 767px) {
  .m-main-nav > ul > li > a.menu-item-li, .m-main-nav > ul > li > button.menu-item-li {
    padding: 20px 0;
    margin: 0;
  }
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Banner
 * ----------------------
 */
.m-no-banner {
  margin-top: calc(var(--bump) * 3);
}
@media (max-width: 767px) {
  .m-no-banner {
    margin-top: var(--bump);
  }
}

.m-banner {
  position: relative;
  overflow: hidden;
}
.m-banner__image {
  position: relative;
}
.m-banner--homepage.m-banner .m-banner__image {
  position: relative;
  height: 90vh;
}
.m-banner--homepage.m-banner .m-banner__image img {
  height: 90vh;
}
@media (max-width: 767px) {
  .m-banner--homepage.m-banner .m-banner__image img {
    height: 30vh;
  }
}
@media (max-width: 767px) {
  .m-banner--homepage.m-banner .m-banner__image {
    height: 30vh;
  }
}
.m-banner--article {
  margin: 0 0 var(--smallBump);
}
.m-banner__title {
  position: relative;
  color: var(--c-white);
  z-index: 1;
  width: 100%;
}
.m-banner__title h1 {
  margin: 0;
}
.m-banner__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  color: var(--c-white);
  background-color: var(--c-pink);
  z-index: 1;
}
.m-banner__content:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding-bottom: 50%;
  height: 100%;
  width: 100%;
  background-image: url("../img/asset-homepage-banner-triangle.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateY(-35.75%);
  z-index: 0;
}
@media (max-width: 1199px) {
  .m-banner__content:before {
    transform: translateY(-38.75%);
  }
}
@media (max-width: 767px) {
  .m-banner__content:before {
    transform: translateY(-34.75%);
  }
}
.m-banner__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  z-index: 2;
  margin: -140px 0 20px;
  gap: 15px;
}
@media (max-width: 1439px) {
  .m-banner__body {
    margin: -110px 0 20px;
  }
}
@media (max-width: 767px) {
  .m-banner__body {
    margin: -20px 0 20px;
  }
}
@media (max-width: 767px) {
  .m-banner__body .col-sm-6 {
    padding: 0;
  }
}
.m-banner__body .h1-full,
.m-banner__body h1 {
  position: relative;
  color: var(--c-white);
  z-index: 1;
  width: 100%;
  margin: 0;
  font-family: var(--fontUltra);
  font-weight: 950;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
  display: grid;
}
.m-banner__body a.a-btn {
  margin: 0 0 calc(var(--bump) / 2);
}
@media (max-width: 767px) {
  .m-banner__body a.a-btn {
    margin: 0 0 calc(var(--bump) * 2);
  }
}
@media (max-width: 767px) {
  .m-banner__body--with-pause {
    padding-right: 45px;
  }
}
.m-banner__copy {
  font-family: var(--fontBook);
  color: var(--c-white);
  margin: 0 0 1rem;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
.m-banner__copy:last-of-type {
  margin: 0;
}
.m-banner--large-signpost .m-banner__copy {
  font-family: var(--fontRegular);
}
@media (max-width: 991px) {
  .m-banner--large-signpost .m-banner__copy {
    display: none;
  }
}
.m-banner__curve-border {
  position: absolute;
  bottom: -2px;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-banner__curve-border {
    bottom: -2px;
  }
}
.m-banner__curve-border svg {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .m-banner__curve-border--desktop {
    display: none;
  }
}
@media (min-width: 769px) {
  .m-banner__curve-border--mobile {
    display: none;
  }
}
.m-banner--contained .swiper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  min-height: 500px;
  max-height: 500px;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper {
    min-height: 360px;
  }
}
.m-banner--contained .swiper-container, .m-banner--contained .swiper-slider {
  height: auto;
}
.m-banner--contained .swiper-button-prev, .m-banner--contained .swiper-button-next {
  width: 11px;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper-button-prev, .m-banner--contained .swiper-button-next {
    top: auto;
    bottom: 0;
    transform: translateY(25%);
  }
}
.m-banner--contained .swiper-button-prev:after, .m-banner--contained .swiper-button-prev:before, .m-banner--contained .swiper-button-next:after, .m-banner--contained .swiper-button-next:before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  width: 11px;
  height: 19px;
  display: block;
  background-position: 0px center;
  transition: 0.3s var(--easing);
}
.m-banner--contained .swiper-button-next {
  right: 0;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper-button-next {
    right: 15px;
  }
}
.m-banner--contained .swiper-button-next:after {
  background-image: url("../img/chevron-right.svg");
}
.m-banner--contained .swiper-button-next:before {
  display: none;
}
.m-banner--contained .swiper-button-prev {
  left: 0;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper-button-prev {
    left: 15px;
  }
}
.m-banner--contained .swiper-button-prev:before {
  background-image: url("../img/chevron-left.svg");
}
.m-banner--contained .swiper-button-prev:after {
  display: none;
}
.m-banner--contained .swiper-pagination {
  bottom: -5px !important;
  top: auto !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  width: auto !important;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper-pagination {
    display: none;
  }
}
.m-banner--contained .swiper-pagination-bullet {
  background: var(--c-white);
  opacity: 1;
  filter: drop-shadow(0px 0px 6px #000);
}
.m-banner--contained .swiper-pagination-bullet-active {
  background: var(--c-purple);
  opacity: 1;
}
.m-banner--contained .swiper-pause {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  bottom: 7.5px !important;
  top: auto !important;
  right: 0 !important;
  width: 44px !important;
  height: 44px;
  border: 0;
  background: none;
}
.m-banner--contained .swiper-pause:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: auto;
  background-image: url("../img/icon-pause.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
[data-pause=true] .m-banner--contained .swiper-pause:after {
  background-image: url("../img/icon-play.svg");
  background-size: contain;
  width: 15px;
  height: 15px;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper-pause {
    display: none;
  }
}
.m-banner--contained .swiper img {
  min-height: 500px;
}
@media (max-width: 767px) {
  .m-banner--contained .swiper img {
    min-height: 360px;
  }
}
.m-banner--contained .m-banner__video-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.m-banner--contained-alt {
  margin: -15px 0;
}
@media (max-width: 767px) {
  .m-banner--contained-alt .m-banner__wrapper {
    padding: 0;
  }
}
.m-banner--contained-alt .m-banner__inner {
  margin: 15px 0;
}
.m-banner--contained-alt .m-banner__label {
  font-size: var(--fontSize);
  line-height: var(--lineHeight);
  font-family: var(--fontRegular);
  z-index: 1;
  padding: 2.5px 5px;
  color: var(--c-tertiary);
  background-color: var(--c-quaternary);
  margin: calc(var(--bump) / 2) 0 0 0;
}
@media (max-width: 767px) {
  .m-banner--contained-alt .m-banner__label {
    margin: 0;
  }
}
.m-banner--contained-alt .m-banner__label__wrapper {
  display: flex;
  align-items: flex-start;
}
.m-banner--contained-alt .m-banner__content {
  justify-content: flex-end;
  align-items: flex-start;
}
.m-banner--contained-alt .m-banner__body {
  padding: calc(var(--bump) / 2);
  align-items: flex-start;
}
@media (max-width: 767px) {
  .m-banner--contained-alt .m-banner__body {
    padding: 0;
  }
}
.m-banner--contained-alt .m-banner__body__wrapper {
  display: flex;
  align-items: flex-end;
}
.m-banner--contained-alt h1.h1 {
  margin: 0 0 var(--bump);
  line-height: clamp(1.9375rem, 5vw, 3.0625rem);
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
@media (max-width: 767px) {
  .m-banner--contained-alt h1.h1 {
    margin: 0;
  }
}
.m-banner--event-content, .m-banner--courses-and-learning-content, .m-banner--eat-drink-content, .m-banner--stories-press-content, .m-banner--venues-content {
  background: rgba(217, 217, 217, 0.3);
}
.m-banner.m-banner--large-signpost img {
  height: auto;
}
.m-banner img {
  display: block;
  position: relative;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}
.m-banner .m-banner__video-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #fff;
}
.m-banner .m-banner__video-container iframe,
.m-banner .m-banner__video-container video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-banner .video__pause {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 1;
  bottom: calc(var(--bump) / 2) !important;
  right: calc(var(--bump) / 2) !important;
  width: 44px !important;
  height: 44px;
  border: 0;
  background: none;
}
.m-banner .video__pause:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: auto;
  background-image: url("../img/icon-pause.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.m-banner .video__pause[data-playstate=paused] {
  background-image: url("../img/play.svg");
}
@media (max-width: 991px) {
  .m-banner .video__pause[data-playstate=paused] {
    background-image: url("../img/pause.svg");
  }
}
@media (max-width: 767px) {
  .m-banner .grid {
    width: 100%;
    margin: 0;
  }
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Linked logos
 * ----------------------
 */
.m-logos a {
  display: block;
}
.m-logos a:hover {
  opacity: 0.7;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Social links
 * ----------------------
 */
/**
 * Styling
 */
.m-social-links {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
@media (max-width: 991px) {
  .m-social-links {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .m-social-links {
    justify-content: center;
  }
}
.m-social-links__link {
  height: 44px;
  width: 44px;
  border-radius: 50%;
  display: flex;
}
.m-social-links__link:last-child {
  margin-right: 0;
}
.m-social-links__link svg {
  width: 19px;
  height: 19px;
  -o-object-fit: cover;
     object-fit: cover;
  margin: auto;
}
@media (max-width: 767px) {
  .m-social-links__link svg {
    width: 34px;
    height: 34px;
  }
}
.m-social-links__link rect {
  transition: 0.1s var(--easing);
  fill: var(--c-black);
}
.m-social-links__link:hover rect {
  fill: var(--c-white);
}
.m-social-links__link:hover path {
  fill: var(--c-black);
}

#sliding-popup.sliding-popup-bottom {
  background-color: var(--c-white);
  box-shadow: 0 -2px 28px 0 rgba(29, 29, 27, 0.06);
  width: 100%;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message {
  max-width: 65%;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message {
    max-width: 100%;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message h2 {
  line-height: 1.2;
  font-size: clamp(16px, 7vw, 18px);
  margin: 0 0 calc(var(--bump) / 4);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message p {
  display: inline;
  color: var(--c-black);
  font-family: var(--fontNews);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message a {
  text-decoration: underline;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-more-button {
  cursor: pointer;
  display: inline;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  text-decoration: underline;
  background: none;
  color: var(--c-black);
  font-family: var(--fontNews);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-more-button:hover {
  text-decoration: none;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-content {
  margin: 15px auto;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  max-width: 1250px;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-content {
    flex-direction: column;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-buttons {
  align-self: flex-end;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-buttons {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    max-width: 100%;
    width: 100%;
    transform: none;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  background-color: transparent;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:hover, #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:focus {
  background-color: var(--c-black);
  color: var(--c-white);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button {
  position: relative;
  font-family: var(--fontNews);
  border: 0;
  background-color: transparent;
  text-decoration: none;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button {
    max-width: 100%;
    margin: 30px 0 0 0;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:after {
  position: absolute;
  right: 0;
  background-position: right;
  transform: translateX(100%);
}

.m-reactview {
  position: relative;
}
.m-reactview__grid {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-reactview__grid {
    grid-template-columns: 1fr;
  }
}
.m-reactview__filters {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.m-reactview__filters--options, .m-reactview__filters--datepicker {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  transition: all 0.3s var(--easing);
}
@media (min-width: 769px) {
  .m-reactview__filters--options.open, .m-reactview__filters--datepicker.open {
    overflow: visible;
  }
}
@media (max-width: 767px) {
  .m-reactview__filters--options, .m-reactview__filters--datepicker {
    position: relative;
    overflow: hidden;
    bottom: auto;
    left: auto;
    height: 100%;
    max-height: 0;
    transition: all 0.3s var(--easing);
  }
  .m-reactview__filters--options.open, .m-reactview__filters--datepicker.open {
    max-height: 10000px;
  }
}
@media (max-width: 767px) {
  .m-reactview__filters__col {
    padding: 0;
  }
}

.search-app__filters {
  display: flex;
  justify-content: center;
  gap: calc(var(--bump) / 2);
  flex-flow: row wrap;
  padding: calc(var(--bump) / 3) 0;
  width: 100%;
  border-bottom: 1px solid var(--c-black);
}
@media (max-width: 767px) {
  .search-app__filters {
    border-bottom: none;
  }
}
@media (max-width: 767px) {
  .search-app__filters:last-of-type {
    border-bottom: none;
  }
}
.search-app__filters__btn__switch {
  border: none;
  background: none;
  color: var(--c-black);
}
.search-app__filters__btn__switch:hover {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  background-color: var(--c-secondary);
  border: none;
  color: var(--c-white);
}
.search-app__filters__btn__switch.active {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  background-color: var(--c-secondary);
  border: none;
  color: var(--c-white);
}
.search-app__filters__btn__stories_press_content.a-btn {
  text-decoration: underline;
}
.search-app__filters__btn__stories_press_content.a-btn:hover {
  background-color: transparent;
  color: var(--c-black);
}
@media (max-width: 767px) {
  .search-app__filters__categories {
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0 0 calc(var(--bump) / 2);
  }
}
.search-app__filters__categories button {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  border: none;
  background: none;
  color: var(--c-black);
}
@media (max-width: 767px) {
  .search-app__filters__categories button {
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid var(--c-black);
    padding: calc(var(--bump) / 2);
    width: 100%;
  }
}
@media (max-width: 767px) {
  .search-app__filters__categories button:hover, .search-app__filters__categories button.active {
    background-color: var(--c-light-blue);
    border-radius: 0;
    border: 0;
    padding: calc(var(--bump) / 2);
    margin: 0;
    border-bottom: 1px solid var(--c-black);
    color: var(--c-black);
  }
}
.search-app__filters__inner {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
}
@media (max-width: 274px) {
  .search-app__filters__inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.search-app__filters--options {
  display: flex;
  justify-content: center;
}
.search-app__filters--options--checkbox {
  position: absolute;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: var(--bump);
       column-gap: var(--bump);
  z-index: 10;
  background-color: #5ceafe;
  padding: calc(var(--bump) / 2);
}
@media (max-width: 767px) {
  .search-app__filters--options--checkbox {
    position: relative;
    width: 100%;
  }
}
.search-app__filters--options--checkbox div label {
  display: flex;
  align-items: center;
  font-size: var(--fontSize);
  line-height: var(--lineHeightLg);
  font-family: var(--fontUltra);
}
@media (max-width: 767px) {
  .search-app__filters--options--checkbox div label {
    font-size: var(--fontSizeSm);
    line-height: 17px;
  }
}
.search-app__filters--options--checkbox div label input {
  visibility: hidden;
  position: relative;
  margin: 0;
  height: 16px;
  width: 16px;
  margin: 0 calc(var(--bump) / 3) 0 0;
}
.search-app__filters--options--checkbox div label input:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  visibility: visible;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("../img/icon-checkbox--unchecked.svg");
}
.search-app__filters--options--checkbox div label input:checked:before {
  background-image: url("../img/icon-checkbox--checked.svg");
}
@media (max-width: 767px) {
  .search-app__filters__container {
    width: 100%;
  }
  .search-app__filters__container:first-of-type {
    border-top: 1px solid var(--c-black);
  }
}
.search-app__filters__container button.a-btn {
  position: relative;
  width: auto;
}
.search-app__filters__container button.a-btn::after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 9px;
  width: 12px;
  position: absolute;
  right: 0;
  background-image: url("../img/icon-chevron-down-black-thick.svg");
  transition: var(--transition);
}
@media (max-width: 767px) {
  .search-app__filters__container button.a-btn::after {
    right: var(--bumpSmall);
  }
}
@media (min-width: 769px) {
  .search-app__filters__container button.a-btn:hover {
    background-color: transparent;
    color: var(--c-black);
  }
}
@media (max-width: 767px) {
  .search-app__filters__container button.a-btn {
    width: 100%;
  }
}
.search-app__filters__container button.a-btn.open::after {
  transform: rotate(180deg);
}
.search-app__active-filters {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .search-app__active-filters {
    flex-direction: column;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.search-app__active-filters a {
  position: relative;
  text-decoration: none;
  cursor: pointer;
}
.search-app__active-filters--items {
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .search-app__active-filters--items {
    flex-direction: column;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.search-app__active-filters--items a {
  position: relative;
}
.search-app__active-filters--items a:after {
  content: "";
  width: calc(var(--bump) / 4);
  height: calc(var(--bump) / 4);
  display: inline-flex;
  background-image: url("../img/icon-close-small.svg");
  background-position: center;
  vertical-align: middle;
  visibility: visible;
  margin: auto auto auto 5px;
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.3s var(--easing);
}
.search-app__active-filters--items a:hover:after {
  rotate: 180deg;
}

.listing--pagination {
  margin-bottom: 55px;
}
@media (max-width: 767px) {
  .listing--pagination {
    margin-bottom: 20px;
  }
}

.m-sticky-mailing-list {
  position: sticky;
  bottom: 0;
  background-color: #000;
  z-index: 1;
}
.m-sticky-mailing-list__container {
  display: flex;
  justify-content: center;
  padding: 8px 0;
  position: relative;
}
.m-sticky-mailing-list__container button {
  position: absolute;
  right: 20px;
  background: #000;
  outline: none;
  box-shadow: none;
  border: none;
}
.m-sticky-mailing-list__container button svg {
  width: 17px;
  fill: #fff;
}

.o-homepage {
  position: relative;
}

/**
 * Organisims
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Header
 * ----------------------
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Header
 * ----------------------
 */
.o-header {
  position: sticky;
  top: 0;
  z-index: 5;
  background-color: var(--c-purple);
  color: var(--c-white);
  width: 100%;
  transform: translateY(-100%);
  transition: transform 0.6s var(--easing);
}
.o-header.is-sticky {
  transform: translateY(0%);
}
.o-header > .grid {
  z-index: 1;
}
[data-nav=open] .o-header {
  border: none;
}
@media (max-width: 767px) {
  [data-nav=open] .o-header {
    border-bottom: 1px solid var(--c-white);
  }
}
[data-nav=open] .o-header .a-search-button__close {
  background: var(--c-white);
}
[data-search=open] .o-header {
  background-color: var(--c-primary);
}
.o-header__inner {
  justify-content: space-between;
  align-items: center;
  align-content: center;
  padding: 12px 0;
  display: grid;
  grid-template-columns: 1fr 18fr 1fr 1fr;
}
@media (max-width: 767px) {
  .o-header__inner {
    justify-content: flex-end;
  }
}
[data-search=open] .o-header__inner {
  background-color: var(--c-primary);
}
.o-header__search-wrapper {
  font-size: var(--fontlarge);
  line-height: var(--smallLineHeight);
  font-family: var(--fontMedium);
  text-decoration: none;
}
[data-nav=open] .o-header__search-wrapper {
  display: none;
}
.o-header__search-modal {
  position: fixed;
  top: 80px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--c-primary);
  display: flex;
  flex-direction: column;
  z-index: 2;
  transition: var(--transition);
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 767px) {
  .o-header__search-modal {
    padding: 0;
  }
}
.o-header__search-modal__overlay {
  z-index: -100;
  opacity: 0;
  transition: var(--transition);
  visibility: hidden;
}
[data-search=open] .o-header__search-modal {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 767px) {
  [data-search=open] .o-header__search-modal {
    overflow: auto;
  }
}
[data-search=open] .o-header__search-modal__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--c-black);
  z-index: 1;
  opacity: 0.45;
  visibility: visible;
}
.o-header__search-modal > .grid {
  width: 100%;
}
.o-header__search-modal__exposedformsearchpage {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 calc(var(--bump) * 1.5);
}
.o-header__search-modal__exposedformsearchpage form {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item {
  margin: 0;
  width: 100%;
  border-bottom: 1px solid var(--c-white);
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input {
  border: none;
  width: 100%;
  display: block;
  height: 35px;
  padding: 0;
  margin: 0 0 calc(var(--bump) / 3) 0;
  background-color: var(--c-primary);
  color: var(--c-white);
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input::-moz-placeholder {
  font-family: var(--fontUltra);
  color: var(--c-white);
  font-size: clamp(14px, 2vw, 22px);
  font-weight: 500;
  letter-spacing: 0.88px;
  line-height: var(--lineHeight);
  display: flex;
  align-self: center;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input::placeholder {
  font-family: var(--fontUltra);
  color: var(--c-white);
  font-size: clamp(14px, 2vw, 22px);
  font-weight: 500;
  letter-spacing: 0.88px;
  line-height: var(--lineHeight);
  display: flex;
  align-self: center;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input:focus::-moz-placeholder {
  color: transparent;
}
.o-header__search-modal__exposedformsearchpage form .js-form-item input:focus::placeholder {
  color: transparent;
}
.o-header__search-modal__exposedformsearchpage form .js-form-wrapper {
  position: absolute;
  right: 0;
  bottom: 1px;
  background-color: var(--c-primary);
}
.o-header__search-modal__exposedformsearchpage form .js-form-wrapper .a-btn {
  text-align: left;
  text-indent: -9999px;
  background-color: var(--c-primary);
  position: relative;
  padding: 0;
  border: none;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 calc(var(--bump) / 3);
}
.o-header__search-modal__exposedformsearchpage form .js-form-wrapper .a-btn:after {
  content: "";
  position: absolute;
  display: block;
  background-image: url("../img/icon-search.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: clamp(16px, 2vw, 26px);
  width: clamp(16px, 2vw, 26px);
}
.o-header__search-modal__searchsuggestions {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--bump) / 6);
  border-bottom: 1px solid var(--c-white);
  padding: 0 0 var(--bump);
}
@media (max-width: 767px) {
  .o-header__search-modal__searchsuggestions {
    flex-flow: column wrap;
    gap: var(--smallBump);
  }
}
.o-header__search-modal__searchsuggestions > a {
  position: relative;
  color: var(--c-white);
  text-decoration: none;
  font-family: var(--fontBook);
}
.o-header__search-modal__searchsuggestions > a:before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--c-white);
  transition: all 0.3s;
  position: absolute;
  bottom: 0;
  visibility: visible;
}
.o-header__search-modal__searchsuggestions > a:hover:before {
  width: 100%;
}
.o-header__search-modal__searchsuggestions__title {
  font-size: var(--fontSize);
  line-height: var(--lineHeightLarge);
  font-family: var(--fontUltra);
  color: var(--c-white);
  letter-spacing: 1px;
}
.o-header__search-modal__mailinglist__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--c-primary);
  padding: var(--bump);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  color: var(--c-white);
}
.o-header__search-modal__mailinglist h2.h3 {
  font-family: var(--fontUltra);
  letter-spacing: 0.44px;
}
.o-header__search-modal__mailinglist p {
  font-family: var(--fontBook);
}
.o-header__logo {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .o-header__nav--desktop {
    visibility: hidden;
    opacity: 0;
    height: 0;
  }
}
.o-header .o-header__logo {
  flex-shrink: 1;
  position: relative;
  height: 56px;
  width: 100%;
  max-width: 86px;
}
.o-header .o-header__logo .o-header__logo--without-text,
.o-header .o-header__logo .o-header__logo--with-text {
  position: absolute;
  width: 86px;
  height: 56px;
  transition: all 0.6s var(--easing);
}
.o-header .o-header__logo .o-header__logo--without-text {
  visibility: hidden;
  opacity: 0;
  display: flex;
  align-items: center;
}
.is-scrolled .o-header .o-header__logo .o-header__logo--without-text {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 767px) {
  [data-nav=open] .o-header .o-header__logo .o-header__logo--without-text {
    visibility: visible;
    opacity: 1;
  }
}
[data-search=open] .o-header .o-header__logo .o-header__logo--without-text {
  visibility: hidden;
  opacity: 0;
}
.o-header .o-header__logo .o-header__logo--with-text {
  visibility: visible;
  opacity: 1;
}
.is-scrolled .o-header .o-header__logo .o-header__logo--with-text, [data-search=open] .o-header .o-header__logo .o-header__logo--with-text {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 767px) {
  [data-nav=open] .o-header .o-header__logo .o-header__logo--with-text {
    visibility: hidden;
    opacity: 0;
  }
}

.menu-overlay {
  position: relative;
  display: block;
  width: 100%;
  max-height: 0;
  height: 100%;
  overflow: hidden;
  transition: all 0.8s var(--easing);
  z-index: 2;
}
@media (max-width: 767px) {
  .menu-overlay {
    display: block;
    position: fixed;
    top: -100%;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.menu-overlay .menu-overlay__inner .menu--main > .menu,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu {
  display: grid;
  grid-gap: 40px;
  height: 100%;
  list-style: none;
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 769px) {
  .menu-overlay .menu-overlay__inner .menu--main > .menu,
  .menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu {
    border-left: 1px solid var(--c-tertiary);
    padding-left: 40px;
  }
}
@media (max-width: 991px) {
  .menu-overlay .menu-overlay__inner .menu--main > .menu,
  .menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .menu-overlay .menu-overlay__inner .menu--main > .menu,
  .menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
}
.menu-overlay .menu-overlay__inner .menu--main > .menu > li > a,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu > li > a {
  color: #30D8A8;
  font-size: 16px;
  font-weight: bold;
  line-height: 26px;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.5px;
}
.menu-overlay .menu-overlay__inner .menu--main > .menu > li > a:hover, .menu-overlay .menu-overlay__inner .menu--main > .menu > li > a:focus,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu > li > a:hover,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu > li > a:focus {
  text-decoration: underline;
}
.menu-overlay .menu-overlay__inner .menu--main > .menu .m-main-nav__link,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu .m-main-nav__link {
  list-style: none;
}
.menu-overlay .menu-overlay__inner .menu--main > .menu .m-main-nav__link ul,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu .m-main-nav__link ul {
  list-style: none;
  margin: 10px 0 0 0;
  display: grid;
  grid-gap: 10px;
}
@media (max-width: 767px) {
  .menu-overlay .menu-overlay__inner .menu--main > .menu .m-main-nav__link ul,
  .menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu .m-main-nav__link ul {
    display: none;
  }
}
.menu-overlay .menu-overlay__inner .menu--main > .menu .m-main-nav__link ul li a,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu .m-main-nav__link ul li a {
  text-decoration: none;
  color: #fff;
}
.menu-overlay .menu-overlay__inner .menu--main > .menu .m-main-nav__link ul li a:hover, .menu-overlay .menu-overlay__inner .menu--main > .menu .m-main-nav__link ul li a:focus,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu .m-main-nav__link ul li a:hover,
.menu-overlay .menu-overlay__inner .menu--mobile-menu > .menu .m-main-nav__link ul li a:focus {
  text-decoration: underline;
}
.menu-overlay__submenu {
  align-items: flex-start;
  gap: var(--bumpSmall);
  color: var(--c-white);
}
.menu-overlay__submenu__children {
  margin-top: 18px !important;
}
.menu-overlay__submenu > li.menu-item-li {
  min-width: 222px;
  width: 100%;
}
@media (max-width: 1219px) {
  .menu-overlay__submenu > li.menu-item-li {
    min-width: auto;
  }
}
.menu-overlay__submenu > li.menu-item-li > a, .menu-overlay__submenu > li.menu-item-li > h2.h4 {
  max-width: 144px;
  margin: 0 0 calc(var(--bump) / 3);
}
.menu-overlay__submenu > li.menu-item-li > a.menu-item-li, .menu-overlay__submenu > li.menu-item-li > h2.h4.menu-item-li {
  font-family: var(--fontUltra);
  text-decoration: none;
  line-height: 18px;
  letter-spacing: 0.48px;
}
.menu-overlay__submenu > li.menu-item-li > h2.h4 {
  margin-bottom: 18px;
}
.menu-overlay__submenu__title {
  margin: 0;
}
.menu-overlay__submenu__children > li {
  display: flex;
}
@media (max-width: 767px) {
  .menu-overlay__submenu__children > li.menu-item-li {
    padding: calc(var(--bump) / 3) 0;
  }
  .menu-overlay__submenu__children > li.menu-item-li:first-of-type {
    padding: 0 0 calc(var(--bump) / 3);
  }
}
.menu-overlay__submenu__children > li.menu-item-li > a.menu-item-li {
  position: relative;
  font-family: var(--fontBook);
  line-height: 22px;
  text-decoration: none;
  letter-spacing: 0.28px;
  font-weight: 475;
  margin: 0 0 calc(var(--bump) / 3);
  grid-template-columns: auto auto 1fr;
  display: grid;
}
.menu-overlay__submenu__children > li.menu-item-li > a.menu-item-li:before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--c-white);
  transition: all 0.3s;
  position: absolute;
  bottom: 0;
  visibility: visible;
}
.menu-overlay__submenu__children > li.menu-item-li > a.menu-item-li:hover:before {
  width: 100%;
}
.menu-overlay__submenu__children > li.menu-item-li > a.menu-item-li[data-extlink]:after {
  background-image: url("../img/icon-arrow-diagonal-white.svg");
}
.menu-overlay__submenu__children > li.menu-item-li:last-of-type > a.menu-item-li {
  margin: 0;
}
.menu-overlay__submenu__content {
  display: grid;
  gap: var(--bumpSmall);
  margin: 0 0 var(--bump);
  grid-template-columns: 1fr 718px;
}
@media (max-width: 1079px) {
  .menu-overlay__submenu__content {
    grid-template-columns: 1fr 2fr;
  }
}
[data-menu-overlay-wrapper=explorethepark] .menu-overlay__submenu__content, [data-menu-overlay-wrapper=planyourvisit] .menu-overlay__submenu__content {
  display: grid;
  grid-template-columns: 1fr 222px;
}
.menu-overlay__submenu__teasers {
  gap: var(--bumpSmall);
  color: var(--c-white);
  width: auto;
}
.menu-overlay__submenu__teasers > .o-teaser {
  max-width: 222px;
  width: 100%;
  margin-left: auto;
}
.menu-overlay__submenu__wrapper {
  opacity: 0;
  visibility: hidden;
  height: 0;
  transition: opacity 0.3s var(--easing);
}
.menu-overlay__submenu__wrapper.is-active {
  opacity: 1;
  visibility: visible;
  height: 100%;
}
.menu-overlay__submenu__cta {
  margin: 0 0 var(--bump);
}
@media (max-width: 767px) {
  .menu-overlay__mobile {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--c-primary);
    transform: translateY(-50%);
    transition: all 0.2s var(--easing);
  }
}
@media (min-width: 769px) {
  .menu-overlay__mobile {
    display: none;
  }
}
.menu-overlay__inner {
  transition: all 0.8s var(--easing);
  position: relative;
  display: block;
  padding: 0;
  width: 100%;
}
.menu-overlay__inner > .grid > .col-sm-12 {
  padding-top: 0;
}
.menu-overlay__inner__divider {
  display: block;
  width: 100%;
  margin: 27px 0 var(--bump);
}
.menu-overlay__inner__divider:before {
  content: "";
  background-color: var(--c-white);
  display: flex;
  height: 1px;
  width: 100%;
}

@media (max-width: 767px) {
  body[data-nav=open] {
    overflow-y: hidden;
  }
}
body[data-nav=open] .menu-active {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  background: rgba(255, 255, 255, 0.85);
}
@media (max-width: 767px) {
  body[data-nav=open] .menu-active {
    height: 100%;
  }
}
body[data-nav=open] .o-header .menu-icon {
  position: relative;
  z-index: 5;
}
@media (min-width: 769px) {
  body[data-nav=open] .o-header .o-header-logo {
    position: relative;
    z-index: 5;
  }
}
body[data-nav=open] .o-header .menu-icon .menu-icon-active {
  display: block;
}
body[data-nav=open] .o-header .menu-icon .menu-icon-inactive {
  background-image: url("/themes/pippip/assets/img/close.svg") !important;
}
@media (max-width: 767px) {
  body[data-nav=open] .admin-functions {
    display: none;
  }
}
body[data-nav=open] .menu-overlay {
  height: 100%;
  max-height: 10000px;
  transition: all 0.8s var(--easing);
  overflow: visible;
}
@media (max-width: 767px) {
  body[data-nav=open] .menu-overlay {
    top: 80px;
  }
}
body[data-nav=open] .menu-overlay .menu-overlay__inner {
  background-color: var(--c-primary);
  transition: all 0.8s var(--easing);
}
@media (max-width: 767px) {
  body[data-nav=open] .menu-overlay .menu-overlay__inner {
    display: none;
  }
}
@media (max-width: 767px) {
  body[data-nav=open] .menu-overlay__mobile {
    transform: translateY(0%);
  }
}

body[data-nav=closed] .menu-overlay__inner {
  display: none;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Footer
 * ----------------------
 */
footer {
  position: relative;
}
footer:before {
  content: "";
  background: rgba(217, 217, 214, 0.35);
  position: absolute;
  top: 103.5px;
  right: 0;
  bottom: 0;
  left: 0;
}
footer.conditional-pull {
  margin-top: -104px;
}
footer .o-footer__inner {
  margin-top: 55px;
}
@media (max-width: 767px) {
  footer .o-footer__inner {
    margin-top: 20px;
  }
}
footer .o-footer__pre-footer {
  color: var(--c-white);
}
@media (max-width: 767px) {
  footer .o-footer__pre-footer > .grid > .col-sm-12 {
    padding: 0;
  }
}
footer .o-footer__pre-footer h2.h3 {
  font-family: var(--fontUltra);
  letter-spacing: 0.44px;
}
footer .o-footer__pre-footer p {
  margin-bottom: 1rem;
  font-family: var(--fontBook);
}
footer .o-footer__pre-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--c-secondary);
  padding: var(--bump);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media (max-width: 991px) {
  footer .o-footer__nav {
    width: 22.2222222222%;
  }
}
@media (max-width: 767px) {
  footer .o-footer__nav {
    width: 100%;
  }
}
footer .o-footer__nav nav {
  width: 100%;
}
footer .o-footer__nav nav > h1, footer .o-footer__nav nav > h2, footer .o-footer__nav nav > h3, footer .o-footer__nav nav > h4, footer .o-footer__nav nav > h5, footer .o-footer__nav nav > h6 {
  font-size: 16px;
  font-family: var(--fontUltra);
  font-weight: 950;
  line-height: 24px;
  margin: 0 0 5px;
}
footer .o-footer__nav nav.block-menu > ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  -moz-column-gap: calc(var(--bump) / 3);
       column-gap: calc(var(--bump) / 3);
  margin: 0;
  grid-gap: 10px;
}
@media (max-width: 767px) {
  footer .o-footer__nav nav.block-menu > ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
footer .o-footer__nav nav.block-menu > ul.menu > li.menu-item-li > a.menu-item-li {
  position: relative;
  line-height: 23px;
  display: inline-block;
  font-family: var(--fontBody);
  text-decoration: none;
}
footer .o-footer__nav nav.block-menu > ul.menu > li.menu-item-li > a.menu-item-li:before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--c-black);
  transition: all 0.3s;
  position: absolute;
  bottom: 0;
  visibility: visible;
}
footer .o-footer__nav nav.block-menu > ul.menu > li.menu-item-li > a.menu-item-li:hover:before {
  width: 100%;
}
.o-footer__nav__lower footer .o-footer__nav nav.block-menu > ul.menu > li.menu-item-li > a.menu-item-li {
  font-size: 12px;
  line-height: 16px;
}
@media (max-width: 767px) {
  .o-footer__nav__lower footer .o-footer__nav nav.block-menu > ul.menu > li.menu-item-li > a.menu-item-li {
    font-size: 10px;
    line-height: 14px;
  }
}
@media (max-width: 767px) {
  footer .o-footer__nav__lower {
    width: 50%;
  }
}
footer .o-footer__nav__lower nav.block-menu > h1, footer .o-footer__nav__lower nav.block-menu > h2, footer .o-footer__nav__lower nav.block-menu > h3, footer .o-footer__nav__lower nav.block-menu > h4, footer .o-footer__nav__lower nav.block-menu > h5, footer .o-footer__nav__lower nav.block-menu > h6 {
  display: none;
}
footer .o-footer__nav__lower nav.block-menu > ul {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  footer .o-footer__nav__lower nav.block-menu > ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
footer .o-footer__nav__lower nav.block-menu > ul > li > a {
  font-size: var(--fontSizeSmallest);
}
footer .o-footer__upper h1,
footer .o-footer__upper h2,
footer .o-footer__upper h3,
footer .o-footer__upper h4,
footer .o-footer__upper h5,
footer .o-footer__upper h6 {
  font-size: 16px;
  font-family: var(--fontUltra);
  font-weight: 950;
  line-height: 24px;
  margin: 0 0 5px;
}
@media (max-width: 767px) {
  footer .o-footer__upper__about:after {
    content: "";
    background-color: black;
    height: 1px;
    width: 100%;
    display: block;
    transform: translateY(calc(var(--bump) / 2));
  }
}
footer .o-footer__upper__about .m-block {
  width: 100%;
  max-width: 346px;
  margin-right: auto;
}
@media (max-width: 767px) {
  footer .o-footer__upper__about .m-block {
    max-width: 100%;
  }
}
footer .o-footer__upper__about p {
  font-family: var(--fontMedium);
  margin: 0 0 calc(var(--bump) / 2);
}
footer .o-footer__upper__about ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: calc(var(--bump) / 3);
       column-gap: calc(var(--bump) / 3);
  margin: 0;
  padding: 0;
}
footer .o-footer__upper__about ul > li {
  list-style: none;
}
footer .o-footer__upper__about ul > li > a {
  position: relative;
  line-height: 32px;
  display: inline-block;
  font-family: var(--fontBody);
  text-decoration: none;
}
@media (max-width: 767px) {
  footer .o-footer__upper__about ul > li > a {
    line-height: 30px;
  }
}
footer .o-footer__upper__about ul > li > a:before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--c-black);
  transition: all 0.3s;
  position: absolute;
  bottom: 0;
  visibility: visible;
}
footer .o-footer__upper__about ul > li > a:hover:before {
  width: 100%;
}
.o-footer__nav__lower footer .o-footer__upper__about ul > li > a {
  font-size: 12px;
  line-height: 16px;
}
@media (max-width: 767px) {
  .o-footer__nav__lower footer .o-footer__upper__about ul > li > a {
    font-size: 10px;
    line-height: 14px;
  }
}
footer .o-footer__upper > .o-footer__nav, footer .o-footer__upper > .o-footer__upper__about, footer .o-footer__upper > .o-footer__social {
  margin: 0 0 calc(var(--bump) / 3);
}
@media (max-width: 767px) {
  footer .o-footer__lower {
    padding: 0 0 calc(var(--bump) * 2);
  }
}
@media (max-width: 767px) {
  footer .o-footer__lower__logos {
    order: -1;
  }
  footer .o-footer__lower__logos:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--c-black);
    margin: calc(var(--bump) / 1.5) 0 0;
  }
}
footer .o-footer__lower__logos > .m-block__linked-logos {
  display: flex;
  align-items: center;
  gap: var(--bump);
  justify-content: flex-end;
}
@media (max-width: 767px) {
  footer .o-footer__lower__logos > .m-block__linked-logos {
    flex-direction: column;
  }
}
footer .o-footer__lower__logos > .m-block__linked-logos img {
  display: block;
  max-width: 220px;
  width: 100%;
}
@media (max-width: 767px) {
  footer .o-footer__lower__info {
    width: 50%;
  }
}
footer .o-footer__lower__info p {
  font-size: var(--fontSizeSmallest);
  line-height: var(--LineHeightSm);
  font-family: var(--fontBook);
}
footer .o-footer__lower__info p:first-of-type {
  margin: 0 0 calc(var(--bump) / 2);
}
@media (max-width: 767px) {
  footer .o-footer__social h1,
  footer .o-footer__social h2,
  footer .o-footer__social h3,
  footer .o-footer__social h4,
  footer .o-footer__social h5,
  footer .o-footer__social h6 {
    margin: 0 0 calc(var(--bump) / 2);
    text-align: center;
  }
}
@media (max-width: 991px) {
  footer .o-footer__social {
    width: 100%;
  }
}
footer .o-footer__divider {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
  background-color: var(--c-black);
  height: 1px;
  margin: calc(var(--bump) * 3) 0 var(--bump);
}
@media (max-width: 767px) {
  footer .o-footer__divider {
    margin: calc(var(--bump) / 1.5) 0 var(--bump);
  }
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Views
 * ----------------------
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Search results
 * ----------------------
 */
#search-form {
  display: none;
  visibility: hidden;
}

body.search {
  background-color: var(--c-purple);
}
body.search .a-breadcrumb a, body.search .a-breadcrumb li, body.search .a-breadcrumb span {
  color: var(--c-white);
}
body.search .o-search-results {
  margin: 0;
}
body.search .o-search-results .view__site_search {
  display: flex;
  flex-direction: column;
  gap: calc(var(--bump) / 2);
  color: var(--c-white);
}
body.search .o-search-results .view__site_search__exposed-forms {
  margin: 0;
}
body.search .o-search-results .view__site_search__results-grid {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 769px) {
  body.search .o-search-results .view__site_search__results-grid {
    margin-top: 40px;
    border-top: 1px solid var(--c-white);
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  body.search .o-search-results .view__site_search__results-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
body.search .o-search-results .view__site_search__result-count {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 1em;
}
body.search .o-search-results .view__site_search form {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 100%;
}
body.search .o-search-results .view__site_search form .js-form-item {
  margin: 0;
  width: 100%;
  border-bottom: 1px solid var(--c-white);
}
body.search .o-search-results .view__site_search form .js-form-item input.form-text {
  border: none;
  width: 100%;
  display: block;
  height: 35px;
  padding: 0;
  margin: 0 0 calc(var(--bump) / 3) 0;
  background-color: var(--c-primary);
  color: var(--c-white);
  font-family: var(--fontUltra);
  font-size: clamp(14px, 2vw, 22px);
  font-weight: 500;
  letter-spacing: 0.88px;
  line-height: var(--lineHeight);
  align-self: center;
}
body.search .o-search-results .view__site_search form .js-form-item input::-moz-placeholder {
  font-family: var(--fontUltra);
  color: var(--c-white);
  font-size: clamp(14px, 2vw, 22px);
  font-weight: 500;
  letter-spacing: 0.88px;
  line-height: var(--lineHeight);
  display: flex;
  align-self: center;
}
body.search .o-search-results .view__site_search form .js-form-item input::placeholder {
  font-family: var(--fontUltra);
  color: var(--c-white);
  font-size: clamp(14px, 2vw, 22px);
  font-weight: 500;
  letter-spacing: 0.88px;
  line-height: var(--lineHeight);
  display: flex;
  align-self: center;
}
body.search .o-search-results .view__site_search form .js-form-item input:focus::-moz-placeholder {
  color: transparent;
}
body.search .o-search-results .view__site_search form .js-form-item input:focus::placeholder {
  color: transparent;
}
body.search .o-search-results .view__site_search form .js-form-item.js-form-type-select.form-type-select.js-form-item-type {
  margin: 0;
  border-bottom: 0;
  display: block;
  position: relative;
}
body.search .o-search-results .view__site_search form .js-form-item.js-form-type-select.form-type-select.js-form-item-type > .form-select.bef-links ul {
  margin: 0;
  padding: 1em 0;
  border-bottom: 1px solid var(--c-white);
}
body.search .o-search-results .view__site_search form .js-form-item.js-form-type-select.form-type-select.js-form-item-type > .form-select.bef-links ul li {
  display: flex;
  justify-content: center;
  list-style: none;
}
body.search .o-search-results .view__site_search form .js-form-item.js-form-type-select.form-type-select.js-form-item-type > .form-select.bef-links ul li a {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-white);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
}
body.search .o-search-results .view__site_search form .js-form-item.js-form-type-select.form-type-select.js-form-item-type > .form-select.bef-links ul li a:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
body.search .o-search-results .view__site_search form .js-form-item.js-form-type-select.form-type-select.js-form-item-type > .form-select.bef-links ul li a.bef-link--selected {
  background-color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
}
body.search .o-search-results .view__site_search form .form-actions.js-form-wrapper.form-wrapper[data-drupal-selector=edit-actions] {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  bottom: 1px;
  background-color: var(--c-primary);
}
body.search .o-search-results .view__site_search form .form-actions.js-form-wrapper.form-wrapper[data-drupal-selector=edit-actions] > button {
  text-align: left;
  text-indent: -9999px;
  background-color: var(--c-primary);
  position: relative;
  padding: 0;
  border: none;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 calc(var(--bump) / 3);
}
body.search .o-search-results .view__site_search form .form-actions.js-form-wrapper.form-wrapper[data-drupal-selector=edit-actions] > button:after {
  content: "";
  position: absolute;
  display: block;
  background-image: url("../img/icon-search.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: clamp(16px, 2vw, 26px);
  width: clamp(16px, 2vw, 26px);
}
body.search .o-search-results .view__site_search .a-btn {
  color: var(--c-white);
  border: 1px solid var(--c-white);
}
body.search footer:after {
  content: "";
  background-color: var(--c-white);
  position: absolute;
  top: 103.5px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.o-search-results-wrapper h2 {
  display: none;
}
.o-search-results-wrapper .result__title {
  margin-bottom: 0;
}
.o-search-results-wrapper__list {
  margin-bottom: calc(var(--bump) * 2);
}
.o-search-results-wrapper__list ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-search-results-wrapper__list ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-search-results-wrapper__list ol li {
  margin-bottom: var(--bump);
}

/**
 * ----------------------
 * Un.titled
 * Organisms - sidebar
 * ----------------------
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Teasers
 * ----------------------
 */
.o-teaser {
  position: relative;
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
  transition: all 1s var(--transition);
  display: grid !important;
  grid-template-rows: 265px auto;
}
@media (max-width: 767px) {
  .o-teaser {
    grid-template-rows: 200px auto 1fr;
  }
}
.o-teaser.o-event-content, .o-teaser.o-venue-content, .o-teaser.o-eat-drink-content, .o-teaser.o-stories-press-content {
  grid-template-rows: 265px auto 1fr;
}
@media (max-width: 767px) {
  .o-teaser.o-event-content, .o-teaser.o-venue-content, .o-teaser.o-eat-drink-content, .o-teaser.o-stories-press-content {
    grid-template-rows: 200px auto 1fr;
  }
}
.o-teaser.o-event-content .o-teaser__buttons, .o-teaser.o-venue-content .o-teaser__buttons, .o-teaser.o-eat-drink-content .o-teaser__buttons, .o-teaser.o-stories-press-content .o-teaser__buttons {
  height: 100%;
  display: flex;
  align-items: flex-start;
}
.o-teaser.o-teaser-event-megamenu-teaser {
  grid-template-rows: 150px auto;
}
.m-entity__ymal .o-teaser, .m-entity__events-yaml .o-teaser {
  grid-template-rows: 190px auto;
}
@media (min-width: 769px) {
  .a-grid--2 .o-teaser {
    grid-template-rows: 388px auto;
  }
}
.o-teaser:hover picture img, .o-teaser:focus picture img {
  transform: scale(1.2);
}
.o-teaser__inner,
.o-teaser .col-12 {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.o-teaser__thumb {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: var(--c-white);
  transition: all 1s var(--transition);
  overflow: hidden;
  height: 100%;
}
.m-entity__signposts__inner .o-teaser__thumb {
  display: flex;
  justify-content: flex-end;
}
.m-entity__signposts__inner .o-teaser__thumb picture {
  width: 100%;
}
.o-teaser__thumb .a-image-credit {
  left: calc(var(--bump) / 1.5);
}
.o-teaser__thumb picture {
  overflow: hidden;
  height: 100%;
}
.o-teaser__thumb picture img {
  width: 100%;
  height: 100%;
  display: block;
  transition: var(--transition);
  -o-object-fit: cover;
     object-fit: cover;
}
.o-teaser__image {
  position: relative;
}
.o-teaser__overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  color: var(--c-white);
  box-shadow: inset 0px -180px 91px -10px var(--c-primary);
}
@media (max-width: 767px) {
  .o-teaser__overlay {
    box-shadow: inset 0px -100px 90px -10px var(--c-primary);
  }
}
.o-teaser__overlay + picture > img {
  box-shadow: inset 0px -220px 130px -10px #1b1b1b;
}
.o-teaser__venue {
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 1px;
  font-family: var(--fontBook);
  text-decoration: none;
}
.o-teaser__time {
  position: relative;
  margin: 0 0 0 calc(var(--bump) / 2);
}
.o-teaser__time:before {
  content: "";
  position: absolute;
  top: 25%;
  left: -10px;
  height: 3px;
  width: 3px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: black;
  background-image: url("../img/icon-diagonal-arrow.svg");
}
.o-teaser__title {
  line-height: 1.5;
  font-size: clamp(16px, 7vw, var(--fontSize));
  font-weight: bold;
  margin-bottom: calc(var(--bump) / 6);
}
.o-teaser__title a {
  text-decoration: none;
}
.o-teaser__post-type {
  position: absolute;
  bottom: 0;
  padding: calc(var(--bump) / 5);
  background-color: var(--c-secondary);
  color: var(--c-primary);
  margin: 0;
  font-weight: bold;
  z-index: 1;
  transition: all 1s var(--transition);
  text-transform: uppercase;
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 0.75px;
  font-family: var(--fontBold);
}
.o-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: calc(var(--bump) / 2) 0 10px 0;
}
@media (max-width: 767px) {
  .o-teaser__content {
    padding: calc(var(--bump) / 2) 0;
  }
}
.m-entity__signposts__inner .o-teaser__content {
  position: absolute;
  z-index: 1;
}
@media (max-width: 1199px) {
  .m-entity__signposts__inner .o-teaser__content {
    padding: calc(var(--bump) / 2) calc(var(--bump) * 2);
    bottom: -50px;
  }
}
@media (max-width: 767px) {
  .m-entity__signposts__inner .o-teaser__content {
    position: relative;
    padding: calc(var(--bump) / 2) calc(var(--bump) / 2);
  }
}
.o-teaser__content p {
  margin-top: 0;
  margin-bottom: calc(var(--bump) / 6);
  font-family: var(--fontBook);
}
@media (max-width: 767px) {
  .o-teaser__content p:last-of-type {
    margin-bottom: calc(var(--bump) / 2);
  }
}
.ct__what-s-on-listing .o-teaser__body-text {
  display: none;
}
.o-teaser__link {
  font-family: var(--fontUltra);
  font-size: var(--fontSizeLg);
  line-height: var(--lineHeightLg);
  margin: 0;
  padding: 0;
  white-space: normal;
  -moz-text-align-last: left;
       text-align-last: left;
  text-align: left;
}
@media (max-width: 767px) {
  .o-teaser__link {
    font-size: 18px;
    line-height: var(--lineHeight);
  }
}
.o-teaser__link:hover {
  text-decoration: none;
}
.o-teaser__buttons {
  margin-top: auto;
  padding: 0 0 calc(var(--bump) / 2);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(var(--bump) / 2);
  align-self: flex-start;
}
@media (max-width: 767px) {
  .o-teaser__buttons {
    padding: 0 0 calc(var(--bump) / 2);
  }
}
.m-entity__signposts__inner .o-teaser__buttons {
  padding: 0;
}
.o-teaser__buttons--container {
  display: flex;
}
.o-teaser__button {
  padding: calc(var(--bump) / 4) calc(var(--bump) / 3);
  white-space: normal;
}
.o-teaser__button--no-bg {
  padding: calc(var(--bump) / 4) 0;
}
.o-teaser__button--flex-start {
  justify-content: flex-start;
}
.o-teaser__button:after {
  width: 20px;
  height: 20px;
  background-position: center;
  margin: 0;
}

.o-listing-page #root {
  background: rgba(217, 217, 217, 0.3);
}
.o-listing-page .m-entity__ymal,
.o-listing-page .m-entity__events-yaml {
  margin-top: 0;
}
.o-listing-page .m-highlights-container {
  margin-bottom: 50px;
}
.o-listing-page .m-highlights-container__header {
  background-color: #F5F5F5;
  box-shadow: 0 0 0 100vmax #F5F5F5;
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
  padding: 20px 0;
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  gap: 25px;
}
@media (max-width: 767px) {
  .o-listing-page .m-highlights-container__header {
    overflow-x: scroll;
    width: 100%;
    margin: 0;
    cursor: grab;
    justify-content: flex-start;
    overflow-y: hidden;
  }
}
.o-listing-page .m-highlights-container__content--item:not(.o-listing-page .m-highlights-container__content--item.active) {
  visibility: hidden;
  height: 0;
  overflow: hidden;
}
.o-listing-page .m-entity__ymal__wrapper,
.o-listing-page .m-entity__events-yaml__wrapper {
  padding-top: 30px;
}
.o-listing__no-results-copy {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.o-listing__dropdown__calendar {
  position: absolute;
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  -moz-column-gap: var(--bump);
       column-gap: var(--bump);
  z-index: 10;
  background-color: var(--c-light-blue);
  padding: calc(var(--bump) / 2) 0;
}
@media (max-width: 767px) {
  .o-listing__dropdown__calendar {
    position: relative;
    width: 100%;
    padding: calc(var(--bump) / 2);
  }
}
@media (max-width: 767px) {
  .o-listing__dropdown__calendar > .a-cols {
    width: 100%;
  }
}
.o-listing__dropdown__calendar__controls {
  display: flex;
  justify-content: center;
  gap: calc(var(--bump) / 2);
  padding: 0 calc(var(--bump) / 2);
}
.o-listing__dropdown__calendar__controls button.a-btn {
  font-family: var(--fontBold);
  font-size: clamp(var(--fontSm), 2.5vw, var(--fontSize));
  cursor: pointer;
  color: var(--c-black);
  border: 1px solid var(--c-black);
  border-radius: 18px;
  padding: calc(var(--bump) / 7.5) calc(var(--bump) / 2);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  white-space: nowrap;
  text-decoration: none;
  transition: all var(--transition);
  background-color: transparent;
  transition: all 0.3s var(--easing);
}
.o-listing__dropdown__calendar__controls button.a-btn:after {
  display: none;
}
.o-listing__dropdown__calendar__controls button.a-btn:hover {
  background-color: var(--c-black);
  color: var(--c-white);
}
.o-listing__dropdown__calendar__message {
  display: flex;
  justify-content: center;
  padding: 0 calc(var(--bump) / 2) calc(var(--bump) / 4);
}
.o-listing__dropdown .DayPicker {
  width: 100%;
  min-width: 316px;
}
@media (max-width: 767px) {
  .o-listing__dropdown .DayPicker {
    width: 100%;
    min-width: auto;
  }
}
.o-listing__dropdown .DayPicker-Month {
  margin: 0;
  width: 100%;
}
.o-listing__dropdown .DayPicker-NavBar {
  display: flex;
  gap: calc(var(--bump) / 2);
  position: absolute;
  top: 0;
  right: calc(var(--bump) / 2);
}
.o-listing__dropdown .DayPicker-NavButton {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  margin: 0;
}
.o-listing__dropdown .DayPicker-NavButton--prev, .o-listing__dropdown .DayPicker-NavButton--next {
  background-position: center;
  background-size: contain;
  height: 12px;
  width: 6px;
}
.o-listing__dropdown .DayPicker-NavButton--prev {
  background-image: url("../img/icon-chevron-left-black.svg");
}
.o-listing__dropdown .DayPicker-NavButton--next {
  background-image: url("../img/icon-chevron-right-black.svg");
}
.o-listing__dropdown .DayPicker-Caption {
  margin: 0 0 calc(var(--bump) / 2);
  padding: 0 calc(var(--bump) / 2);
}
.o-listing__dropdown .DayPicker-Caption > div {
  font-size: var(--fontSize);
  font-family: var(--fontUltra);
  font-weight: 950;
  line-height: 12px;
  letter-spacing: 0.32px;
  text-transform: uppercase;
}
.o-listing__dropdown .DayPicker-Weekday, .o-listing__dropdown .DayPicker-Day {
  font-size: var(--fontSizeSmallest);
  font-family: var(--fontUltra);
  line-height: var(--lineHeight);
  color: var(--c-black);
}
.o-listing__dropdown .DayPicker-Day {
  border: 1px solid var(--c-black);
  border-radius: 0;
}
@media (min-width: 769px) {
  .o-listing__dropdown .DayPicker-Day:last-of-type {
    border-right: 0;
  }
  .o-listing__dropdown .DayPicker-Day:first-of-type {
    border-left: 0;
  }
}
.o-listing__dropdown .DayPicker-Day:not(.DayPicker-Day--disabled):hover, .o-listing__dropdown .DayPicker-Day:not(.DayPicker-Day--selected):hover, .o-listing__dropdown .DayPicker-Day:not(.DayPicker-Day--outside):hover {
  background-color: var(--c-black) !important;
  color: var(--c-white);
}
.o-listing__dropdown .DayPicker-Day--selected:not(.DayPicker-Day--disabled), .o-listing__dropdown .DayPicker-Day--selected:not(.DayPicker-Day--outside) {
  background-color: var(--c-black) !important;
  color: var(--c-white);
}
/**
 * Templates
 */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-list {
  padding: 0 10% 0 0;
}

.slick-track .slick-slide {
  margin-right: 20px;
}
.m-banner .slick-track .slick-slide {
  margin-right: 0;
}
@media (max-width: 767px) {
  .slick-track .slick-slide .o-teaser__content {
    padding-bottom: 0;
  }
}

.slick-dots {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  bottom: 0px;
  display: flex;
  justify-content: center;
  margin: 15px 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .slick-dots {
    transform: translateX(-62.45%);
  }
}
.slick-dots li {
  margin: 0 calc(var(--bump) / 3) 0 0;
}
.slick-dots li button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: transparent;
  border: none;
  padding: 15px 0;
  width: calc(var(--bump) / 3);
  z-index: 1;
  text-align: left;
  text-indent: -9999px;
}
.slick-dots li button::after {
  content: "";
  background-color: var(--c-light-grey);
  opacity: 0.75;
  width: calc(var(--bump) / 3);
  height: calc(var(--bump) / 3);
  z-index: 1;
  border-radius: 20px;
  transition: all 0.6s var(--easing);
}
.slick-dots li button[aria-selected=true]:after {
  content: "";
  background-color: var(--c-grey);
  opacity: 1;
}
.slick-dots li::marker {
  display: none;
}
.slick-dots li:last-of-type {
  margin: 0;
}

@media (max-width: 767px) {
  .mobile-slider {
    padding-top: 40px !important;
  }
}
.mobile-slider button {
  position: absolute;
  top: 0;
  background: none;
  border: none;
  padding: 0;
}
.mobile-slider button.slick-disabled {
  display: none !important;
}
.mobile-slider button.slick-prev {
  left: 0;
}
.mobile-slider button.slick-next {
  right: 0;
}
.Pink .mobile-slider button img, .Purple .mobile-slider button img, .Black .mobile-slider button img, .DarkBlue .mobile-slider button img {
  filter: invert(100%) sepia(100%) saturate(19%) hue-rotate(316deg) brightness(106%) contrast(106%);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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USxpQkRGSztFSHFsQlg7QUFDRjs7QUk1a0JBO0VDMlhJLDhCRDFYb0I7RUMyWHBCLDJCRDNYb0I7RUM0WHBCLHNCRDVYb0I7RUFDcEI7RUNxR0E7RUFDQTtFQUNBO0VBNENBLG1CQURvQjtFQUVwQix1QkFGb0I7RUFHcEIsZUFIb0I7RUQvSXBCO0VBQ0E7RUFDQTtFQ0xJO0dBQ0E7RUFDQTtFRGFKO0FKK2tCSjtBSXRsQkk7RUNpWEEsOEJEL1d3QjtFQ2dYeEIsMkJEaFh3QjtFQ2lYeEIsc0JEalh3QjtFQ0ZwQjtFQUNBO0VBQ0E7QUw0bEJSOztBSWhsQkE7RUNtV0ksOEJEbFdvQjtFQ21XcEIsMkJEbldvQjtFQ29XcEIsc0JEcFdvQjtFQ2ZoQjtFQUNBO0VBQ0E7RURlSjtFQUNBO0VBQ0E7RUFDQSxhRHJCa0I7RUNvQ2Q7R0FDQTtFQUNBO0FKeWtCUjtBSXhsQkk7RUMyVkEsOEJEelZ3QjtFQzBWeEIsMkJEMVZ3QjtFQzJWeEIsc0JEM1Z3QjtFQ3hCcEI7RUFDQTtFQUNBO0FMb25CUjtBSXpsQkk7RUM2RUk7RUFHSjtFQUNBO0VEL0VJO0FKNmxCUjs7QUtwcUJRO0VBQ0k7R0FFSTtBTHNxQmhCOztBS3pxQlE7RUFDSTtHQUVJO0FMMnFCaEI7O0FLOXFCUTtFQUNJO0dBRUk7QUxnckJoQjs7QUtuckJRO0VBQ0k7R0FFSTtBTHFyQmhCOztBS3hyQlE7RUFDSTtHQUVJO0FMMHJCaEI7O0FLN3JCUTtFQUNJO0dBRUk7QUwrckJoQjs7QUtsc0JRO0VBQ0k7R0FFSTtBTG9zQmhCOztBS3ZzQlE7RUFDSTtHQUVJO0FMeXNCaEI7O0FLNXNCUTtFQUNJO0dBRUk7QUw4c0JoQjs7QUtqdEJRO0VBQ0k7R0FFSTtBTG10QmhCOztBS3R0QlE7RUFDSTtHQUVJO0FMd3RCaEI7O0FLM3RCUTtFQUNJO0dBRUk7QUw2dEJoQjs7QUl6b0JBO0VDdkZRO0lBQ0k7S0FFSTtFTG11QmQ7RUt0dUJNO0lBQ0k7S0FFSTtFTHV1QmQ7RUsxdUJNO0lBQ0k7S0FFSTtFTDJ1QmQ7RUs5dUJNO0lBQ0k7S0FFSTtFTCt1QmQ7RUtsdkJNO0lBQ0k7S0FFSTtFTG12QmQ7RUt0dkJNO0lBQ0k7S0FFSTtFTHV2QmQ7RUsxdkJNO0lBQ0k7S0FFSTtFTDJ2QmQ7RUs5dkJNO0lBQ0k7S0FFSTtFTCt2QmQ7RUtsd0JNO0lBQ0k7S0FFSTtFTG13QmQ7RUt0d0JNO0lBQ0k7S0FFSTtFTHV3QmQ7RUsxd0JNO0lBQ0k7S0FFSTtFTDJ3QmQ7RUs5d0JNO0lBQ0k7S0FFSTtFTCt3QmQ7QUFDRjtBSXhyQkE7RUMzRlE7SUFDSTtLQUVJO0VMcXhCZDtFS3h4Qk07SUFDSTtLQUVJO0VMeXhCZDtFSzV4Qk07SUFDSTtLQUVJO0VMNnhCZDtFS2h5Qk07SUFDSTtLQUVJO0VMaXlCZDtFS3B5Qk07SUFDSTtLQUVJO0VMcXlCZDtFS3h5Qk07SUFDSTtLQUVJO0VMeXlCZDtFSzV5Qk07SUFDSTtLQUVJO0VMNnlCZDtFS2h6Qk07SUFDSTtLQUVJO0VMaXpCZDtFS3B6Qk07SUFDSTtLQUVJO0VMcXpCZDtFS3h6Qk07SUFDSTtLQUVJO0VMeXpCZDtFSzV6Qk07SUFDSTtLQUVJO0VMNnpCZDtFS2gwQk07SUFDSTtLQUVJO0VMaTBCZDtBQUNGO0FJdHVCQTtFQy9GUTtJQUNJO0tBRUk7RUx1MEJkO0VLMTBCTTtJQUNJO0tBRUk7RUwyMEJkO0VLOTBCTTtJQUNJO0tBRUk7RUwrMEJkO0VLbDFCTTtJQUNJO0tBRUk7RUxtMUJkO0VLdDFCTTtJQUNJO0tBRUk7RUx1MUJkO0VLMTFCTTtJQUNJO0tBRUk7RUwyMUJkO0VLOTFCTTtJQUNJO0tBRUk7RUwrMUJkO0VLbDJCTTtJQUNJO0tBRUk7RUxtMkJkO0VLdDJCTTtJQUNJO0tBRUk7RUx1MkJkO0VLMTJCTTtJQUNJO0tBRUk7RUwyMkJkO0VLOTJCTTtJQUNJO0tBRUk7RUwrMkJkO0VLbDNCTTtJQUNJO0tBRUk7RUxtM0JkO0FBQ0Y7QUlweEJBO0VDbkdRO0lBQ0k7S0FFSTtFTHkzQmQ7RUs1M0JNO0lBQ0k7S0FFSTtFTDYzQmQ7RUtoNEJNO0lBQ0k7S0FFSTtFTGk0QmQ7RUtwNEJNO0lBQ0k7S0FFSTtFTHE0QmQ7RUt4NEJNO0lB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NUNOO0VLbjRDTTtJQWxCSiwyQkFGYTtLQUlUO0VMdTVDTjtFS3Y0Q007SUFsQkosMkJBRmE7S0FJVDtFTDI1Q047RUszNENNO0lBbEJKLGdCQUZhO0tBSVQ7RUwrNUNOO0VLLzRDTTtJQWxCSiwyQkFGYTtLQUlUO0VMbTZDTjtFS241Q007SUFsQkosMEJBRmE7S0FJVDtFTHU2Q047RUt2NUNNO0lBbEJKLGNBTFM7S0FPTDtFTDI2Q047QUFDRjtBSTMxQ0E7RUNqRVE7SUFsQkosMkJBRmE7S0FJVDtFTGk3Q047RUtqNkNNO0lBbEJKLDJCQUZhO0tBSVQ7RUxxN0NOO0VLcjZDTTtJQWxCSixnQkFGYTtLQUlUO0VMeTdDTjtFS3o2Q007SUFsQkosMkJBRmE7S0FJVDtFTDY3Q047RUs3NkNNO0lBbEJKLDJCQUZhO0tBSVQ7RUxpOENOO0VLajdDTTtJQWxCSixnQkFGYTtLQUlUO0VMcThDTjtFS3I3Q007SUFsQkosMkJBRmE7S0FJVDtFTHk4Q047RUt6N0NNO0lBbEJKLDJCQUZhO0tBSVQ7RUw2OENOO0VLNzdDTTtJQWxCSixnQkFGYTtLQUlUO0VMaTlDTjtFS2o4Q007SUFsQkosMkJBRmE7S0FJVDtFTHE5Q047RUtyOENNO0lBbEJKLDBCQUZhO0tBSVQ7RUx5OUNOO0VLejhDTTtJQWxCSixjQUxTO0tBT0w7RUw2OUNOO0FBQ0Y7QUl6NENBO0VDckVRO0lBbEJKLDJCQUZhO0tBSVQ7RUxtK0NOO0VLbjlDTTtJQWxCSiwyQkFGYTtLQUlUO0VMdStDTjtFS3Y5Q007SUFsQkosZ0JBRmE7S0FJVDtFTDIrQ047RUszOUNNO0lBbEJKLDJCQUZhO0tBSVQ7RUwrK0NOO0VLLzlDTTtJQWxCSiwyQkFGYTtLQUlUO0VMbS9DTjtFS24rQ007SUFsQkosZ0JBRmE7S0FJVDtFTHUvQ047RUt2K0NNO0lBbEJKLDJCQUZhO0tBSVQ7RUwyL0NOO0VLMytDTTtJQWxCSiwyQkFGYTtLQUlUO0VMKy9DTjtFSy8rQ007SUFsQkosZ0JBRmE7S0FJVDtFTG1nRE47RUtuL0NNO0lBbEJKLDJCQUZhO0tBSVQ7RUx1Z0ROO0VLdi9DTTtJQWxCSiwwQkFGYTtLQUlUO0VMMmdETjtFSzMvQ007SUFsQkosY0FMUztLQU9MO0VMK2dETjtBQUNGO0FJdjdDQTtFQ3pFUTtJQWxCSiwyQkFGYTtLQUlUO0VMcWhETjtFS3JnRE07SUFsQkosMkJBRmE7S0FJVDtFTHloRE47RUt6Z0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUw2aEROO0VLN2dETTtJQWxCSiwyQkFGYTtLQUlUO0VMaWlETjtFS2poRE07SUFsQkosMkJBRmE7S0FJVDtFTHFpRE47RUtyaERNO0lBbEJKLGdCQUZhO0tBSVQ7RUx5aUROO0VLemhETTtJQWxCSiwyQkFGYTtLQUlUO0VMNmlETjtFSzdoRE07SUFsQkosMkJBRmE7S0FJVDtFTGlqRE47RUtqaURNO0lBbEJKLGdCQUZhO0tBSVQ7RUxxakROO0VLcmlETTtJQWxCSiwyQkFGYTtLQUlUO0VMeWpETjtFS3ppRE07SUFsQkosMEJBRmE7S0FJVDtFTDZqRE47RUs3aURNO0lBbEJKLGNBTFM7S0FPTDtFTGlrRE47QUFDRjtBSXIrQ0E7RUM3RVE7SUFsQkosMkJBRmE7S0FJVDtFTHVrRE47RUt2akRNO0lBbEJKLDJCQUZhO0tBSVQ7RUwya0ROO0VLM2pETTtJQWxCSixnQkFGYTtLQUlUO0VMK2tETjtFSy9qRE07SUFsQkosMkJBRmE7S0FJVDtFTG1sRE47RUtua0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUx1bEROO0VLdmtETTtJQWxCSixnQkFGYTtLQUlUO0VMMmxETjtFSzNrRE07SUFsQkosMkJBRmE7S0FJVDtFTCtsRE47RUsva0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUxtbUROO0VLbmxETTtJQWxCSixnQkFGYTtLQUlUO0VMdW1ETjtFS3ZsRE07SUFsQkosMkJBRmE7S0FJVDtFTDJtRE47RUszbERNO0lBbEJKLDBCQUZhO0tBSVQ7RUwrbUROO0VLL2xETTtJQWxCSixjQUxTO0tBT0w7RUxtbkROO0FBQ0Y7QU05dERBO0VEeUxJLG1CQ3hMbUI7RUR5TG5CLHVCQ3pMbUI7RUQwTG5CLGVDMUxtQjtBTmt1RHZCOztBTS90REE7RURxTEkscUJDcExtQjtFRHFMbkIseUJDckxtQjtFRHNMbkIsaUJDdExtQjtBTm91RHZCO0FNL3RESTtFRDRKQSxvQkMzSnlCO0VENEp6QixzQkM1SnlCO0VENkp6QixjQzdKeUI7QU5tdUQ3Qjs7QU0vdERBO0VEMEtJLDJCQ3pLbUI7RUQwS25CLCtCQzFLbUI7RUQyS25CLHVCQzNLbUI7QU5vdUR2Qjs7QU03dERBO0VEd0tJLHVCQ3ZLd0I7RUR3S3hCLDJCQ3hLd0I7RUR5S3hCLG1CQ3pLd0I7QU5rdUQ1Qjs7QU0vdERBO0VEb0tJLCtCQ25Ld0I7RURvS3hCLG1DQ3BLd0I7RURxS3hCLDJCQ3JLd0I7QU5vdUQ1Qjs7QU1qdURBO0VEZ0tJLDBCQy9Kd0I7RURnS3hCLDhCQ2hLd0I7RURpS3hCLHNCQ2pLd0I7QU5zdUQ1Qjs7QU1udURBO0VENEpJLGtDQzNKd0I7RUQ0SnhCLHNDQzVKd0I7RUQ2SnhCLDhCQzdKd0I7QU53dUQ1Qjs7QU1qdURBO0VEcUxRO0VBdEJKLCtCQzlKcUI7RUQrSnJCLHVCQy9KcUI7QU5zdUR6Qjs7QU1udURBO0VEbUxRO0VBeEJKLDZCQzFKcUI7RUQySnJCLHFCQzNKcUI7QU53dUR6QjtBTXB1RFE7RUFDSTtBTnN1RFo7O0FNanVEQTtFRDBLUSxzQkN6S2lCO0VEK0lyQiwyQkMvSXFCO0VEZ0pyQixtQkNoSnFCO0FOc3VEekI7QU1sdURRO0VBQ0k7QU5vdURaOztBTS90REE7RUQrSlEsd0JDOUppQjtFRG9JckIsNkJDcElxQjtFRHFJckIscUJDcklxQjtBTm91RHpCOztBTTd0REE7RUR1S1E7RUE5QkosaUNDeEl1QjtFRHlJdkIseUJDekl1QjtBTmt1RDNCOztBTS90REE7RURxS1E7RUFoQ0osK0JDcEl1QjtFRHFJdkIsdUJDckl1QjtBTm91RDNCO0FNanVESTtFQUNJO0FObXVEUjs7QU0vdERBO0VEa0tRLDBCQ2pLbUI7RUQySHZCLDZCQzNIdUI7RUQ0SHZCLHFCQzVIdUI7QU5vdUQzQjs7QU1qdURBO0VEMEpRO0VBbENKLG9DQ3ZIdUI7RUR3SHZCLDRCQ3hIdUI7QU5zdUQzQjs7QU1udURBO0VEd0pRO0VBcENKLG1DQ25IdUI7RURvSHZCLDJCQ3BIdUI7QU53dUQzQjs7QU1qdURBO0VEb0lRLDRCQ25JZ0I7RURxR3BCLDJCQ3JHb0I7RURzR3BCLG1CQ3RHb0I7QU5zdUR4Qjs7QU1udURBO0VENEhRO0VBMUJKLDhCQ2pHb0I7RURrR3BCLHNCQ2xHb0I7QU53dUR4Qjs7QU1ydURBO0VEMEhRO0VBNUJKLDRCQzdGb0I7RUQ4RnBCLG9CQzlGb0I7RUFDcEI7QU4wdURKOztBTXZ1REE7RUR1SFEsMkJDdEhnQjtFRHdGcEIsMEJDeEZvQjtFRHlGcEIsa0JDekZvQjtFQUNwQjtBTjR1REo7O0FNenVEQTtFRGtIUSw2QkNqSGdCO0VEbUZwQiw0QkNuRm9CO0VEb0ZwQixvQkNwRm9CO0VBQ3BCO0FOOHVESjs7QU12dURBO0VEb0lJO0VBQ0E7RUFDQTtBTHVtREo7QU16dURRO0VBQ0k7QU4ydURaOztBTXR1REE7RURnSUk7RUFDQTtFQUNBO0FMMG1ESjtBTXh1RFE7RUFDSTtFQUNBO0VBQ0E7QU4wdURaO0FNeHVEWTtFRHpGUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxvMERKOztBTXp1REE7RURzSEk7RUFDQTtFQUNBO0FMdW5ESjtBTTN1RFE7RUFDSTtFQUNBO0VBQ0E7QU42dURaO0FNM3VEWTtFRHpHUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUx1MURKOztBTTV1REE7RUQ0R0k7RUFDQTtFQUNBO0FMb29ESjtBTTl1RFE7RUFDSTtFQUNBO0VBQ0E7QU5ndkRaO0FNOXVEWTtFRHpIUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUwwMkRKOztBTS91REE7RURrR0k7RUFDQTtFQUNBO0FMaXBESjtBTWp2RFE7RUFDSTtFQUNBO0VBQ0E7QU5tdkRaO0FNanZEWTtFRHpJUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUw2M0RKOztBTTV1REk7RUFDSTtBTit1RFI7O0FNdHVEQTtFRHBGSTtFQUNBO0VBQ0E7RUFrREEsMEJDa0N3QjtFRGpDeEIsOEJDaUN3QjtFRGhDeEIsc0JDZ0N3QjtBTjZ1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O0VBQ0E7RUFDQTtBYnV1RUo7O0FhcHVFRTtFQUNFO0FidXVFSjs7QWFwdUVFO0VBQ0U7QWJ1dUVKOztBYXB1RUU7RUFDRTtBYnV1RUo7O0FhcHVFRTtFQUNFO0FidXVFSjs7QWFwdUVFO0VBQ0U7QWJ1dUVKOztBYXB1RUU7RUFDRTtBYnV1RUo7O0FhcHVFRTtFQUNFO0VBQ0E7T0FBQTtBYnV1RUo7O0FhcHVFRTtFQUNFO0FidXVFSjtBYXR1RUk7RUFDRTtBYnd1RU47O0FhcHVFRTtFQUNFO0FidXVFSjs7QWFwdUVFO0VBQ0U7QWJ1dUVKOztBYy8wREk7RURyWkY7SUFFSTtFYnV1RUo7QUFDRjs7QWFwdUVFO0VBQ0U7QWJ1dUVKO0FjejFESTtFRC9ZRjtJQUdJO0VieXVFSjtBQUNGOztBYzkxREk7RUR4WUY7SUFFSTtFYnl1RUo7QUFDRjs7QWF0dUVFO0VBQ0U7QWJ5dUVKOztBYXR1RUU7RUFDRTtBYnl1RUo7O0FhdHVFRTs7RUFFRTtFQUNBO0FieXVFSjtBY2wzREk7RUQxWEY7O0lBS0k7RWI0dUVKO0FBQ0Y7O0FhenVFRTtFQUNFO0FiNHVFSjs7QWF4dUVFO0VGM0tBO0VBQ0E7RUU0S0U7RUFDQTtFQUNBO0FiNHVFSjs7QWF6dUVFOztFQUVFO0FiNHVFSjs7QWF4dUVJO0VBQ0U7QWIydUVOOztBQTM1RUE7O0VBQUE7QWUvQkE7Ozs7O0VBQUE7QUFPRTtFQUNFO0VBQ0E7RUFDQTtBZis3RUo7QWU3N0VJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWYrN0VOO0FlMzdFTTtFQUNFO0FmNjdFUjtBZXA3RU07RUFDRTtBZnM3RVI7QWVsN0VRO0VBQ0U7QWZvN0VWO0FlLzZFSTtFQUNFO0FmaTdFTjs7QWU1NkVBO0VBQ0U7QWYrNkVGOztBZTU2RUE7RUFDRTtBZis2RUY7O0FlNTZFQTs7RUpwREU7RUFDQTtFQUNBO0FYcStFRjtBV24rRUU7O0VBQ0U7RUFDQTtFQUNBO0FYcytFSjs7QWVwN0VBO0VBQ0U7RUFDQTtBZnU3RUY7QWVyN0VFO0VBQ0U7QWZ1N0VKO0FlcjdFSTtFQUNFO0lBSko7TUFLTTtJZnc3RUo7RUFDRjtBQUNGO0FlcjdFRTtFQUNFO0FmdTdFSjs7QWVuN0VBO0VBQ0U7QWZzN0VGOztBZW43RUE7RUFDRTtFQUNBO0FmczdFRjs7QWVsN0VBOzs7RUFHRTtFQUVBO0VBQ0E7RUFDQTtBZm83RUY7QWVsN0VFOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmczdFSjs7QWVsN0VBO0VBQ0U7QWZxN0VGO0FlbjdFRTtFQUNFO0FmcTdFSjtBZWw3RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmbzdFSjtBZWw3RUk7RUFDRTtFQUNBO0VBQ0E7QWZvN0VOO0FlajdFSTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FmaTdFTjtBZTk2RUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmZzdFTjtBZTc2RUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmKzZFTjs7QWUxNkVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWY2NkVGO0FlMzZFRTtFQUNFO0FmNjZFSjtBZTE2RUU7RUFDRTtBZjQ2RUo7O0FleDZFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWYyNkVGO0FlejZFRTtFQUVFO0FmMDZFSjtBZXY2RUU7RUFFRTtBZnc2RUo7QWV0NkVJO0VBQ0U7QWZ3NkVOO0FlcjZFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmdTZFTjtBZW42RUU7RUFFRTtBZm82RUo7QWVqNkVFO0VBRUU7QWZrNkVKO0FlaDZFSTtFQUNFO0FmazZFTjtBZTk1RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZnNkVKO0FlOTVFSTtFQUNFO0FmZzZFTjtBZTc1RUk7RUFFRTtBZjg1RU47QWV6NUVFO0VBQ0U7RUFDQTtFQUNBO0FmMjVFSjs7QWV2NUVBOzs7Q0FBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnk1RUY7O0FldDVFQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZ5NUVGOztBZXQ1RUE7RUFDRTtBZnk1RUY7O0FldDVFQTtFQUVFO0lBRUU7RWZ1NUVGO0VlcDVFQTtJQUNFO0VmczVFRjtBQUNGO0FlMzRFWTtFQUNFO0FmNjRFZDtBZXY0RVk7RUFDRTtBZnk0RWQ7QWNwcUVJO0VDaE9NO0lBR0k7RWZxNEVaO0FBQ0Y7QWVuNEVZO0VBQ0U7QWZxNEVkO0FlaDRFZ0I7RUFDRTtBZms0RWxCOztBZ0I1dEZBOzs7OztFQUFBO0FBUUU7Ozs7O0NBQUE7QUFPRjs7RUFBQTtBQUdBOzs7Ozs7Ozs7Ozs7RUFZRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQjR0RkY7O0FnQnp0RkE7O0VBRUU7RUFDQTtFQUNBO0FoQjR0RkY7O0FnQnp0RkE7O0VBRUU7RUFDQTtBaEI0dEZGOztBZ0J6dEZBOztFQUVFO0VBQ0E7QWhCNHRGRjs7QWdCenRGQTs7Ozs7O0VBTUU7RUFDQTtBaEI0dEZGO0FjOXVFSTtFRXJmSjs7Ozs7O0lBVUk7RWhCa3VGRjtBQUNGOztBZ0IvdEZBOztFQUFBO0FBR0E7RUFDRTtBaEJrdUZGO0FnQmh1RkU7RUFDRTtBaEJrdUZKOztBZ0IxdEZBOztFQUFBO0FBR0E7O0VBRUU7RUFDQTtBaEI2dEZGOztBZ0IxdEZBOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEI2dEZGO0FnQjN0RkU7RUFHRTtFQUNBO0FoQjJ0Rko7QWdCeHRGRTtFQUNFO0FoQjB0Rko7QVMzekZJO0VPb0dFO0FoQjB0Rk47QWdCdHRGRTtFQUNFO0FoQnd0Rko7O0FnQnB0RkE7RUFDRTtFQUNBO0FoQnV0RkY7O0FnQnB0RkE7RUFDRTtFQUNBO0FoQnV0RkY7O0FnQnp0RkE7RUFDRTtFQUNBO0FoQnV0RkY7O0FnQnB0RkE7O0VBQUE7QUFJRTtFQUNFO0FoQnN0Rko7QVNsMUZJO0VPK0hFO0FoQnN0Rk47O0FnQmp0RkE7O0VBQUE7QUFHQTtFQUNFO0VBQ0E7QWhCb3RGRjs7QWdCanRGQTtFQUNFO0VBQ0E7QWhCb3RGRjs7QWdCanRGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCb3RGRjs7QWdCanRGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJvdEZGOztBZ0JqdEZBO0VBQ0U7RUFDQTtBaEJvdEZGOztBZ0JqdEZBO0VBQ0U7RUFDQTtFQUNBO0FoQm90RkY7O0FnQmp0RkE7RUFDRTtBaEJvdEZGOztBaUJoNUZBOzs7OztFQUFBO0FBUUE7RU5DRTtFQUNBO0VBQ0E7RU1EQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQm01RkY7QVdwNUZFO0VBQ0U7RUFDQTtFQUNBO0FYczVGSjtBY3ozRUk7RUdyaUJKO0lBU0k7RWpCeTVGRjtBQUNGO0FpQnY1RkU7RUFDRTtBakJ5NUZKO0FpQnY1Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnk1Rk47QWlCdjVGTTtFQUNFO0VBQ0E7QWpCeTVGUjtBaUJwNUZNO0VBQ0U7RUFDQTtBakJzNUZSO0FpQnA1RlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJzNUZWO0FpQmg1Rk07RUFDRTtFQUNBO0FqQms1RlI7QWlCaDVGUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQms1RlY7QWlCNTRGTTtFQUNFO0VBQ0E7RUFDQTtBakI4NEZSOztBaUJ2NEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWpCeTRGRjtBaUJ2NEZFO0VBQ0U7QWpCeTRGSjtBaUJyNEZFO0VBQ0U7QWpCdTRGSjtBaUJwNEZFO0VBQ0U7QWpCczRGSjtBaUJuNEZFO0VBQ0U7QWpCcTRGSjtBaUJsNEZFO0VONUdBO0VBQ0E7RUFDQTtFTTRHRTtFQUNBO0VBQ0E7QWpCczRGSjtBV2wvRkU7RUFDRTtFQUNBO0VBQ0E7QVhvL0ZKO0FpQno0Rkk7RUFDRTtFQUNBO0FqQjI0Rk47QWlCejRGTTtFQUNFO0FqQjI0RlI7O0FpQnI0RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCdzRGRjs7QWlCcjRGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnc0RkY7O0FpQnQ0RkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCeTRGRjs7QWlCdDRGQTtFQUNFO0FqQnk0RkY7O0FrQm5qR0E7Ozs7O0VBQUE7QUFPQTs7RUFBQTtBQUdBOztFUk1JO0VBQ0E7RUFDQTtFUUxGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJ1akdGO0FrQnJqR0U7O0VBQ0U7RUFDQTtFQUNBO0FsQndqR0o7O0FrQnBqR0E7OztFQUdFO0FsQnVqR0Y7O0FrQm5qR0E7RUFDRTtFQUNBO0VBQ0E7QWxCc2pHRjtBa0JyakdFO0VBQ0U7QWxCdWpHSjs7QWtCbGpHQTtFQUNFO0FsQnFqR0Y7O0FtQmxtR0E7Ozs7O0VBQUE7QUFPQTtFQUNFO0lBQ0U7SUFDQTtFbkJvbUdGO0VtQmptR0E7SUFDRTtJQUNBO0VuQm1tR0Y7QUFDRjtBbUJobUdBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5Ca21HRjtFbUIvbEdBO0lBQ0U7SUFDQTtJQUNBO0VuQmltR0Y7QUFDRjtBbUI5bEdBO0VBQ0U7SUFDRTtFbkJnbUdGO0VtQjdsR0E7SUFDRTtFbkIrbEdGO0FBQ0Y7QW1CNWxHQTtFQUNFO0lBQ0U7RW5COGxHRjtFbUIzbEdBO0lBQ0U7RW5CNmxHRjtBQUNGO0FtQjFsR0E7RUFFRTtJQUVFO0VuQjBsR0Y7RW1CdmxHQTtJQUVFO0VuQndsR0Y7RW1CcmxHQTtJQUdFO0VuQnFsR0Y7RW1CbGxHQTtJQUVFO0VuQm1sR0Y7QUFDRjtBQXJuR0E7O0NBQUE7QW9CeENBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFHQTtFQUNFO0VBQ0E7QXBCaXFHRjtBb0IvcEdFO0VBQ0U7RUFDQTtBcEJpcUdKO0FvQjlwR0U7RUFDRTtBcEJncUdKO0Fjdm9GSTtFTTFoQkY7SUFJSTtJQUNBO0VwQmlxR0o7QUFDRjtBb0I5cEdFO0VBQ0U7QXBCZ3FHSjtBY2hwRkk7RU1qaEJGO0lBSUk7SUFDQTtFcEJpcUdKO0FBQ0Y7QW9COXBHRTtFQUNFO0FwQmdxR0o7QWN6cEZJO0VNeGdCRjtJQUlJO0lBQ0E7RXBCaXFHSjtBQUNGOztBcUI1c0dBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFZQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXQWZXO0VBZ0JYLFlBbEJLO0VBbUJMO0VBQ0E7RUFDQTtBckJxc0dGO0FjdnJGSTtFT3ZoQko7SUFZSTtFckJzc0dGO0FBQ0Y7QXFCcHNHRTtFQUVFO0VBQ0E7RUFDQTtBckJxc0dKO0FxQmxzR0U7RUFDRTtFQUNBO0FyQm9zR0o7QXFCanNHRTtFQUVFO0FyQmtzR0o7QXFCL3JHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQmlzR0o7QXFCaHNHSTtFQUNFO0VBQ0E7QXJCa3NHTjtBcUI5ckdFO0VBQ0U7RUFDQTtFQUNBLFdBM0RTO0VBNERULFdBMURVO0VBMkRWO0VBQ0E7RUFDQTtFQUNBO0FyQmdzR0o7QXFCOXJHSTtFQUNFO0FyQmdzR047QXFCOXJHTTtFQUNFO0FyQmdzR1I7QXFCN3JHTTtFQUVFO0VBQ0E7QXJCOHJHUjtBcUIzckdJO0VBQ0U7QXJCNnJHTjtBcUIzckdNO0VBRUU7QXJCNHJHUjtBcUJ6ckdJO0VBQ0U7QXJCMnJHTjtBcUJ6ckdNO0VBQ0U7QXJCMnJHUjtBcUJ4ckdNO0VBRUU7RUFFQTtBckJ3ckdSOztBc0J0eUdBOzs7OztFQUFBO0FBT0E7Ozs7OztHQUFBO0FBaUdBOztHQUFBO0FBSUE7RUE1RkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtBdEIweUdGO0FzQnp0R0U7RUE3RUE7RUFDQTtBdEJ5eUdGO0FzQnp0R0U7RUE1RUE7RUFDQTtBdEJ3eUdGO0FzQjF0R0k7RUExRUY7RUFDQTtBdEJ1eUdGO0FzQm55R0U7RVhyQkE7RUFDQTtFQUNBLHdCV29Ca0I7RUFDaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJ1eUdKO0FzQmx5R0U7RUFDRTtBdEJveUdKO0FzQi94R0U7RUFDRTtBdEJpeUdKO0FzQjV4R0U7RUFDRTtBdEI4eEdKO0FzQi90R0U7RUExREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QjR4R0Y7QXNCMXhHRTtFQUNFO0VBQ0E7QXRCNHhHSjtBc0I3dUdFO0VBN0dBO0VBQ0E7QXRCNjFHRjs7QXVCaDRHQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJrNEdGO0FjcDJGSTtFU3RpQko7SUFXSTtJQUNBO0V2Qm00R0Y7QUFDRjtBdUJqNEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJtNEdKO0F1Qmg0R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCazRHSjtBdUI1M0dJO0VBQ0U7QXZCODNHTjs7QXdCeDdHQTs7Ozs7Q0FBQTtBQU9BOztDQUFBO0FBR0E7RUFFRTtFQUNBO0F4Qnk3R0Y7QXdCdjdHRTtFQUNFO0F4Qnk3R0o7QXdCcjdHRTtFQUtFO0F4Qm03R0o7QXdCaDdHRTtFYm5CQTtFQUNBO0VBQ0E7RWFtQkU7RUFDQTtFQUNBO0F4Qm83R0o7QVd2OEdFO0VBQ0U7RUFDQTtFQUNBO0FYeThHSjtBd0J2N0dJO0VBQ0U7RUFDQTtFQUNBO0F4Qnk3R047QXdCeDdHTTtFQUNFO0F4QjA3R1I7QXdCeDdHTTtFQUNFO0VBQ0E7QXhCMDdHUjtBd0J0N0dRO0VBQ0U7QXhCdzdHVjs7QXlCeCtHQTs7Ozs7Q0FBQTtBQU9BOztDQUFBO0FBSUE7O0NBQUE7QUFHQTtFZDJCRTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RWM1QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QjQrR0o7QWNwOUZJO0VXL2hCSjtJQVVNO0lBQ0E7SUFDQTtFekI2K0dKO0FBQ0Y7QWMzOUZJO0VXL2hCSjtJQWdCTTtFekI4K0dKO0FBQ0Y7QXlCNStHSTtFQUNFO0F6QjgrR047QXlCeitHUTtFQUNFO0F6QjIrR1Y7QXlCdCtHSTtFQUNFO0VBQ0E7QXpCdytHTjtBeUJyK0dJO0VBQ0U7QXpCdStHTjtBYzcrRkk7RVczZkE7SUFJSTtJQUNBO0V6QncrR047QUFDRjtBY24vRkk7RVczZkE7SUFTSTtFekJ5K0dOO0FBQ0Y7QXlCdCtHSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6QncrR047QXlCditHTTtFQUNFO0F6QnkrR1I7QWNqZ0dJO0VXOWVBO0lBVUk7SUFDQTtFekJ5K0dOO0FBQ0Y7QXlCditHTTtFQUNFO0VBQ0E7QXpCeStHUjtBeUJyK0dJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpCdStHUjtBeUJyK0dRO0VBRUU7RUFDQTtFQUNBO0VBQ0EsV0psRkc7RUltRkgsV0pqRkk7RUlrRko7RUFDQTtFQUNBO0VBQ0E7QXpCcytHVjtBeUJuK0dRO0VBQ0U7QXpCcStHVjtBeUJqK0dRO0VBQ0U7QXpCbStHVjtBY2xpR0k7RVcxZEE7SUE4Qk07RXpCaytHUjtBQUNGO0F5QmgrR1E7RUFDRTtBekJrK0dWO0F5QmgrR1U7RUFFRTtBekJpK0daO0FjN2lHSTtFV3piSTtJZDlGTjtJQUNBO0VYd2tIQTtFeUJoK0dVO0lBRUU7RXpCaStHWjtBQUNGOztBMEJubUhBOzs7OztDQUFBO0FBT0E7O0NBQUE7QUFHQTtFQUNJO0ExQnFtSEo7O0EwQmxtSEU7RUFDRTtJQUNJO0UxQnFtSE47RTBCbm1ISTtJQUNFO0UxQnFtSE47RTBCbm1ISTtJQUNFO0UxQnFtSE47RTBCbm1ISTtJQUNFO0UxQnFtSE47RTBCbm1ISTtJQUNFO0UxQnFtSE47QUFDRjtBMEJsbUhFOztHQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBMUJtbUhKO0EwQmptSEk7RUFDSTtFQUNBO0ExQm1tSFI7QWN4bUdJO0VZN2ZBO0lBS007SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFCb21IUjtBQUNGO0EwQmxtSFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJvbUhaO0EwQmptSFE7RUFDSTtBMUJtbUhaO0EwQmxtSFk7RUFDSTtBMUJvbUhoQjs7QTJCbHJIQTtFQUNFO0VBQ0E7RUFDQTtBM0JxckhGO0EyQnBySEU7RUFDRTtBM0JzckhKOztBQXZvSEE7O0VBQUE7QTRCcERBOzs7OztFQUFBO0FBT0E7O0dBQUE7QUFHQTtFQUNFO0lBQ0U7SUFDQTtFNUJnc0hGO0U0QjlySEE7SUFDRTtFNUJnc0hGO0U0QjlySEE7SUFDRTtJQUNBO0U1QmdzSEY7QUFDRjtBNEI3ckhBOztHQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QitySEY7QTRCN3JIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1QitySEo7QWM5ckdJO0VjbGhCSjtJQXNCSTtFNUI4ckhGO0FBQ0Y7QTRCNXJIRTtFQUNFO0VBQ0E7QTVCOHJISjtBNEIzckhFO0VBQ0U7QTVCNnJISjtBNEIxckhFO0VqQnBCQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RWlCbUJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUIrckhKO0E0QjdySEk7RUFDRTtFQUNBO0E1QitySE47QTRCenJITTtFQUNFO0E1QjJySFI7O0E2Qjd3SEE7Ozs7O0VBQUE7QUFPQTtFQUdFO0VDVkY7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0FBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUFPQTs7SUFBQTtFQWFBOztJQUFBO0VDcEJBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0FBOzs7OztHQUFBO0VBT0E7O0dBQUE7RUFJQTs7R0FBQTtFQ1hBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0NBOzs7OztJQUFBO0VDREE7Ozs7O0lBQUE7QTFDaTNIQTtBNkI3MUhJO0VBQ0U7QTdCKzFITjtBNkI3MUhJO0VBQ0U7QTdCKzFITjtBNkIzMUhFO0VBQ0U7QTdCNjFISjtBYzcwR0k7RWVqaEJGO0lBR0k7RTdCKzFISjtFNkI5MUhJO0lBQ0U7RTdCZzJITjtBQUNGO0FjcjFHSTtFZXRpQko7SUErQkk7RTdCZzJIRjtBQUNGO0E2QjkxSEU7RUFDRTtFQUNBO0VBQ0E7QTdCZzJISjtBNkI1MUhJO0VBQ0U7QTdCODFITjtBNkIzMUhJO0VBRUU7QTdCNDFITjtBNkJ0MUhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0E3QncxSE47QWM1MkdJO0VlamZBO0lBUUk7SUFDQTtTQUFBO0U3QnkxSE47QUFDRjtBNkJuMUhNO0VBQ0U7RUFDQTtFQUNBO0E3QnExSFI7QTZCNzBITTtFQUNFO0VBQ0E7T0FBQTtBN0IrMEhSO0E2QjEwSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0I0MEhKO0E2QjEwSEk7RUFDRTtBN0I0MEhOO0FjcDRHSTtFZXpjQTtJQUdJO0U3QjgwSE47QUFDRjtBNkJ6MEhNO0VBTUU7QTdCczBIUjtBNkJsMEhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qm8wSE47QTZCaDBITTtFQUNFO0E3QmswSFI7QTZCeHpISTtFQUNFO0E3QjB6SE47QTZCeHpITTtFQUNFO0E3QjB6SFI7QTZCbHpISTtFQUNFO0E3Qm96SE47QTZCbHpITTtFQUNFO0VBQ0E7RUFDQTtBN0JvekhSO0E2Qmx6SFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCb3pIVjtBNkJ2eUhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdCeXlITjtBNkJ2eUhNO0VBQ0U7RUFDQTtBN0J5eUhSO0FjNzdHSTtFZXBYQTtJQVdJO0lBQ0E7RTdCMHlITjtBQUNGO0E2Qnh5SE07RUFDRTtBN0IweUhSO0E2QnR5SEk7RUFDRTtBN0J3eUhOO0E2QnJ5SFE7RUFDRTtBN0J1eUhWO0E2Qmx5SFE7RUFDRTtBN0JveUhWO0E4QnIvSEE7RUFDRTtBOUJ1L0hGO0ErQngvSEE7RUFDRTtBL0IwL0hGO0ErQngvSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0IwL0hKO0ErQnAvSEU7RUFDRTtFQUNBO09BQUE7QS9Ccy9ISjtBZ0NwZ0lFO0VBQ0U7QWhDc2dJSjtBZ0NwZ0lFO0VBQ0U7QWhDc2dJSjtBaUN6L0hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDMi9ISjtBaUN2L0hNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakN5L0hSO0FpQ3AvSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakNzL0hKO0FpQ24vSEU7RUFDRTtFQUNBO0FqQ3EvSEo7QWlDbC9IRTtFQUNFO0VBQ0E7QWpDby9ISjtBaUNsL0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDby9ITjtBaUNsL0hNO0VBQ0U7QWpDby9IUjtBaUN6aUlJO0VBQ0U7RUFDQTtBakMyaUlOO0FpQzdpSUk7RUFDRTtFQUNBO0FqQytpSU47QWlDampJSTtFQUNFO0VBQ0E7QWpDbWpJTjtBaUNyaklJO0VBQ0U7RUFDQTtBakN1aklOO0FpQ3pqSUk7RUFDRTtFQUNBO0FqQzJqSU47QWlDMy9IRTtFQUNFO0FqQzYvSEo7QWlDMS9IRTtFQUNFO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QWpDNC9ISjtBaUMxL0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QWpDNC9ITjtBa0NwbElBO0VBNkZFO0VBSUE7QWxDdS9IRjtBa0N0bElJO0VBQ0U7QWxDd2xJTjtBa0NwbElJO0VBQ0U7QWxDc2xJTjtBa0NubElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO09BQUE7RUFDQTtFQUNBO0VBQ0E7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O0VBQ0E7QXRDcTVJTjtBc0NuNUlNO0VoQm1CSjtFQUNBO0F0Qm00SUY7QXNDcDVJUTtFaEJxQk47RUFDQTtBdEJrNElGO0FzQ2w1SUk7RUFDRTtFQUNBO0F0Q281SU47QXNDbDVJTTtFaEJNSjtFQUNBO0F0Qis0SUY7QXNDbjVJUTtFaEJRTjtFQUNBO0F0Qjg0SUY7QXNDajVJSTtFQUNFO0VBQ0E7QXRDbTVJTjtBc0NqNUlNO0VoQjlCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0F0Qms3SUY7QXNDLzVJUTtFaEJmTjtFQUNBO0F0Qmk3SUY7QXNDNzVJSTtFQUNFO0VBQ0E7QXRDKzVJTjtBc0M3NUlNO0VoQjNDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0F0QjI4SUY7QXNDMzZJUTtFaEI1Qk47RUFDQTtBdEIwOElGO0FzQ3o2SUk7RUFDRTtFQUNBO0F0QzI2SU47QXNDejZJTTtFaEJqQ0o7RUFDQTtBdEI2OElGO0FzQzE2SVE7RWhCL0JOO0VBQ0E7QXRCNDhJRjtBc0N4NklJO0VBQ0U7RUFDQTtBdEMwNklOO0FzQ3g2SU07RWhCOUNKO0VBQ0E7QXRCeTlJRjtBc0N6NklRO0VoQjVDTjtFQUNBO0F0Qnc5SUY7QTJDcGdKSTtFQUNJO0VBQ0E7RUFDQTtBM0NzZ0pSO0FjNzlISTtFNkI1aUJBO0lBTVE7RTNDdWdKVjtBQUNGO0E0Qy9nSkE7RUFDSTtBNUNpaEpKO0E0Qy9nSkk7RUFDSTtFQUNBO0VBQ0E7QTVDaWhKUjtBNEMvZ0pRO0VBQ0k7RUFDQTtBNUNpaEpaO0E0Qy9nSlk7RXRCMkJWO0VBQ0E7QXRCdS9JRjtBNENoaEpnQjtFdEI2QmQ7RUFDQTtBdEJzL0lGO0E0QzlnSlE7RUFDRTtFQUNBO0E1Q2doSlY7QTRDOWdKWTtFdEJjVjtFQUNBO0F0Qm1nSkY7QTRDL2dKZ0I7RXRCZ0JkO0VBQ0E7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UTs7RUFDRTtBWHVyS1Y7QVdocktVOzs7OztFQUNFO0FYc3JLWjtBV2xyS1E7O0VBQ0U7QVhxcktWO0FXanJLTTs7RUFDRTtBWG9yS1I7QVdscktROztFQUNFO0FYcXJLVjtBVzlxS1U7Ozs7O0VBQ0U7QVhvcktaO0FXaHJLUTs7RUFDRTtBWG1yS1Y7QVc3cUtROzs7RUFFRTtFQUNBO0FYZ3JLVjtBaUQxektBO0VBQ0k7QWpENHpLSjtBaUQxektJO0VBQ0k7RUFDQTtBakQ0ektSO0FpRHp6S0k7RUFDSTtFQUNBO0VBQ0E7QWpEMnpLUjtBY3p4Skk7RW1DcmlCQTtJQU1RO0lBQ0E7RWpENHpLVjtFaUQxektVO0lBQ0k7RWpENHpLZDtBQUNGO0FpRHZ6S0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRHl6S1I7QWN6eUpJO0VtQ3JoQkE7SUFRTTtJQUNBO0lBQ0E7RWpEMHpLUjtBQUNGO0FrRDcxS0E7RUFDSTtBbEQrMUtKO0FrRDExS0k7RUFDSTtFQUNBO0FsRDQxS1I7QVdwektFOztFQUVFO0FYc3pLSjtBYzN6Skk7RUg3ZkY7O0lBSUk7RVh5ektKO0FBQ0Y7QVd4ektJOztFQUNFO0FYMnpLTjtBY3IwSkk7RUg3ZkY7O0lBVUk7SUFDQTtFWDZ6S0o7QUFDRjtBVzN6S0k7O0VBQ0U7QVg4ektOO0FXMXpLTTs7O0VBRUU7RUFDQTtBWDZ6S1I7QWN0MUpJO0VIMWVFOzs7SUFNSTtJQUNBO0lBQ0E7SUFDQTtFWGcwS1I7QUFDRjtBVzl6S1E7Ozs7O0VBbkROO0VBQ0E7RUFDQSxzQkFtRHdCO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHEwS1Y7QVdqMEtNOztFQUNFO0FYbzBLUjtBV2wwS1E7O0VBQ0U7QVhxMEtWO0FXOXpLVTs7Ozs7RUFDRTtBWG8wS1o7QVdoMEtROztFQUNFO0FYbTBLVjtBVy96S007O0VBQ0U7QVhrMEtSO0FXaDBLUTs7RUFDRTtBWG0wS1Y7QVc1ektVOzs7OztFQUNFO0FYazBLWjtBVzl6S1E7O0VBQ0U7QVhpMEtWO0FXM3pLUTs7O0VBRUU7RUFDQTtBWDh6S1Y7QWtEejdLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsRDI3S1I7QWNqNkpJO0VvQzloQkE7SUFPUTtJQUNBO0lBQ0E7RWxENDdLVjtBQUNGO0FrRDE3S1E7RUFDSTtBbEQ0N0taO0FrRHY3S0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRHk3S1I7QWtEeDdLUTtFQUVJO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7RUFDQTtBbER5N0taO0FrRHQ3S1E7RUFLSTtBbERvN0taO0FjNTdKSTtFb0M3Zkk7SUFFUTtJQUNBO0VsRDI3S2Q7QUFDRjtBY2w4Skk7RW9DN2ZJO0lBVVE7RWxEeTdLZDtBQUNGO0FrRHQ3S1E7RUFDSTtFQUNBO0FsRHc3S1o7QWtEdDdLWTtFQUNJO0FsRHc3S2hCO0FjOThKSTtFb0MzZVE7SUFJUTtFbER5N0tsQjtBQUNGO0F5Q3YvS0c7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekN5L0tMO0FjNTlKSTtFMkJwaUJEO0lBVUk7SUFDQTtJQUNBO0V6QzAvS0w7QUFDRjtBeUN4L0tLO0VBQ0U7RUFDQTtBekMwL0tQO0FjditKSTtFMkJyaEJDO0lBS0k7RXpDMi9LUDtBQUNGO0F5Q3gvS0s7RUFDRTtBekMwL0tQO0FjLytKSTtFMkI1Z0JDO0lBSUk7SUFDQTtFekMyL0tQO0FBQ0Y7QXlDdi9LRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekN5L0tMO0F5Q3YvS0s7RUFDRTtFQUNBO09BQUE7QXpDeS9LUDtBeUNsL0tLO0VBRUU7RUFDQTtBekNtL0tQO0FjcmdLSTtFMkJqZkM7SUFNSTtFekNvL0tQO0FBQ0Y7QXlDaC9LTTtFQUNFO0F6Q2svS1I7QXlDOStLSztFQUNFO0F6Q2cvS1A7QWNoaEtJO0UyQjdkQztJQUVJO0V6QysrS1A7QUFDRjtBeUM1K0tPO0VBRUU7QXpDNitLVDtBeUN4K0tHO0VBQ0U7QXpDMCtLTDtBYzNoS0k7RTJCaGREO0lBR0k7RXpDNCtLTDtBQUNGO0F5QzErS0s7RUFDRTtFQUNBO0F6QzQrS1A7QWNwaUtJO0UyQjFjQztJQUlJO0V6QzgrS1A7QUFDRjtBeUMxK0tHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekM0K0tMO0F5Q3orS0c7RUFDRTtFQUNBO0F6QzIrS0w7QTBDeGxMUTtFQUNJO0VBQ0E7QTFDMGxMWjtBMEN4bExZO0VwQjBCVjtFQUNBO0F0QmlrTEY7QTBDemxMZ0I7RXBCNEJkO0VBQ0E7QXRCZ2tMRjtBMEN2bExRO0VBQ0U7RUFDQTtBMUN5bExWO0EwQ3ZsTFU7RXBCYVI7RUFDQTtBdEI2a0xGO0EwQ3hsTGM7RXBCZVo7RUFDQTtBdEI0a0xGO0EwQ3RsTFE7RUFDSTtFQUNBO0ExQ3dsTFo7QTBDdGxMWTtFcEJ2QlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtBdEJnbkxGO0EwQ3BtTGdCO0VwQlJkO0VBQ0E7QXRCK21MRjtBMENsbUxRO0VBQ0k7RUFDQTtBMUNvbUxaO0EwQ2xtTFk7RXBCcENWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7QXRCeW9MRjtBMENobkxnQjtFcEJyQmQ7RUFDQTtBdEJ3b0xGO0EwQzltTFE7RUFDSTtFQUNBO0ExQ2duTFo7QTBDOW1MWTtFcEIxQlY7RUFDQTtBdEIyb0xGO0EwQy9tTGdCO0VwQnhCZDtFQUNBO0F0QjBvTEY7QTBDN21MUTtFQUNJO0VBQ0E7QTFDK21MWjtBMEM3bUxZO0VwQnZDVjtFQUNBO0F0QnVwTEY7QTBDOW1MZ0I7RXBCckNkO0VBQ0E7QXRCc3BMRjtBMEM1bUxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDOG1MTjtBYy9wS0k7RTRCdGRBO0lBVUk7SUFDQTtJQUNBO0UxQyttTE47QUFDRjtBMEM3bUxNO0VBQ0U7RUFDQTtBMUMrbUxSO0FjMXFLSTtFNEJ2Y0U7SUFLSTtFMUNnbkxSO0FBQ0Y7QTBDN21MTTtFQUNFO0ExQyttTFI7QWNscktJ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Q0E7QXZEaXFNUjtBdUQvcE1RO0VBQ0k7RUFDQTtBdkRpcU1aO0F1RC9wTVk7RWpDMkJWO0VBQ0E7RWlDMUJjO0F2RGtxTWhCO0F1RGhxTWdCO0VqQzRCZDtFQUNBO0F0QnVvTUY7QXVEOXBNUTtFQUNFO0VBQ0E7QXZEZ3FNVjtBdUQ5cE1ZO0VqQ2FWO0VBQ0E7RWlDWmM7QXZEaXFNaEI7QXVEL3BNZ0I7RWpDY2Q7RUFDQTtBdEJvcE1GO0F1RDdwTVE7RUFDSTtFQUNBO0F2RCtwTVo7QXVEN3BNWTtFakN4QlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFaUNZYztBdkQ2cU1oQjtBdUQzcU1nQjtFakNWZDtFQUNBO0F0QndyTUY7QXVEenFNUTtFQUNJO0VBQ0E7QXZEMnFNWjtBdUR6cU1ZO0VqQ3RDVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VpQzBCYztBdkR5ck1oQjtBdUR2ck1nQjtFakN4QmQ7RUFDQTtBdEJrdE1GO0F1RHJyTVE7RUFDSTtFQUNBO0F2RHVyTVo7QXVEcnJNWTtFakM3QlY7RUFDQTtFaUM4QmM7QXZEd3JNaEI7QXVEdHJNZ0I7RWpDNUJkO0VBQ0E7QXRCcXRNRjtBdURwck1RO0VBQ0k7RUFDQTtBdkRzck1aO0F1RHByTVk7RWpDM0NWO0VBQ0E7RWlDNENjO0F2RHVyTWhCO0F1RHJyTWdCO0VqQzFDZDtFQUNBO0F0Qmt1TUY7QVcvdE1FOztFQUVFO0FYaXVNSjtBY3R1TEk7RUg3ZkY7O0lBSUk7RVhvdU1KO0FBQ0Y7QVdudU1JOztFQUNFO0FYc3VNTjtBY2h2TEk7RUg3ZkY7O0lBVUk7SUFDQTtFWHd1TUo7QUFDRjtBV3R1TUk7O0VBQ0U7QVh5dU1OO0FXcnVNTTs7O0VBRUU7RUFDQTtBWHd1TVI7QWNqd0xJO0VIMWVFOzs7SUFNSTtJQUNBO0lBQ0E7SUFDQTtFWDJ1TVI7QUFD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O0VBQ0U7QWhFMnFQTjtBZ0V4cVBJO0VBQ0U7RUFDQTtFQUNBO0FoRTBxUE47QWdFeHFQTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRTBxUFI7QWdFeHFQUTtFQUNFO0VBQ0E7RUFDQTtBaEUwcVBWO0FnRXhxUFU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRTBxUFo7QWdFeHFQWTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFMHFQZDtBZ0VsclBZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEUwcVBkO0FnRXZxUGM7RUFDRTtBaEV5cVBoQjtBZ0UxcVBjO0VBQ0U7QWhFeXFQaEI7QWdFbnFQUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRXFxUFY7QWdFbnFQVTtFckQxSlI7RUFDQTtFcUQySlU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFc3FQWjtBZ0VwcVBZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRXNxUGQ7QWdFL3BQSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRWlxUE47QWN4ME9JO0VrRGhXQTtJQVVJO0lBQ0E7RWhFa3FQTjtBQUNGO0FnRWhxUE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEVrcVBSO0FnRWhxUFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFa3FQVjtBZ0U5cFBVO0VBQ0U7QWhFZ3FQWjtBZ0UzcFBNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEU2cFBSO0FnRXZwUE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QWhFeXBQUjtBZ0V0cFBNO0VBQ0U7RUFDQTtBaEV3cFBSO0FnRXJwUE07RUFDRTtBaEV1cFBSO0FnRWxwUEU7RUFDRTtFQUNBO0FoRW9wUEo7QWM5M09JO0VrRGxSQTtJQUVJO0lBQ0E7SUFDQTtFaEVrcFBOO0FBQ0Y7QWdFOW9QRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFZ3BQSjtBZ0U3b1BJOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FoRStvUE47QWdFNW9QSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRThvUE47QWdFNW9QTTtFQUNFO0VBQ0E7QWhFOG9QUjtBYzc1T0k7RWtEOU9FO0lBRUk7SUFDQTtFaEU2b1BSO0FBQ0Y7QWdFMW9QTTtFQUNFO0VBQ0E7QWhFNG9QUjtBZ0V4b1BJO0VBQ0U7RUFDQTtBaEUwb1BOO0FnRXhvUE07RUFFRTtFQUNBO0FoRXlvUFI7QWMvNk9JO0VrRHROSTtJQUNFO0lBQ0E7RWhFd29QUjtBQUNGOztBZ0Vsb1BBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEVxb1BGO0FjaDhPSTtFa0Q3TUo7SUFXSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhFc29QRjtBQUNGO0FnRW5vUEk7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEVxb1BOO0FjbDlPSTtFa0R6TEE7O0lBUUk7SUFDQTtFaEV3b1BOO0FBQ0Y7QWN6OU9JO0VrRHpMQTs7SUFZSTtFaEUyb1BOO0FBQ0Y7QWMvOU9JO0VrRHpMQTs7SUFlSTtJQUNBO0VoRThvUE47QUFDRjtBZ0U3b1BNOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRWdwUFI7QWdFL29QUTs7O0VBRUU7QWhFa3BQVjtBZ0Uvb1BNOztFQUNFO0FoRWtwUFI7QWdFanBQUTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEVvcFBWO0FjaGdQSTtFa0R4Skk7O0lBTUk7RWhFdXBQVjtBQUNGO0FnRXRwUFU7O0VBQ0U7RUFDQTtBaEV5cFBaO0FnRXhwUFk7OztFQUVFO0FoRTJwUGQ7QWdFbnBQRTtFQUNFO0VBQ0E7RUFDQTtBaEVxcFBKO0FnRW5wUEk7RUFDRTtBaEVxcFBOO0FnRWxwUE07RUFDRTtFQUNBO0FoRW9wUFI7QWM1aFBJO0VrRDFIRTtJQUtJO0VoRXFwUFI7QUFDRjtBZ0VucFBRO0VBRUU7RUFDQTtBaEVvcFBWO0FnRWxwUFU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEVvcFBaO0FnRWpwUFE7RUFDRTtBaEVtcFBWO0FnRTlvUEk7RUFDRTtBaEVncFBOO0FnRTVvUE07RUFDRTtBaEU4b1BSO0FjcGpQSTtFa0R6Rkk7SUFFSTtFaEUrb1BWO0VnRTdvUFU7SUFDRTtFaEUrb1BaO0FBQ0Y7QWdFNW9QVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEU4b1BaO0FnRTdvUFk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFK29QZDtBZ0Uzb1BnQjtFQUNJO0FoRTZvUHBCO0FnRXhvUGM7RUFDRTtBaEUwb1BoQjtBZ0Vwb1BZO0VBQ0U7QWhFc29QZDtBZ0UvblBJO0VBQ0M7RUFFQztFQUNBO0VBQ0E7QWhFZ29QTjtBY2ptUEk7RWtEcENBO0lBUUk7RWhFaW9QTjtBQUNGO0FnRS9uUE07RUFFRTtFQUNBO0FoRWdvUFI7QWdFM25QSTtFQUNFO0VBQ0E7RUFDQTtBaEU2blBOO0FnRTNuUE07RUFDRTtFQUNBO0VBQ0E7QWhFNm5QUjtBZ0V6blBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhFMm5QTjtBZ0V6blBNO0VBQ0U7RUFDQTtFQUNBO0FoRTJuUFI7QWdFdm5QSTtFQUNFO0FoRXluUE47QWNsb1BJO0VrRGFGO0lBR0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoRXNuUEo7QUFDRjtBYy9vUEk7RWtEYUY7SUFlSTtFaEV1blBKO0FBQ0Y7QWdFcG5QRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFc25QSjtBZ0VublBNO0VBQ0U7QWhFcW5QUjtBZ0VqblBJO0VBQ0U7RUFDQTtFQUNBO0FoRW1uUE47QWdFam5QTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFbW5QUjs7QWMxcVBJO0VrRDhESjtJQUVJO0VoRSttUEY7QUFDRjtBZ0U5bVBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRWduUEo7QWN4clBJO0VrRGtFRjtJQVFJO0VoRWtuUEo7QUFDRjtBZ0UvbVBJO0VBQ0U7RUFDQTtBaEVpblBOO0FjanNQSTtFa0RrRkE7SUFFSTtJQUNBO0VoRWluUE47QUFDRjtBZ0U1bVBRO0VBQ0U7QWhFOG1QVjtBZ0UzbVBRO0VBQ0U7QWhFNm1QVjtBYzdzUEk7RWtEcUdGO0lBRUk7RWhFMG1QSjtBQUNGO0FnRXhtUEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEUwbVBKO0FjeHRQSTtFa0QwR0Y7SUFPSTtFaEUybVBKO0FBQ0Y7QWdFMW1QSTtFQUNFO0VBQ0E7QWhFNG1QTjtBY2p1UEk7RWtEbUhBO0lBS0k7RWhFNm1QTjtBQUNGO0FjdHVQSTtFa0Q0SEE7SUFFSTtFaEU0bVBOO0FBQ0Y7O0FnRXRtUEU7RUFDRTtBaEV5bVBKOztBaUU1eFFBOzs7OztFQUFBO0FBT0M7RUFDRztBakU4eFFKO0FpRTd4UUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakUreFFSO0FpRTV4UUk7RUFDSTtBakU4eFFSO0FpRXp4UVE7RUFDSTtBakUyeFFaO0FjeHdQSTtFbURwaEJJO0lBR1E7RWpFNnhRZDtBQUNGO0FpRTF4UVE7RUFDSTtBakU0eFFaO0FjaHhQSTtFbUR6Z0JZO0lBRVE7RWpFMnhRdEI7QUFDRjtBaUV2eFFZO0VBQ0k7RUFDQTtBakV5eFFoQjtBaUV0eFFZO0VBQ0k7RUFDQTtBakV3eFFoQjtBaUVyeFFZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtBakV1eFFoQjtBY3R5UEk7RW1EN2VJO0lBR1E7RWpFb3hRZDtBQUNGO0FjM3lQSTtFbUQ3ZUk7SUFPUTtFakVxeFFkO0FBQ0Y7QWlFbnhRWTtFQUNJO0FqRXF4UWhCO0FpRXB4UWdCO0VBTUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakVpeFFwQjtBaUU3d1FvQjtFQUNJO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUFDQTtBakUrd1F4QjtBY2owUEk7RW1EbmRnQjtJQVFRO0VqRWd4UTFCO0FBQ0Y7QWlFMXdRd0M7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRTR3UTVDO0FpRTF3UTRDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRTR3UWhEO0FpRXh3UWdEO0VBQ0k7QWpFMHdRcEQ7QWlFdHdRNEM7RUFDSTtFQUNBO0FqRXd3UWhEO0FjLzFQSTtFbUQzYXdDO0lBS1E7SUFDQTtFakV5d1FsRDtBQUNGO0FjcjJQSTtFbUR6WlE7SUFFUTtFakVnd1FsQjtBQUNGO0FpRTN2UXdCO0VBTUk7QWpFd3ZRNUI7QWlFcnZRd0I7RUFDSTtBakV1dlE1QjtBY2gzUEk7RW1EeFlvQjtJQUdRO0VqRXl2UTlCO0FBQ0Y7QWlFdnZRZ0M7RUFDSTtBakV5dlFwQztBaUUvdVFZOzs7Ozs7RUFNSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRWl2UWhCO0FjcDRQSTtFbUR2V2dCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqRTh1UXRCO0FBQ0Y7QWlFM3VRZ0I7RUFDSTtFQUNBO0VBQ0E7QWpFNnVRcEI7QWNuNVBJO0VtRDdWWTtJQU1RO0VqRTh1UXRCO0FBQ0Y7QWlFM3VRZ0I7RUFDSTtFQUNBO0FqRTZ1UXBCO0FpRTF1UWdCO0VBQ0k7RUFDQTtFQUNBO09BQUE7RUFDQTtFQUNBO0FqRTR1UXBCO0FpRTF1UW9CO0VBQ0k7QWpFNHVReEI7QWlFM3VRd0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRTZ1UTVCO0FjNzZQSTtFbURyVW9CO0lBUVE7RWpFOHVROUI7QUFDRjtBaUU1dVE0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakU4dVFoQztBaUUxdVFnQztFQUNJO0FqRTR1UXBDO0FpRXh1UTRCO0VBQ0k7RUFDQTtBakUwdVFoQztBY3A4UEk7RW1EeFN3QjtJQUtRO0lBQ0E7RWpFMnVRbEM7QUFDRjtBaUVwdVFZO0VBR0k7QWpFb3VRaEI7QWM3OFBJO0VtRG5SSTtJQUVRO0VqRWt1UWQ7QUFDRjtBY2w5UEk7RW1EOVFRO0lBRVE7RWpFa3VRbEI7RWlFaHVRa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpFa3VRdEI7QUFDRjtBaUUvdFFnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRWl1UXBCO0FjcitQSTtFbURoUVk7SUFPUTtFakVrdVF0QjtBQUNGO0FpRWh1UW9CO0VBQ0k7RUFDQTtFQUNBO0FqRWt1UXhCO0FjLytQSTtFbUQ5T1E7SUFFUTtFakUrdFFsQjtBQUNGO0FpRTd0UWdCO0VBQ0k7RUFDQTtFQUNBO0FqRSt0UXBCO0FpRTd0UW9CO0VBQ0k7QWpFK3RReEI7QWM1L1BJO0VtRDVOUTs7Ozs7O0lBT1E7SUFDQTtFakUwdFFsQjtBQUNGO0FjdmdRSTtFbUQ3Tkk7SUFjUTtFakUwdFFkO0FBQ0Y7QWlFdnRRUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRXl0UVo7QWNyaFFJO0VtRDNNSTtJQVVRO0VqRTB0UWQ7QUFDRjs7QWtFdmtSQTs7Ozs7RUFBQTtBQ0FBOzs7OztFQUFBO0FBT0E7RUFDRTtFQUNBO0FuRStrUkY7O0FtRTNrUkU7RUFDRTtBbkU4a1JKO0FtRTVrUk07RUFDRTtBbkU4a1JSO0FtRTNrUkk7RUFDRTtBbkU2a1JOO0FtRTNrUk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkU2a1JSO0FtRTNrUlE7RUFDRTtBbkU2a1JWO0FtRTFrUlE7RUFDRTtFQUNBO0VBQ0E7QW5FNGtSVjtBY25rUUk7RXFENWdCSTtJQUtJO0lBQ0E7SUFDQTtFbkU4a1JWO0FBQ0Y7QWMxa1FJO0VxRDVnQkk7SUFVSTtFbkVnbFJWO0FBQ0Y7QW1FN2tSUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuRStrUlY7QW1FNWtSUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FOGtSVjtBbUU3a1JVO0VBQ0U7RUFDQTtFQUNBO0FuRStrUlo7QW1FNWtSYztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FOGtSaEI7QW1FM2tSYztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FNmtSaEI7QW1FcmxSYztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FNmtSaEI7QW1FMWtSZ0I7RUFDRTtBbkU0a1JsQjtBbUU3a1JnQjtFQUNFO0FuRTRrUmxCO0FtRXJrUmdCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5FdWtSbEI7QW1FbmtSc0I7RUFDRTtFQUNBO0VBQ0E7QW5FcWtSeEI7QW1FOWpSd0I7RUFDRTtFQUNBO0VBQ0E7QW5FZ2tSMUI7QW1FOWpSMEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0FuRWdrUjVCO0FtRTlqUjRCO0VBQ0U7RUFDQTtBbkVna1I5QjtBbUU3alI0QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuRStqUjlCO0FtRWpqUmdCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FbWpSbEI7QW1FampSa0I7RXhEckpoQjtFQUNBO0V3RHNKa0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Fb2pScEI7QW1FbGpSb0I7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Fb2pSdEI7QW1FM2lSUTtFQUNFO0VBQ0E7QW5FNmlSVjtBbUV4aVJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkUwaVJSOztBbUVuaVJFO0VBQ0U7QW5Fc2lSSjtBbUVuaVJFO0VBQ0U7QW5FcWlSSjtBbUVsaVJFO0VBQ0U7QW5Fb2lSSjtBbUVsaVJJO0V4RGxPRjtFQUNBO0VBQ0E7QVh1d1JGO0FXcndSRTtFQUNFO0VBQ0E7RUFDQTtBWHV3Uko7QW1FemlSTTtFQUNFO0FuRTJpUlI7O0FvRTF4UkE7Ozs7O0VBQUE7QUNBQTs7Ozs7RUFBQTtBQU9D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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RXN0U0o7O0F1RXB0U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RXV0U0o7QXVFcnRTSTtFQUNJO0F2RXV0U1I7QXVFcHRTSTtFQUNJO0VBQ0E7QXZFc3RTUjs7QXVFbnRTQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RXN0U0o7O0F1RW50U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFc3RTSjtBdUVwdFNJO0VBRUk7RUFDQTtBdkVxdFNSO0F1RWx0U0k7RUFDSTtBdkVvdFNSO0F1RWp0U0k7RUFDSTtBdkVtdFNSOztBdUVodFNBO0VBQ0k7RUFDQTtFQUNBO0VBV0E7QXZFeXNTSjtBdUVudFNJO0VBQ0k7QXZFcXRTUjtBdUVudFNJO0VBQ0k7QXZFcXRTUjtBdUVudFNJO0VBQ0k7QXZFcXRTUjtBdUVodFNJO0VBQ0k7QXZFa3RTUjtBdUUvc1NJO0VBQ0k7QXZFaXRTUjtBdUU5c1NJO0VBQ0k7QXZFZ3RTUjtBdUU3c1NJO0VBQ0k7RUFDQTtFQUNBO0F2RStzU1I7O0F1RTVzU0E7RUFDSTtBdkUrc1NKOztBdUU3c1NBO0VBQ0k7QXZFZ3RTSjs7QXVFM3NTSTtFQUNJO0F2RThzU1I7QXVFN3NTUTtFQUNJO0F2RStzU1o7QWMvd1JJO0V5RDliSTtJQUVRO0V2RStzU2Q7QUFDRjs7QXVFdnNTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkUwc1NKO0FjaHlSSTtFeURuYko7SUFZUTtFdkUyc1NOO0FBQ0Y7QXVFenNTSTtFQUNJO0F2RTJzU1I7QXVFenNTUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFNUQvSFY7RUFDQTtBWDIwU0Y7QXVFMXNTWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFNHNTaEI7QXVFeHNTZ0I7RUFDSTtFQUNBO0VBQ0E7QXZFMHNTcEI7QXVFcnNTUTtFQUNJO0F2RXVzU1o7QXVFcHNTUTtFQUNJO0F2RXNzU1o7O0FjMTBSSTtFeUR2WEo7SUFFUTtFdkVvc1NOO0FBQ0Y7QXVFbnNTSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFcXNTUjtBdUVwc1NRO0VBQ0k7QXZFc3NTWjtBdUVwc1NRO0VBQ0k7QXZFc3NTWjtBdUVwc1NRO0VBQ0k7QXZFc3NTWjtBdUVuc1NZO0VBSUk7QXZFa3NTaEIsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vbm9kZV9tb2R1bGVzL2JhZ3VldHRlYm94LmpzL3NyYy9iYWd1ZXR0ZUJveC5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLnNjc3Mvbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vbm9kZV9tb2R1bGVzL3JlZmxleC1ncmlkL3Njc3MvaW5jbHVkZXMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vbm9kZV9tb2R1bGVzL3JlZmxleC1ncmlkL3Njc3MvaW5jbHVkZXMvX21peGlucy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9faGVscGVycy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9jb25maWcvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fdmFycy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19mb2N1cy12aXNpYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2ZvbnQtc21vb3RoaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX21peGlucy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL190YWJsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fZGVmYXVsdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19kcnVwYWw4LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX21haW4uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fbmF2LXRvZ2dsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9faW1hZ2UtY3JlZGl0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fc2VhcmNoLWJ1dHRvbi5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fc2Nyb2xsLWN0YS5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fcnNzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fZW1tc2cuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19lbnRpdHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL192aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fcXVvdGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2Rvd25sb2Fkcy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2VtYmVkLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fdGVzdGltb25pYWwtd2l0aC1pbWFnZS5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2xhcmdlLXNpZ25wb3N0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faG9tZXBhZ2UtaW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2hvbWVwYWdlLWhpZ2hsaWdodC5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2VudGl0eS1yZWYtaXRlbS5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3ltYWwuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19oaWdobGlnaHRlZC1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW5mb3JtYXRpb24taGlnaGxpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fbGlua2VkLWxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19zaWducG9zdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ob21lcGFnZS1zaWducG9zdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ob21lcGFnZS1mdWxsLXdpZHRoLXBhcmFsbGF4LWltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faG9tZXBhZ2Utb3VyLXN0b3JpZXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ob21lcGFnZS10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW50cm8taW5mb3JtYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19ldmVudHMteW1hbC5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbGlua2VkLWxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fc29jaWFsLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fY29va2llLWNvbXBsaWFuY2Uuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19yZWFjdHZpZXctbGlzdGluZy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX3N0aWNreS1tYWlsaW5nLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL192aWV3cy5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQxMC8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3RlYXNlci5zY3NzIiwid2VicGFjazovL3N5ZC1kMTAvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX2xpc3Rpbmcuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDEwLy4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9zbGljay5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNYWluIC0gR2xvYmFsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBEZXBlbmRlbmNpZXNcbiAqL1xuQGltcG9ydCAnfmJhZ3VldHRlYm94LmpzL3NyYy9iYWd1ZXR0ZUJveCc7XG5AaW1wb3J0ICd+aW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ35ub3JtYWxpemUuc2Nzcy9ub3JtYWxpemUuc2Nzcyc7XG5AaW1wb3J0ICd+cmVmbGV4LWdyaWQvc2Nzcy9yZWZsZXguc2Nzcyc7XG4vLyBAaW1wb3J0ICd+Y2hvaWNlcy5qcy9wdWJsaWMvYXNzZXRzL3N0eWxlcy9jaG9pY2VzLm1pbi5jc3MnO1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5AaW1wb3J0ICdjb25maWcvZm9udHMnO1xuQGltcG9ydCAnY29uZmlnL3ZhcnMnO1xuXG4vKipcbiAqIEhlbHBlcnNcbiAqL1xuQGltcG9ydCAnaGVscGVycy9mb2N1cy12aXNpYmxlJztcbkBpbXBvcnQgJ2hlbHBlcnMvZm9udC1zbW9vdGhpbmcnO1xuQGltcG9ydCAnaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnaGVscGVycy90YWJsZSc7XG5AaW1wb3J0ICdoZWxwZXJzL2hlbHBlcnMnO1xuXG4vKipcbiAqIEJhc2VcbiAqL1xuQGltcG9ydCAnYmFzZS9kZWZhdWx0cyc7XG5AaW1wb3J0ICdiYXNlL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnYmFzZS9kcnVwYWw4JztcbkBpbXBvcnQgJ2Jhc2UvbWFpbic7XG5AaW1wb3J0ICdiYXNlL2FuaW1hdGlvbnMnO1xuXG4vKipcbiogQXRvbXNcbiovXG5AaW1wb3J0ICdhdG9tcy9ncmlkJztcbkBpbXBvcnQgJ2F0b21zL25hdi10b2dnbGUnO1xuQGltcG9ydCAnYXRvbXMvYnV0dG9ucyc7XG5AaW1wb3J0ICdhdG9tcy9pbWFnZS1jcmVkaXQnO1xuQGltcG9ydCAnYXRvbXMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnYXRvbXMvc2VhcmNoLWJ1dHRvbic7XG5AaW1wb3J0ICdhdG9tcy9zY3JvbGwtY3RhJztcbkBpbXBvcnQgJ2F0b21zL3Jzcyc7XG5cbi8qKlxuICogTW9sZWN1bGVzXG4gKi9cbkBpbXBvcnQgJ21vbGVjdWxlcy9lbW1zZyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvZW50aXR5JztcbkBpbXBvcnQgJ21vbGVjdWxlcy9mb3Jtcyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvbmF2JztcbkBpbXBvcnQgJ21vbGVjdWxlcy9iYW5uZXInO1xuQGltcG9ydCAnbW9sZWN1bGVzL2xpbmtlZC1sb2dvcyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvc29jaWFsLWxpbmtzJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9jb29raWUtY29tcGxpYW5jZSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvcmVhY3R2aWV3LWxpc3RpbmcnO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9zdGlja3ktbWFpbGluZy1saXN0XCI7XG5cbi8qKlxuICogT3JnYW5pc2ltc1xuICovXG5AaW1wb3J0ICdvcmdhbmlzbXMvaGVhZGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9mb290ZXInO1xuQGltcG9ydCAnb3JnYW5pc21zL3ZpZXdzJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zZWFyY2gtcmVzdWx0cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2lkZWJhcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvdGVhc2VyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9saXN0aW5nJztcblxuLyoqXG4gKiBUZW1wbGF0ZXNcbiAqL1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWNrJzsiLCIvKiFcbiAqIGJhZ3VldHRlQm94LmpzXG4gKiBAYXV0aG9yICBmZWltb3NpXG4gKiBAdmVyc2lvbiAlJUlOSkVDVF9WRVJTSU9OJSVcbiAqIEB1cmwgaHR0cHM6Ly9naXRodWIuY29tL2ZlaW1vc2kvYmFndWV0dGVCb3guanNcbiAqL1xuXG4jYmFndWV0dGVCb3gtb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuOCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmZ1bGwtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7ICAgICAgLy8gbmVlZGVkIGZvciBtb2JpbGVcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgICAvLyBPcGVyYSAxMiBpbWFnZSBzdHJldGNoaW5nIGZpeFxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vIElFOCBmaXhcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwuNik7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0Oi0xcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNiYWd1ZXR0ZUJveC1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLCB0cmFuc2Zvcm0gLjRzIGVhc2U7XG5cbiAgICAmLmJvdW5jZS1mcm9tLXJpZ2h0IHtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2VGcm9tUmlnaHQgLjRzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICYuYm91bmNlLWZyb20tbGVmdCB7XG4gICAgICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbUxlZnQgLjRzIGVhc2Utb3V0O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VGcm9tUmlnaHR7XG4gICAgMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgIDUwJSB7IG1hcmdpbi1sZWZ0OiAtMzBweDsgfVxuICAgIDEwMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUZyb21MZWZ0e1xuICAgIDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICA1MCUgeyBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIDEwMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG4lYXJyb3ctYnV0dG9uIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xufVxuXG4uYmFndWV0dGVCb3gtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzMjMyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsNTAsNTAsLjUpO1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIGZvbnQ6IDEuNmVtIHNhbnMtc2VyaWY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsNTAsNTAsLjkpO1xuICAgIH1cblxuICAgICYjbmV4dC1idXR0b24ge1xuICAgICAgICBAZXh0ZW5kICVhcnJvdy1idXR0b247XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICB9XG5cbiAgICAmI3ByZXZpb3VzLWJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgJWFycm93LWJ1dHRvbjtcbiAgICAgICAgbGVmdDogMiU7XG4gICAgfVxuXG4gICAgJiNjbG9zZS1idXR0b24ge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMiUgKyA2cHgpO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC8vIEZpcmVmb3ggZml4XG4gICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4vKlxuICAgIFByZWxvYWRlclxuICAgIEJvcnJvd2VkIGZyb20gaHR0cDovL3RvYmlhc2FobGluLmNvbS9zcGlua2l0L1xuKi9cblxuLmJhZ3VldHRlQm94LXNwaW5uZXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMSxcbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBhbmltYXRpb246IGJvdW5jZSAycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmJhZ3VldHRlQm94LWRvdWJsZS1ib3VuY2UyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xcztcbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9IDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUHJlZml4XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBZb3UgY2FuIG9wdGlvbmFsbHkgbmFtZXNwYWNlIHJlZmxleCBjbGFzc2VzIHRvIGF2b2lkIGNsYXNoaW5nIHdpdGggb3RoZXIgY3NzIGZyYW1ld29ya3Ncbi8vIGUuZy4gc2V0dGluZyAkcmVmbGV4LXByZWZpeCBhcyBcInJlZmxleC1cIiBoZXJlIHdvdWxkIGNhdXNlIGNvbC1zbS02IHRvIGJlY29tZSByZWZsZXgtY29sLXNtLTZcbi8vIEV4YW1wbGU6ICRyZWZsZXgtcHJlZml4OiByZWZsZXgtO1xuLy8gQnkgZGVmYXVsdCB0aGlzIGlzIGFuIGVtcHR5IHN0cmluZ1xuJHJlZmxleC1wcmVmaXg6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gTGVnYWN5IHN1cHBvcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlZmxleCBhZGRzIGEgbG90IG9mIGNzcyBwcm9wZXJ0aWUgdG8gc3VwcG9ydCBvbGRlciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZmxleGJveCBsYXlvdXQuXG4vLyBJZiB5b3UgcHJlZmVyIHRvIHVzZSB0aGlzIGFzIGEgcHVyZWx5IGZsZXhib3ggZ3JpZCB3aXRob3V0IGxlZ2FjeSBzdXBwb3J0IHRoZW4gc2V0IHRoaXMgdG8gZmFsc2VcbiRsZWdhY3ktc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlZmxleCBoYXMgc29tZSBnZW5lcmljIHZpc2liaWxpdHkgY2xhc3NlcyB0byBoaWRlIGVsZW1lbnRzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhlc2UgdGhlbiBzZXQgdGhpcyB0byBmYWxzZVxuJHZpc2liaWxpdHktaGVscGVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gR3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlZmxleC1jb2x1bW5zOiAxMiAhZGVmYXVsdDsgLy8gbnVtYmVyIG9mIGNvbHVtbnNcblxuLy8gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgteHM6IDU3NnB4ICFkZWZhdWx0O1xuJHJlZmxleC1zbTogNzY4cHggIWRlZmF1bHQ7XG4kcmVmbGV4LW1kOiA5OTJweCAhZGVmYXVsdDtcbiRyZWZsZXgtbGc6IDEyMDBweCAhZGVmYXVsdDtcbiRyZWZsZXgteGxnOiAxNjAwcHggIWRlZmF1bHQ7XG5cbiRyZWZsZXgteHhzLW1heDogKCRyZWZsZXgteHMgLSAxKTtcbiRyZWZsZXgteHMtbWF4OiAoJHJlZmxleC1zbSAtIDEpO1xuJHJlZmxleC1zbS1tYXg6ICgkcmVmbGV4LW1kIC0gMSk7XG4kcmVmbGV4LW1kLW1heDogKCRyZWZsZXgtbGcgLSAxKTtcbiRyZWZsZXgtbGctbWF4OiAoJHJlZmxleC14bGcgLSAxKTtcblxuJHJlZmxleC1icmVha3BvaW50czogKFxuICB4eHM6IDBweCxcbiAgeHM6ICRyZWZsZXgteHMsXG4gIHNtOiAkcmVmbGV4LXNtLFxuICBtZDogJHJlZmxleC1tZCxcbiAgbGc6ICRyZWZsZXgtbGcsXG4gIHhsZzogJHJlZmxleC14bGdcbik7XG5cbi8vIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgtZ3JpZC1zcGFjaW5nOiAxNXB4ICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gcHJvcGVydGllcyBzbyBvdGhlcnMgY2FuIHJlZmVyZW5jZSB0aGUgdmFyaWFibGVzLlxuOnJvb3Qge1xuICAtLXJlZmxleC1jb2x1bW5zOiAjeyAkcmVmbGV4LWNvbHVtbnMgfTtcbiAgLS1yZWZsZXgtZ3JpZC1zcGFjaW5nOiAjeyAkcmVmbGV4LWdyaWQtc3BhY2luZyB9O1xuICAtLXJlZmxleC14czogI3sgJHJlZmxleC14cyB9O1xuICAtLXJlZmxleC1zbTogI3sgJHJlZmxleC1zbSB9O1xuICAtLXJlZmxleC1tZDogI3sgJHJlZmxleC1tZCB9O1xuICAtLXJlZmxleC1sZzogI3sgJHJlZmxleC1sZyB9O1xuICAtLXJlZmxleC14bGc6ICN7ICRyZWZsZXgteGxnIH07XG4gIC0tcmVmbGV4LXh4cy1tYXg6ICN7ICRyZWZsZXgteHhzLW1heCB9O1xuICAtLXJlZmxleC14cy1tYXg6ICN7ICRyZWZsZXgteHMtbWF4IH07XG4gIC0tcmVmbGV4LXNtLW1heDogI3sgJHJlZmxleC1zbS1tYXggfTtcbiAgLS1yZWZsZXgtbWQtbWF4OiAjeyAkcmVmbGV4LW1kLW1heCB9O1xuICAtLXJlZmxleC1sZy1tYXg6ICN7ICRyZWZsZXgtbGctbWF4IH07XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbnRhaW5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lcixcbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lci1mdWxsIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJHJlZmxleC1ncmlkLXNwYWNpbmcgKiAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkcmVmbGV4LWdyaWQtc3BhY2luZyAqIDIpO1xuXG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgteHM7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LXNtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC1tZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgtbGc7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC14bGc7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZGlzcGxheS1mbGV4KCk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2V0dXAtd2hpdGVzcGFjZSgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSB3aGVuIGxpc3RzIGFyZSB1c2VkIGFzIGEgZ3JpZFxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb2wgZGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbltjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6ICRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSBncmlkcyBuZXN0ZWQgaW4gY29sdW1uc1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEsIDEsIGF1dG8pO1xuICAgICAgICBtYXJnaW46IC0kcmVmbGV4LWdyaWQtc3BhY2luZztcbiAgICB9XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHpvb206IDE7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWQgZ2VuZXJhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtKTtcblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC14cy0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXNtLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtbWQtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC1sZy0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC14bGctKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb2wtYXV0b1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWF1dG8ge1xuICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC14cy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1zbS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1tZC1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1sZy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wteGxnLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggb3JkZXIgaGVscGVycyBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLW9yZGVyLWhlbHBlcnMoKTtcblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXhzJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICctbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLWxnJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICcteGxnJyk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggb2Zmc2V0IGhlbHBlcnMgZ2VuZXJhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWFrZS1vZmZzZXQtaGVscGVycygpO1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1sZycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICcteGxnJyk7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWQgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBtYWtlLXJlZmxleC1ncmlkKCRjbGFzcykge1xuICAgIEBpbmNsdWRlIGxvb3AtcmVmbGV4LWNvbHVtbnMoJHJlZmxleC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbn1cblxuQG1peGluIGNhbGMtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gICAgQGlmICR0eXBlID09IHdpZHRoIGFuZCAkaW5kZXggPiAwIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9I3skY2xhc3N9I3skaW5kZXh9IHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KCRpbmRleCwgJHJlZmxleC1jb2x1bW5zKSk7XG4gICAgICAgICAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAgICAgICAgICp3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigkaW5kZXgsICRyZWZsZXgtY29sdW1ucykpIC0gLjE7IC8vIGllNyBjc3MgaGFja1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbG9vcC1yZWZsZXgtY29sdW1ucygkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgICBAaWYgJGluZGV4ID49IDAge1xuICAgICAgICBAaW5jbHVkZSBjYWxjLXJlZmxleC1jb2x1bW5zKCRpbmRleCwgJGNsYXNzLCAkdHlwZSk7XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3AtcmVmbGV4LWNvbHVtbnMoKCRpbmRleCAtIDEpLCAkY2xhc3MsICR0eXBlKTtcbiAgICB9XG59XG5cbi8vIGRlZmF1bHRzIGZvciBhdXRvIGNvbHNcbkBtaXhpbiBzZXR1cC1hdXRvLWNvbHMoKSB7XG4gICAgQGluY2x1ZGUgZmxleCgxLCAwLCAwcHgpOyAvLyBhIHVuaXQgb24gbGFzdCB2YWx1ZSBpcyByZXF1aXJlZCBieSBJRTEwLTExXG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBpbmxpbmUtYmxvY2sgc3BlY2lmaWMgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gc2V0dXAtd2hpdGVzcGFjZSgpIHtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4zMWVtO1xuICAgICAgICAqbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC1zcGFjaW5nOiAtLjQzZW07XG4gICAgfVxufVxuXG5AbWl4aW4gcmVzZXQtd2hpdGVzcGFjZSgpIHtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG59XG5cbkBtaXhpbiByZXNldC10ZXh0LWFsaWduKCkge1xuICAgIC8vXG4gICAgLy8gV2Ugd2FudCB0byByZXNldCBhbnkgdGV4dC1hbGlnbiBwcm9wZXJ0aWVzIHNldCBieSB0aGUgZ3JpZFxuICAgIC8vIChyZXF1aXJlZCBmb3IgdGhlIGlubGluZS1ibG9jayBmYWxsYmFjaylcbiAgICAvLyBidXQgd2UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSBhbnkgdGV4dC1hbGlnbiBwcm9wZXJ0aWVzXG4gICAgLy8gc2V0IG9uIHRoZSBpbmRpdmlkdWFsIGNvbC14IGVsZW1lbnRcbiAgICAvLyBvciBvbiBhbnkgb2YgaXQncyBjaGlsZCBlbGVtZW50c1xuICAgIC8vXG4gICAgLy8gMSkgc2V0IHRvIGxlZnQgYnkgZGVmYXVsdCAod29ya3MgZXZlcnl3aGVyZSlcbiAgICAvLyAyKSBzZXQgdG8gc3RhcnQgKHJlc3BlY3RzIHJpZ2h0IHRvIGxlZnQgdGV4dClcbiAgICAvL1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IHN0YXJ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IHN0YXJ0O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb3JkZXIgY2xhc3MgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBvcmRlcigkb3JkZXI6IDApIHtcbiAgICAtbXMtZmxleC1vcmRlcjogJG9yZGVyO1xuICAgIC13ZWJraXQtb3JkZXI6ICRvcmRlcjtcbiAgICBvcmRlcjogJG9yZGVyO1xufVxuXG5AbWl4aW4gbWFrZS1vcmRlci1oZWxwZXJzKCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbG9vcC1vcmRlci1oZWxwZXJzKCRpbmRleCwgJGJyZWFrcG9pbnQ6IG51bGwpIHtcbiAgICBAaWYgJGluZGV4ID49IDAge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1vcmRlciN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcmRlcigkaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygoJGluZGV4IC0gMSksICRicmVha3BvaW50KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBvZmZzZXQgY2xhc3MgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gb2Zmc2V0KCRpbmRleDogMCkge1xuICAgICRvZmZzZXQ6IG1hdGguZGl2KCRpbmRleCwgJHJlZmxleC1jb2x1bW5zKTtcbiAgICAvLyBjb252ZXJ0IHRvIHBlcmNlbnRhZ2Ugb25seSBpZiBub3QgemVyb1xuICAgIEBpZiAkb2Zmc2V0ICE9IDAge1xuICAgICAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRvZmZzZXQpO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogJG9mZnNldDtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAqbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoJGluZGV4LCAkcmVmbGV4LWNvbHVtbnMpKSAtIC4xOyAvLyBpZTcgY3NzIGhhY2tcbiAgICB9XG59XG5cbkBtaXhpbiBtYWtlLW9mZnNldC1oZWxwZXJzKCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSk7XG59XG5cbkBtaXhpbiBsb29wLW9mZnNldC1oZWxwZXJzKCRpbmRleCwgJGJyZWFrcG9pbnQ6IG51bGwpIHtcbiAgICBAaWYgJGluZGV4ID4gMCBhbmQgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9mZnNldCN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvZmZzZXQoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH0gQGVsc2UgaWYgJGluZGV4ID49IDAgYW5kICRicmVha3BvaW50ICE9IG51bGwge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1vZmZzZXQjeyRicmVha3BvaW50fS0jeyRpbmRleH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgb2Zmc2V0KCRpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygoJGluZGV4IC0gMSksICRicmVha3BvaW50KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggbW9kaWZpZXIgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gZGlzcGxheVxuLy8gLS0tXG5cbkBtaXhpbiBkaXNwbGF5LWZsZXgoKSB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vXG4vLyBmbGV4XG4vLyAtLS1cblxuQG1peGluIGZsZXgoJGdyb3c6IDAsICRzaHJpbms6IDEsICRiYXNpczogYXV0bykge1xuICAgIEBpZiAkYmFzaXMgPT0gMCB7XG4gICAgICAgIC1tcy1mbGV4OiAkZ3JvdyAkc2hyaW5rIGF1dG87IC8vaWUxMCBuZWVkcyBhdXRvXG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4OiAkZ3JvdyAkc2hyaW5rICRiYXNpcztcbiAgICB9XG5cbiAgICAtd2Via2l0LWZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xuICAgIGZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xufVxuXG5AbWl4aW4gZmxleC1ncm93KCRncm93OjEpIHtcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogJGdyb3c7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6ICRncm93O1xuICAgIGZsZXgtZ3JvdzogJGdyb3c7XG59XG5cbkBtaXhpbiBmbGV4LXNocmluaygkc2hyaW5rOjEpIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogJHNocmluaztcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xuICAgIGZsZXgtc2hyaW5rOiAkc2hyaW5rO1xufVxuXG5AbWl4aW4gZmxleC1iYXNpcygkYmFzaXM6YXV0bykge1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkYmFzaXM7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkYmFzaXM7XG4gICAgZmxleC1iYXNpczogJGJhc2lzO1xufVxuXG5AbWl4aW4gZmxleC1mbG93KCRkaXJlY3Rpb246IHJvdywgJHdyYXA6IG5vd3JhcCkge1xuICAgIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbiAgICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXA6IHdyYXApIHtcbiAgICAtbXMtZmxleC13cmFwOiAkd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XG4gICAgZmxleC13cmFwOiAkd3JhcDtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuXG4vL1xuLy8gYWxpZ25cbi8vIC0tLVxuXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24taXRlbXMoJGFsaWduKTtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gICAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbn1cblxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24tc2VsZigkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xuICAgIGFsaWduLXNlbGY6ICRhbGlnbjtcbn1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24tY29udGVudCgkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogJGFsaWduO1xuICAgIGFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbn1cblxuLy9cbi8vIGllMTAgc3ludGF4IGZvciBhbGlnblxuLy8gLS0tXG5cbkBtaXhpbiBtcy1hbGlnbi1pdGVtcygkYWxpZ24pIHtcbiAgICBAaWYgJGFsaWduID09ICdmbGV4LXN0YXJ0JyB7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnZmxleC1lbmQnIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjtcbiAgICB9XG59XG5cbkBtaXhpbiBtcy1hbGlnbi1zZWxmKCRhbGlnbikge1xuICAgIEBpZiAkYWxpZ24gPT0gJ2ZsZXgtc3RhcnQnIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ2ZsZXgtZW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJGFsaWduO1xuICAgIH1cbn1cblxuQG1peGluIG1zLWFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gICAgQGlmICRhbGlnbiA9PSAnZmxleC1zdGFydCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdmbGV4LWVuZCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnc3BhY2UtYmV0d2Vlbicge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ3NwYWNlLWFyb3VuZCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogJGFsaWduO1xuICAgIH1cbn1cblxuLy9cbi8vIGp1c3RpZnktY29udGVudFxuLy9cbi8vIFVzZXMgXCJ0ZXh0LWFsaWduXCIgZm9yIHRoZSBmYWxsYmFjayBpbmxpbmUtYmxvY2sgZ3JpZFxuLy8gXCJ0ZXh0LWFsaWduXCIgaXMgZ2xvYmFsbHkgc3VwcG9ydGVkIGFuZCB3b3JrcyBvbiBhbGwgcm93cyBleGNlcHQgdGhlIGxhc3Rcbi8vIFwidGV4dC1hbGlnbi1sYXN0XCIsIHdoZXJlIHN1cHBvcnRlZCwgaGFuZGxlcyB0aGUgbGFzdCBsaW5lIChhbmQsIGhhcHBpbHksIGdyaWRzIHdpdGggb25seSBvbmUgcm93KVxuLy8gLS0tXG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LWVuZCgpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4oKSB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYXJvdW5kKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc3BvbnNpYmxlIFZpc2liaWxpdHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHktaGVscGVycygpIHtcbiAgICBAaWYgJHZpc2liaWxpdHktaGVscGVycyA9PSB0cnVlIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgeHhzIGFuZCB4bGcgYnJlYWtwb2ludHMgZGlmZmVyZW50bHlcbiAgICAgICAgJG1hcC1yZWZsZXgtYnJlYWtwb2ludHM6IG1hcC1yZW1vdmUoJHJlZmxleC1icmVha3BvaW50cywgeHhzLCB4bGcpO1xuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi14eHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCd4eHMnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRicCBpbiBtYXAta2V5cygkbWFwLXJlZmxleC1icmVha3BvaW50cykge1xuICAgICAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLSN7JGJwfS11cCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuXG4gICAgICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi0jeyRicH0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkYnApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4teGxnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSgneGxnJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy8gKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkcmVmbGV4LWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vID4+IGJyZWFrcG9pbnQtbmV4dChzbSkgLT4gbWRcbi8vID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnRzOiAoeHM6IDU3NnB4LCBzbTogNzY4cHgsIG1kOiA5OTJweCkpIC0+IG1kXG4vLyA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQpKSAtPiBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAgICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vLyA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpKSAtPiA3NjhweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG1pbiAhPTAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vLyA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpKSAtPiA5OTFweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAgIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMSwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJG1pbiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cykge1xuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRtYXgge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb3RoZXIgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG4iLCJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBncmlkIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGZsZXgtd3JhcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9d3JhcCB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1uby13cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcblxuICAgIC8vIFRoaXMgaXMgbW9zdGx5IG5lZWRlZCB0byBzdG9wIHRoZSBncmlkIGNvbnRlbnRzIG92ZXJmbG93aW5nIGluIHRoZVxuICAgIC8vIGllMTAgaW1wbGVtZW50YXRpb24gb2YgZmxleGJveCBidXQgaXQgY2FuJ3QgaHVydCBpbiBvdGhlciBicm93c2Vyc1xuICAgIC8vIGFzIGl0IGlzIHRoZSBkZXNpcmVkIGJlaGF2aW91ciBvZiBub24gd3JhcHBpbmcgZmxleCBpdGVtc1xuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXNocmluaygxKTtcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fXdyYXAtcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXAtcmV2ZXJzZSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBmbGV4LWRpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdy1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3ctcmV2ZXJzZSk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uLXJldmVyc2UpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24gaXRlbXMgKGNyb3NzIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tYmFzZWxpbmUge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGJhc2VsaW5lKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduIGNvbnRlbnQgKGNyb3NzIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChmbGV4LWVuZCk7XG5cbiAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGNlbnRlcik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1zcGFjZS1hcm91bmQge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoc3BhY2UtYXJvdW5kKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduLXNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtc3RyZXRjaCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihzdHJldGNoKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihmbGV4LXN0YXJ0KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1lbmQge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoZmxleC1lbmQpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihiYXNlbGluZSk7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8ganVzdGlmeS1jb250ZW50IChtYWluIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LWVuZCB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LWVuZCgpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiByaWdodDtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LWNlbnRlciB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LWNlbnRlcigpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zcGFjZS1iZXR3ZWVuKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3BhY2UtYXJvdW5kIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYXJvdW5kKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb3NtZXRpYyBncmlkIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUmVtb3ZlcyBpbnRlcm5hbCBwYWRkaW5nIGZyb20gYWxsIGNvbHVtbnMgaW4gYSBncmlkXG4uI3skcmVmbGV4LXByZWZpeH1ncmlkLWJsZWVkIHtcbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb2wgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlcyBhIGNvbHVtbiBlbGVtZW50IGludG8gYSBmbGV4Ym94IGNvbHVtblxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWdyaWQge1xuICAgIEBpbmNsdWRlIGRpc3BsYXktZmxleCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAmLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgfVxufVxuXG4vLyBSZW1vdmVzIGludGVybmFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gUmVtb3ZlcyBob3Jpem9udGFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZC14IHtcbiAgICBwYWRkaW5nOiAkcmVmbGV4LWdyaWQtc3BhY2luZyAwO1xufVxuXG4vLyBSZW1vdmVzIHZlcnRpY2FsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZC15IHtcbiAgICBwYWRkaW5nOiAwICRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY29sLWdyaWQgY29udGVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWZsZXgtaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBmbGV4KDAsIDAsIGF1dG8pO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgKndpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZmxleC1mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eS1oZWxwZXJzKCk7XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gRm9udHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qKlxuICogZXhhbXBsZVxuICBjbGFuLXVsdHJhID0gYW55d2hlcmUgdGhlIHdlaWdodGluZyA5NTAgaXMgdXNlZFxuICBjbGFuLWJvb2sgPSBhbnl3aGVyZSB0aGUgd2VpZ2h0aW5nIDQ3NSBpcyB1c2VkXG4gIGNsYW4tbWVkaXVtID0gYW55d2hlcmUgdGhlIHdlaWdodGluZyA3MDAgaXMgdXNlZFxuKi9cblxuXG4vKiAtLS0gRm9udHMgLS0tICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnY2xhbi1ib2xkJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJy4uL2ZvbnQvY2xhbm90LWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250L2NsYW5vdC1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA5NTA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2NsYW4tYm9vayc7XG4gICAgc3JjOiBcbiAgICAgICAgdXJsKCcuLi9mb250L2NsYW5vdC1ib29rLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udC9jbGFub3QtYm9vay13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDc1O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdjbGFuLW1lZGl1bSc7XG4gICAgc3JjOiBcbiAgICAgICAgdXJsKCcuLi9mb250L2NsYW5vdC1tZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250L2NsYW5vdC1tZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnY2xhbi1uZXdzJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJy4uL2ZvbnQvY2xhbm90LW5ld3Mtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250L2NsYW5vdC1uZXdzLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2NsYW4tdWx0cmEnO1xuICAgIHNyYzogXG4gICAgICAgIHVybCgnLi4vZm9udC9jbGFub3QtdWx0cmEtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250L2NsYW5vdC11bHRyYS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gVmFyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbjpyb290IHtcbiAgLS1jLXByaW1hcnk6ICM2ODBCRDg7XG4gIC0tYy1zZWNvbmRhcnk6ICNFNjAwN0U7XG4gIC0tYy13aGl0ZTogI2ZmZmZmZjtcbiAgLS1jLWJsYWNrOiAjMDAwMDAwO1xuICAtLWMtcGluazogI0U2MDA3RTtcbiAgLS1jLXB1cnBsZTogIzY4MEJEODtcbiAgLS1jLWxpZ2h0LWJsdWU6ICM1Q0VBRkU7XG4gIC0tYy1kYXJrLWJsdWU6ICMwMDI5NUI7XG4gIC0tYy1kYXJrZXItYmx1ZTogIzA2MTkyMjtcbiAgLS1jLWdyZXk6ICM3NDc3Nzk7XG4gIC0tYy1saWdodC1ncmV5OiAjRDlEOUQ2O1xuICAtLWMtdHJhbnNwYXJlbnQtbGlnaHQtZ3JleTogcmdiYSgyMTcsIDIxNywgMjE0LCAwLjI1KTtcblxuICAvKipcbiAgKiBleGFtcGxlXG4gICAgY2xhbi11bHRyYSA9IGFueXdoZXJlIHRoZSB3ZWlnaHRpbmcgOTUwIGlzIHVzZWRcbiAgICBjbGFuLWJvb2sgPSBhbnl3aGVyZSB0aGUgd2VpZ2h0aW5nIDQ3NSBpcyB1c2VkXG4gICAgY2xhbi1tZWRpdW0gPSBhbnl3aGVyZSB0aGUgd2VpZ2h0aW5nIDcwMCBpcyB1c2VkXG4gICovXG5cbiAgLS1mb250Qm9keTogJ2NsYW4tYm9vaycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4sXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRCb2xkOiAnY2xhbi1ib2xkJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIE94eWdlbixcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udE5ld3M6ICdjbGFuLW5ld3MnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250Qm9vazogJ2NsYW4tYm9vaycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4sXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRNZWRpdW06ICdjbGFuLW1lZGl1bScsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4sXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRVbHRyYTogJ2NsYW4tdWx0cmEnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcblxuICAtLWZvbnRTaXplU21hbGxlc3Q6IDExcHg7XG4gIC0tZm9udFNpemVTbTogMTRweDtcbiAgLS1mb250U2l6ZTogMTZweDtcbiAgLS1mb250U2l6ZUxnOiAyMnB4O1xuICAtLUxpbmVIZWlnaHRTbTogMTZweDtcbiAgLS1saW5lSGVpZ2h0OiAyNHB4O1xuICAtLWxpbmVIZWlnaHRMZzogMjhweDtcblxuICAvLyBMYXlvdXRcbiAgLS1jb250YWluZXJXaWR0aDogMTI1MHB4O1xuXG4gIC0tYnVtcDogMzBweDtcbiAgLS1idW1wU21hbGw6IDI2cHg7XG4gIC0tYnVtcFVuaXQ6IDhweDtcblxuICAvLyBBbmltYXRpb25zXG4gIC0tZWFzaW5nOiBjdWJpYy1iZXppZXIoMC44MywgMCwgMC4xNywgMSk7XG4gIC0tdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xufVxuXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbiRicmVha3BvaW50czogKFxuICB4czogNTc2cHgsXG4gIHNtOiA3NjhweCxcbiAgbWQ6IDk5MnB4LFxuICBsZzogMTIwMHB4LFxuICB4bGc6IDE2MDBweCxcbik7XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEZvY3VzIFZpc2libGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIEZvY3VzIFZpc2libGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ZvY3VzLXZpc2libGVcbiAqIE92ZXJyaWRlIGJhc2UgZm9jdXMgc3R5bGVzIGZvciBtb3VzZSBhbmQgdG91Y2ggaW50ZXJhY3Rpb25zXG4gKi9cbkBtaXhpbiBmb2N1cy12aXNpYmxlKCkge1xuICAuanMtZm9jdXMtdmlzaWJsZSAmIHtcbiAgICAmOm5vdCguZm9jdXMtdmlzaWJsZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEZvbnQgU21vb3RoaW5nXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqIFxuICogRm9udCBTbW9vdGhpbmdcbiAqIEVuYWJsZXMgZm9udCBzbW9vdGhpbmcgZm9yIGNhcGFibGUgYnJvd3NlcnMuXG4gKiBPcHRpb25hbGx5IGZvcmNlIGZvbnQtc21vb3RoaW5nIG9uIG5vbi1yZXRpbmEgZGV2aWNlcy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGZvcmNlIFtmYWxzZV1cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuQG1peGluIGZvbnQtc21vb3RoaW5nKCRmb3JjZTogZmFsc2UpIHtcbiAgQGlmICRmb3JjZSA9PSB0cnVlIHtcbiAgICAtbW96LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgICAgLW1vei1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBHbG9iYWwgbWl4aW5zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gUmVzZXQgPGxpPiBlbGVtZW50c1xuQG1peGluIGxpLXJlc2V0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vIFJlbW92ZSB0ZXh0IGZyb20gZWxlbWVudHNcbkBtaXhpbiBybS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8vIEJhY2tncm91bmQgaW1hZ2VzXG5AbWl4aW4gYmctaW1nKCRzaXplKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG59XG5cbi8vIElFIDkrIG9ubHlcbkBtaXhpbiBpZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi1yZXNvbHV0aW9uOiArNzJkcGkpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuUmVzZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWl4aW4gc3dpcGVyIHtcbiAgLnN3aXBlcixcbiAgLm1vYmlsZVN3aXBlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAtMjBweCAwO1xuICAgIH1cblxuICAgICYtd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLWJ1dHRvbiB7XG4gICAgICAmLXByZXYsXG4gICAgICAmLW5leHQge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGJnLWltZyhjb3Zlcik7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tYXJyb3ctYmxhY2stcmlnaHQuc3ZnJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLlBpbmssXG4gICAgICAgICYuUHVycGxlLFxuICAgICAgICAmLkJsYWNrLFxuICAgICAgICAmLkRhcmtCbHVlIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tYXJyb3ctd2hpdGUtcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1hcnJvdy1ibGFjay1sZWZ0LnN2ZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5QaW5rLFxuICAgICAgICAmLlB1cnBsZSxcbiAgICAgICAgJi5CbGFjayxcbiAgICAgICAgJi5EYXJrQmx1ZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1hcnJvdy13aGl0ZS1sZWZ0LnN2ZycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi1zbGlkZSB7XG4gICAgICBhIHtcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdXRsaW5lOiA1cHggZG90dGVkIHZhcigtLWMtYmxhY2spO1xuICAgICAgICB9ICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gVGFibGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFJlc3BvbnNpdmUgVGFibGVcbiAqIENyZWF0ZXMgYSByZXNwb25zaXZlIHRhYmxlXG4gKiBBY2NlcHRzIGEgbGlzdCBvZiBoZWFkZXJzIHRvIHJlcGxhY2UgbWFpbiBcbiAqIHRhYmxlIGhlYWRlcnMgb24gbW9iaWxlLlxuICogQHBhcmFtIHttYXB9ICRoZWFkZXJzXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbkBtaXhpbiByZXNwb25zaXZlLXRhYmxlKCRoZWFkZXJzOiAoKSkge1xuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRhYmxlLFxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRoLFxuICB0ZCxcbiAgdHIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIHRyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTk5OTlweDtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIHBhZGRpbmc6IHNpemUoMzBweCkgMDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTZweCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGVhZGVyc1xuICAgKi9cbiAgQGVhY2ggJGhlYWRlciBpbiAkaGVhZGVycyB7XG4gICAgJGk6IGluZGV4KCRoZWFkZXJzLCAkaGVhZGVyKTtcblxuICAgIHRkOm50aC1vZi10eXBlKCN7JGl9KTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBjb250ZW50OiAkaGVhZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaGVscGVyc1xuXG4uZm9udC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250bGFyZ2UpO1xuICB9XG4gIFxuICAuZm9udC1sYXJnZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udGxhcmdlcik7XG4gIH1cbiAgXG4gIC5saW5lLWhlaWdodCB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICB9XG4gIFxuICAuc21hbGwtbGluZS1oZWlnaHQge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zbWFsbExpbmVIZWlnaHQpO1xuICB9XG4gIFxuICAucGFkZGluZy1jbGVhciB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAucGFkZGluZy15LWNsZWFyIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5wYWRkaW5nLXgtY2xlYXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLm1hcmdpbi1jbGVhciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5jb2wtYmxlZWQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmNvbC1ibGVlZC14IHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gIH1cbiAgLmNvbC1ibGVlZC15IHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gIH1cbiAgXG4gIC5wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDIpIDAgMDtcbiAgfVxuICBcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gIH1cbiAgXG4gIC5wYWQtc2lkZXMge1xuICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG4gIFxuICAubWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1idW1wKSAwIDA7XG4gIH1cbiAgXG4gIC5tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gIH1cbiAgXG4gIC5wb3MtcmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgXG4gIC53aWR0aC0xMDAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAuZGlzcGxheS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIFxuICAudmVydGljYWwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIFxuICAudmVydGljYWwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIFxuICAuc2VsZi1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgXG4gIC5zZWxmLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG4gIFxuICAuYWxpZ24taXRlbXMtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIFxuICAuZmxleC1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIFxuICAuZmxleC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgXG4gIC5mbGV4LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgXG4gIC5zcGFjZS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgXG4gIC5mbGV4LWdhcCB7XG4gICAgZ2FwOiB2YXIoLS1idW1wKTtcbiAgfVxuICBcbiAgLmZsZXgtZ2FwLXNtYWxsIHtcbiAgICBnYXA6IHZhcigtLXNtYWxsQnVtcCk7XG4gIH1cbiAgXG4gIC5mbGV4LXJvdy13cmFwIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG4gIFxuICAudGV4dC1hbGlnbi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgfVxuICBcbiAgLm5vLXVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgLmJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLm1vYmlsZS1oaWRlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gIC5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIFxuICAudGFiLWhpZGUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgLnBvaW50ZXItZXZlbnRzLW5vbmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIFxuICAudHJhbnNwYXJlbnQtYmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIFxuICBzZWN0aW9uLnByZS1mb290ZXItcHVsbCxcbiAgZGl2LnByZS1mb290ZXItcHVsbCB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMSkgY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC5ibGFjay10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gIH1cbiAgXG4gIC8vIHNjcmVlbiByZWFkZXJzXG4gIC5zY3JlZW4tcmVhZGVycyB7XG4gICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgXG4gIC5sYW5ndWFnZS1zd2l0Y2hlci1sYW5ndWFnZS11cmwsXG4gIC5kaXNwbGF5LW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5ncmlkIHtcbiAgICAmLm1heC13aWR0aC0xMDAge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gRGVmYXVsdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuYSB7XG4gICZbZGF0YS1leHRsaW5rXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWFycm93LWRpYWdvbmFsLWJsYWNrLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyB2YXIoLS1lYXNpbmcpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tYXJyb3ctZGlhZ29uYWwuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hLWJ0bi0td2hpdGUsXG4gICAgLlBpbmsgJixcbiAgICAuUHVycGxlICYsXG4gICAgLkJsYWNrICYsXG4gICAgLkRhcmtCbHVlICYge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tYXJyb3ctZGlhZ29uYWwuc3ZnJyk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWFycm93LWRpYWdvbmFsLWJsYWNrLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ncmlkIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXJXaWR0aCk7XG59XG5cbi5jb250YWluZXItZnVsbD4uZ3JpZCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxudWwubWVudSxcbnVsLnBsYWluIHtcbiAgQGluY2x1ZGUgbGktcmVzZXQ7XG59XG5cbmltZyB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgJi5sYXp5IHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4tcmVzb2x1dGlvbjogMC4wMDFkcGNtKSB7XG4gICAgICBAc3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zdmcge1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vLyBLZWVwIHZpZGVvIHJhdGlvIGZvciBmbHVpZCB3aWR0aHNcbi52aWRlby1jb250YWluZXIsXG4ubWVkaWEtdmltZW8tdmlkZW8sXG4ubWVkaWEtLXR5cGUtcmVtb3RlLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4jYmFndWV0dGVCb3gtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAhaW1wb3J0YW50O1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5mdWxsLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luOiAwOyAvLyBuZWVkZWQgZm9yIG1vYmlsZVxuICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBPcGVyYSAxMiBpbWFnZSBzdHJldGNoaW5nIGZpeFxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAvLyBJRTggZml4XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4jYmFndWV0dGVCb3gtc2xpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGxlZnQgMC40cyBlYXNlLCB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuXG4gICYuYm91bmNlLWZyb20tcmlnaHQge1xuICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbVJpZ2h0IDAuNHMgZWFzZS1vdXQ7XG4gIH1cblxuICAmLmJvdW5jZS1mcm9tLWxlZnQge1xuICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbUxlZnQgMC40cyBlYXNlLW91dDtcbiAgfVxufVxuXG4uYmFndWV0dGVCb3gtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxNSU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsIDUwLCA1MCwgMC41KTtcbiAgY29sb3I6ICNkZGQ7XG4gIGZvbnQ6IDEuNmVtIHNhbnMtc2VyaWY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cyBlYXNlO1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsIDUwLCA1MCwgMC45KTtcbiAgfVxuXG4gICYjcHJldmlvdXMtYnV0dG9uLFxuICAmI25leHQtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAmPnN2ZyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tYXJyb3ctd2hpdGUtdGhpbi5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYjbmV4dC1idXR0b24ge1xuICAgIEBleHRlbmQgJWFycm93LWJ1dHRvbjtcbiAgICByaWdodDogMiU7XG4gIH1cblxuICAmI3ByZXZpb3VzLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlYXJyb3ctYnV0dG9uO1xuICAgIGxlZnQ6IDIlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYjY2xvc2UtYnV0dG9uIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIlO1xuICAgIHJpZ2h0OiBjYWxjKDIlICsgNnB4KTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCwgNTAsIDUwLCAxKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiA1cHggZG90dGVkIHZhcigtLWMtYmxhY2spO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpcmVmb3ggZml4XG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi8qXG4gIFByZWxvYWRlclxuICBCb3Jyb3dlZCBmcm9tIGh0dHA6Ly90b2JpYXNhaGxpbi5jb20vc3BpbmtpdC9cbiovXG5cbi5iYWd1ZXR0ZUJveC1zcGlubmVyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMSxcbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC42O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLy8gdGFyZ2V0IGFuZCBtdXRhdGUgbGFzdCBzZWN0aW9uIHdpdGhpbiBlYWNoIHBhZ2UgYXJ0aWNsZVxuXG5hcnRpY2xlIHtcbiAgJi5vLW5vZGUge1xuICAgICYuby1mdWxsIHtcbiAgICAgICY+c2VjdGlvbiB7XG4gICAgICAgICYubS1lbnRpdHkge1xuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICYgPiAuaGFzQmdDb2xvdXIge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gaGlkZSBkaXZpZGVyIG9mIGZpcnN0IHNlY3Rpb24gb24gdGhlIHBhZ2VcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgLm0tZW50aXR5X19hbmltYXRlZC1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gaGlkZSBkaXZpZGVycyBmb3IgYWxsIGVja3MgYWZ0ZXIgYSBjb2xvdXJlZCBlY2tcbiAgICAgICAgICAmLmhhc0JnQ29sb3VyLFxuICAgICAgICAgICYubS1lbnRpdHlfX3F1b3RlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAubS1lbnRpdHlfX2FuaW1hdGVkLWRpdmlkZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmICsgc2VjdGlvbiB7XG4gICAgICAgICAgICAgICYubS1lbnRpdHkge1xuICAgICAgICAgICAgICAgIC5tLWVudGl0eV9fYW5pbWF0ZWQtZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gVHlwb2dyYXBoeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuICAvKipcbiAgKiBleGFtcGxlXG4gICAgY2xhbi11bHRyYSA9IGFueXdoZXJlIHRoZSB3ZWlnaHRpbmcgOTUwIGlzIHVzZWRcbiAgICBjbGFuLWJvb2sgPSBhbnl3aGVyZSB0aGUgd2VpZ2h0aW5nIDQ3NSBpcyB1c2VkXG4gICAgY2xhbi1tZWRpdW0gPSBhbnl3aGVyZSB0aGUgd2VpZ2h0aW5nIDcwMCBpcyB1c2VkXG4gICovXG5cbi8qKlxuICogSGVhZGluZ1xuICovXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNDRweDtcbn1cblxuaDEsXG4uaDEgeyAgXG4gIGZvbnQtc2l6ZTogY2xhbXAoMzZweCwgNnZ3LCA5MnB4KTtcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDM2cHgsIDZ2dywgOTJweCk7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmgyLFxuLmgyIHtcbiAgZm9udC1zaXplOiBjbGFtcCgzNnB4LCA0LjV2dywgNjBweCk7XG4gIGxpbmUtaGVpZ2h0OiBjbGFtcCgzNnB4LCA0LjV2dywgNzBweCk7XG59XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCA0LjV2dywgMjJweCk7XG4gIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNnB4LCA0LjV2dywgMjhweCk7XG59XG5cbmg0LFxuLmg0LFxuaDUsXG4uaDUsXG5oNixcbi5oNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcmFncmFwaHNcbiAqL1xucCB7XG4gIG1hcmdpbjogMS41ZW0gMDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAvLyAmOmxhc3Qtb2YtdHlwZSB7XG4gIC8vICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgLy8gfVxufVxuXG4vKipcbiAqIExpc3RzXG4gKi9cbnVsLFxub2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG59XG5cbi8qKlxuICogTGlua3NcbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAzcHggZGFzaGVkIGN1cnJlbnRDb2xvcjtcblxuICAgIEBpbmNsdWRlIGZvY3VzLXZpc2libGUoKSB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gICYubm8tbGluayB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLm5vLWNsaWNrIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xufVxuXG4vKipcbiAqIEJ1dHRvbnNcbiAqL1xuYnV0dG9uIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogM3B4IGRhc2hlZCBjdXJyZW50Q29sb3I7XG5cbiAgICBAaW5jbHVkZSBmb2N1cy12aXNpYmxlKCkge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBJbmxpbmVcbiAqL1xuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbn1cblxuZW0ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEl0YWxpYyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbmFkZHJlc3Mge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZVNtYWxsZXN0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLUxpbmVIZWlnaHRTbSk7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gRHJ1cGFsIDggc3BlY2lmaWNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vLyBQYWdpbmF0aW9uXG4ucGFnZXIge1xuICBAaW5jbHVkZSBsaS1yZXNldDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IHZhcigtLWJ1bXApO1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIH1cblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb29rKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDVweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24tbGVmdC1ibGFjay5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpIHNlcGlhKDAlKSBzYXR1cmF0ZSg3NTAwJSkgaHVlLXJvdGF0ZSgxNTVkZWcpIGJyaWdodG5lc3MoOTklKSBjb250cmFzdCgxMDQlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24tcmlnaHQtYmxhY2suc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCgxMDAlKSBzZXBpYSgwJSkgc2F0dXJhdGUoNzUwMCUpIGh1ZS1yb3RhdGUoMTU1ZGVnKSBicmlnaHRuZXNzKDk5JSkgY29udHJhc3QoMTA0JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7IFxuICAgICAgJiA+IGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb29rKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFkbW5pbiBzdHlsZXNcbi5hZG1pbi1mdW5jdGlvbnMge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDMxO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLnVzZXItbG9nZ2VkLWluICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cblxuICAudXNlci1sb2dnZWQtaW4gJiB7XG4gICAgdG9wOiAzOXB4O1xuICB9XG5cbiAgLnRvb2xiYXItdHJheS1vcGVuICYge1xuICAgIHRvcDogNzlweDtcbiAgfVxuXG4gIFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnVtcCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cbmEuc2tpcC1tYWluIHtcbiAgbGVmdDogLTk5OXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IC05OTk7XG59XG5hLnNraXAtbWFpbjpmb2N1cyxcbmEuc2tpcC1tYWluOmFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDMwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luOiAxMHB4IDM1JTtcbiAgcGFkZGluZzogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIHotaW5kZXg6IDk5OTtcbn1cblxuLmFqYXgtcHJvZ3Jlc3MtdGhyb2JiZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBNYWluXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBTdHlsZXNcbiAqL1xuaHRtbCxcbmJvZHkge1xuICBAaW5jbHVkZSBmb250LXNtb290aGluZyh0cnVlKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lSGVpZ2h0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIFxuICAmW2RhdGEtc2VhcmNoPSdvcGVuJ10ge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLy8gdHJhbnNpdGlvbjogYWxsIDAuNnMgdmFyKC0tZWFzaW5nKTtcbn1cblxuYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgJi5ncmV5c2NhbGUge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICB9XG59XG5cblxubWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIEFuaW1hdGlvbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVpZ2h0VHJhbnNpdGlvbkluIHtcbiAgMCUge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwMHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVpZ2h0VHJhbnNpdGlvbk91dCB7XG4gIDAlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwMHB4O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblxuICAxMCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMXB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgMCwgMCk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycHgsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTtcbiAgfVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEdyaWRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLmEtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICYtLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG5cbiAgJi0tMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG5cbiAgJi0tNCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIE5hdiBUb2dnbGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG4kYnVtcDogMjBweDtcbiRoZWlnaHQtaWNvbjogJGJ1bXA7XG4kd2lkdGgtbGluZTogMzJweDtcblxuJGhlaWdodC1saW5lOiAycHg7XG4kcm90YXRpb246IDQ1ZGVnO1xuJHRyYW5zbGF0ZVk6IGNhbGMoJGhlaWdodC1pY29uIC8gMik7XG4kdHJhbnNsYXRlWDogMDtcblxuLyoqXG4gICogU3R5bGVzXG4gICovXG4uYS1uYXYtdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAkd2lkdGgtbGluZTtcbiAgaGVpZ2h0OiAkaGVpZ2h0LWljb247XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1idW1wKSAvIDEwKTtcbiAgfVxuXG4gIFtkYXRhLW5hdj0nb3BlbiddICYsXG4gIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMjNweDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNTAlKTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGhlaWdodDogNDRweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBncmlkLWNvbHVtbjogNDtcbiAgICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmX19saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB3aWR0aDogJHdpZHRoLWxpbmU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0LWxpbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogKGNhbGMoJGhlaWdodC1saW5lIC8gMikpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgJi0xIHtcbiAgICAgIHRvcDogMDtcblxuICAgICAgOmhvdmVyID4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKCRoZWlnaHQtbGluZSAvIDIgKiAtMSkpO1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmLFxuICAgICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMS41cHgpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpIHJvdGF0ZSgkcm90YXRpb24pO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0yIHtcbiAgICAgIHRvcDogNTAlO1xuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmLFxuICAgICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYtMyB7XG4gICAgICB0b3A6IDEwMCU7XG5cbiAgICAgIDpob3ZlciA+ICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygkaGVpZ2h0LWxpbmUgLyAyKSk7XG4gICAgICB9XG5cbiAgICAgIFtkYXRhLW5hdj0nb3BlbiddICYsXG4gICAgICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExLjVweCAqIC0xKSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gQnV0dG9uc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogZXhhbXBsZXNcbmEtYnRuIFxuYS1idG4gYS1idG4tLXdoaXRlXG5hLWJ0biAgYS1idG4tLXdpdGgtYXJyb3dcbmEtYnRuIGEtYnRuLS1ibGFjayAgYS1idG4tLXdpdGgtYXJyb3cgIGEtYnRuLS13aXRoLWFycm93LWJsYWNrXG4gKiovXG5cbiBAbWl4aW4gYnRuIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgZm9udC1zaXplOiBjbGFtcCh2YXIoLS1mb250U20pLCAyLjV2dywgdmFyKC0tZm9udFNpemUpKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYmxhY2spO1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNy41KSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbkBtaXhpbiBidG4taG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xufVxuXG5AbWl4aW4gYnRuLXdoaXRlIHtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbn1cblxuQG1peGluIGJ0bi13aGl0ZS1ob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG59XG5cbkBtaXhpbiBidG4td2l0aC1hcnJvdyB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBiZy1pbWcoY29udGFpbik7ICAgIFxuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWRpYWdvbmFsLWFycm93LWJsYWNrLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyB2YXIoLS1lYXNpbmcpO1xuICB9XG59XG5cbkBtaXhpbiBidG4td2l0aC1hcnJvdy1ob3ZlciB7XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWRpYWdvbmFsLWFycm93LnN2ZycpO1xuICB9XG59XG5cbkBtaXhpbiBidG4td2l0aC1hcnJvdy1ibGFjayB7XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tZGlhZ29uYWwtYXJyb3cuc3ZnJyk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi13aXRoLWFycm93LWJsYWNrLWhvdmVyIHtcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1kaWFnb25hbC1hcnJvdy1ibGFjay5zdmcnKTtcbiAgfVxufVxuXG5AbWl4aW4gc3VibmF2QW5jaG9yTGluayB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICBwYWRkaW5nOiA2cHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKC0tZWFzaW5nKTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICB9XG59XG5cbkBtaXhpbiBzdWJuYXZBbmNob3JMaW5rU2Nyb2xsZXIge1xuICBcbn1cblxuLyoqXG4gKiBTdHlsZXNcbiAqKi9cblxuLmEtYnRuIHtcbiAgQGluY2x1ZGUgYnRuO1xuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgfVxuXG4gICYtLXdoaXRlIHtcbiAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLS13aXRoLWFycm93IHtcbiAgICBAaW5jbHVkZSBidG4td2l0aC1hcnJvdztcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgYnRuLXdpdGgtYXJyb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgJi0td2l0aC1hcnJvdy1ibGFjayB7XG4gICAgQGluY2x1ZGUgYnRuLXdpdGgtYXJyb3ctYmxhY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi13aXRoLWFycm93LWJsYWNrLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtLXN1Ym5hdkFuY2hvckxpbmsge1xuICAgIEBpbmNsdWRlIHN1Ym5hdkFuY2hvckxpbms7XG4gIH1cblxuICAmLS1hY3RpdmUge1xuICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gSW1hZ2UgY3JlZGl0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5hLWltYWdlLWNyZWRpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiB2YXIoLS1idW1wKTtcbiAgcmlnaHQ6IHZhcigtLWJ1bXApO1xuICB6LWluZGV4OiA0O1xuICBjdXJzb3I6IGhlbHAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiB2YXIoLS1idW1wKTtcbiAgd2lkdGg6IHZhcigtLWJ1bXApO1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWNyZWRpdCk7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHZhcigtLWJ1bXApO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwYWRkaW5nOiAwIDIxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1idW1wKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYnVtcCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB3b3JkLXNwYWNpbmc6IDA7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogQXRvbXMgLSBCcmVhZGNydW1ic1xuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5hLWJyZWFkY3J1bWIge1xuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAuY29sLXNtLTEyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG5cbiAgLmN0X19ldmVudC1jb250ZW50ICYsXG4gIC5jdF9fY291cnNlcy1hbmQtbGVhcm5pbmctY29udGVudCAmLFxuICAuY3RfX2VhdC1kcmluay1jb250ZW50ICYsXG4gIC5jdF9fdmVudWVzLWNvbnRlbnQgJixcbiAgLmN0X19zdG9yaWVzLXByZXNzLWNvbnRlbnQgJiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMTcsIDIxNywgMjE3LCAwLjMpO1xuICB9XG5cbiAgb2wge1xuICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJ1bXApIC8gMTApO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogVW4udGl0bGVkXG4qIEF0b21zIC0gU2VhcmNoIGJ1dHRvblxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5hLXNlYXJjaC1idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ0blJlc2V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplTGcpO1xuICAgIGhlaWdodDogNDRweDtcbiAgICB3aWR0aDogNDRweDtcbiAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgXG4gICAgICBzdmcge1xuICAgICAgICAvLyBhbmltYXRpb246IHNoYWtlIDAuODJzIGN1YmljLWJlemllciguMzYsLjA3LC4xOSwuOTcpIGJvdGg7XG5cbiAgICAgICAgZyB7XG4gICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jLWdyZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgXG4gICAgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJywgJzwxMjAwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplU20pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgZyB7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgfVxuICBcbiAgICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAuYS1zZWFyY2gtYnV0dG9uX19jbG9zZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIHZhcigtLWVhc2luZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgd2lkdGg6ICR3aWR0aC1saW5lO1xuICAgICAgICAgIGhlaWdodDogJGhlaWdodC1saW5lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAoY2FsYygkaGVpZ2h0LWxpbmUgLyAyKSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHgpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpXG4gICAgICAgICAgcm90YXRlKCRyb3RhdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDlweCAqIC0xKSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjE0NjBweCcpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG4gICIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBBdG9tcyAtIFNjcm9sbCBiYW5uZXIgY3RhXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qKlxuKiBDb25maWdcbiovXG46cm9vdCB7XG4gICAgLS1zY3JvbGxDb2xvdXI6IHZhcigtLWMtd2hpdGUpO1xuICB9XG4gIFxuICBAa2V5ZnJhbWVzIGFycm93Qm91bmNlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgyLjVweCk7XG4gICAgICB9XG4gICAgICAyNSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoLTIuNXB4KTtcbiAgICAgIH1cbiAgICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgyLjVweCk7XG4gICAgICB9XG4gICAgICA3NSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoLTIuNXB4KTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMi41cHgpO1xuICAgICAgfVxuICB9XG4gIFxuICAvKipcbiAgICAqIFN0eWxpbmdcbiAgICAqL1xuICAuYS1zY3JvbGwtY3RhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1zY3JvbGxDb2xvdXIpO1xuICAgIHRyYW5zaXRpb246IDAuMnMgdmFyKC0tZWFzaW5nKTtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuXG4gICAgJi0tYmFjay10by10b3Age1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAzKTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1iYWNrLXRvLXRvcC5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBhbmltYXRpb246IGFycm93Qm91bmNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG4gICIsIi5hLXJzcyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMTVweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgfVxyXG59IiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIEVtZXJnZW5jeSBNZXNzYWdlXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcblxyXG4vKipcclxuICogQ29uZmlnXHJcbiAqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU3R5bGluZ1xyXG4gKiovXHJcbi5tLWVtbXNnIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xyXG4gIG1heC1oZWlnaHQ6IDMwdmg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICZbZGF0YS1zdGF0ZT0ndmlzaWJsZSddIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIGFuaW1hdGlvbjogc2xpZGVJblVwIDAuMnMgMC4zcyBjdWJpYy1iZXppZXIoMC43NywgMC4yOSwgMC4zNSwgMC43MikgMVxyXG4gICAgICBmb3J3YXJkcztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidG5SZXNldDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xyXG5cclxuICAgIHBhdGgge1xyXG4gICAgICBmaWxsOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcblxyXG4gICAgICBwYXRoIHtcclxuICAgICAgICBmaWxsOiB2YXIoLS1jLXNlY29uZGFyeSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIEVudGl0aWVzXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcblxyXG4ubS1lbnRpdHkge1xyXG4gIC8vIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAqIDEuNSkgMDsgdGVzdGluZyB0aGlzIG91dFxyXG5cclxuICBtYXJnaW46IDU1cHggMDtcclxuXHJcblxyXG4gICZfX2hpZ2hsaWdodGVkLWNvbnRlbnQsXHJcbiAgJl9faG9tZXBhZ2UtaGlnaGxpZ2h0LFxyXG4gICZfX2VtYmVkLFxyXG4gICZfX3F1b3RlLFxyXG4gICZfX3ltYWxcclxuICAmX19ldmVudHMteWFtbCxcclxuICAmX19sYXJnZS1zaWducG9zdCB7XHJcbiAgICAmLmhhc0JnQ29sb3VyOmhhcygrIC5oYXNCZ0NvbG91cikge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAmIH4gLmhhc0JnQ29sb3VyIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xyXG4gICAgICAmLmhhc0JnQ29sb3VyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICBtYXJnaW46IHZhcigtLWJ1bXApIDA7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICZfX2JvZHkge1xyXG4gICAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtc20tOCB7XHJcbiAgICAgIC8vcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpub3QoLmN0X19saXN0aW5nLXBhZ2UgJikge1xyXG5cclxuICAgIGgyLmgzIHtcclxuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMzZweCwgNC41dncsIDYwcHgpO1xyXG4gICAgICBsaW5lLWhlaWdodDogY2xhbXAoMzZweCwgNC41dncsIDcwcHgpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5tLWVudGl0eV9fdGVzdGltb25pYWwtd2l0aC1pbWFnZSxcclxuICAgICYubS1lbnRpdHlfX2luZm9ybWF0aW9uLWhpZ2hsaWdodCxcclxuICAgICYubS1lbnRpdHlfX2xhcmdlLXNpZ25wb3N0IHtcclxuICAgICAgaDIuaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgNC41dncsIDIycHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNnB4LCA0LjV2dywgMjhweCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGNsYW1wKDAuNTRweCwgMi41dncsIDEuNzVweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm0tZW50aXR5X190ZXN0aW1vbmlhbC13aXRoLWltYWdlLFxyXG4gICAgJi5tLWVudGl0eV9faW5mb3JtYXRpb24taGlnaGxpZ2h0LFxyXG4gICAgJi5tLWVudGl0eV9fdmlkZW8sXHJcbiAgICAmLm0tZW50aXR5X19xdW90ZSB7XHJcbiAgICAgIGgyLmgzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2FuaW1hdGVkLWRpdmlkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAmLmlzLXZpc2libGUgfiBkaXYge1xyXG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1idW1wKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAubS1lbnRpdHlfX2ludHJvLWluZm9ybWF0aW9uICYge1xyXG4gICAgICAuUGluayAmLFxyXG4gICAgICAuUHVycGxlICYsXHJcbiAgICAgIC5CbGFjayAmLFxyXG4gICAgICAuRGFya0JsdWUgJixcclxuICAgICAgLkdyZXkgJixcclxuICAgICAgLm0tZW50aXR5X19xdW90ZV9fd3JhcHBlciAmIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDJzIHZhcigtLWVhc2luZyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm9keSxcclxuICAmX190ZXh0LFxyXG4gICZfX2FjY29yZGlvbixcclxuICAmX19pbWFnZS10ZXh0IHtcclxuXHJcbiAgICBwIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm9keSxcclxuICAmX190ZXh0LFxyXG4gICZfX2FjY29yZGlvbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19hY2NvcmRpb24sXHJcbiAgJl9fdGV4dCxcclxuICAmX19kb3dubG9hZHMsXHJcbiAgJl9fZW1iZWQsXHJcbiAgJl9faGlnaGxpZ2h0ZWQtY29udGVudCxcclxuICAmX19saW5rZWQtbG9nb3MsXHJcbiAgJl9fdGV4dCB7XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDYwJTtcclxuICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApICogMik7XHJcbiAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG5cclxuICAgICAgLmhhc0JnQ29sb3VyICYge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWJ1bXApICogMik7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgKiAyKTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLW5vLXRpdGxlIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDU5NnB4IDFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICBcclxuICAgICAgcCB7XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgYSB7XHJcbiAgICAgICAgJi5hLWJ0biB7XHJcbiAgICAgICAgICBtYXJnaW46IHZhcigtLWJ1bXApIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvYm9keSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9pbWFnZSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy92aWV3JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3F1b3RlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2FjY29yZGlvbic7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9nYWxsZXJ5JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ltYWdlLXRleHQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvZG93bmxvYWRzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2VtYmVkJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2VudGl0eS1yZWYtaXRlbSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy95bWFsJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2hpZ2hsaWdodGVkLWNvbnRlbnQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW5mb3JtYXRpb24taGlnaGxpZ2h0JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2xpbmtlZC1sb2dvcyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy90ZXN0aW1vbmlhbC13aXRoLWltYWdlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3ZpZGVvJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2xhcmdlLXNpZ25wb3N0JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3NpZ25wb3N0cyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ob21lcGFnZS1zaWducG9zdHMnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaG9tZXBhZ2UtaW1hZ2UtdGV4dCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ob21lcGFnZS1oaWdobGlnaHQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaG9tZXBhZ2UtZnVsbC13aWR0aC1wYXJhbGxheC1pbWFnZSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ob21lcGFnZS1vdXItc3Rvcmllcyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ob21lcGFnZS10ZXh0JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ludHJvLWluZm9ybWF0aW9uJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2V2ZW50cy15bWFsJztcclxufVxyXG5cclxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIE5vZGUgYm9keSBjb3B5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fYm9keS5vLWRlZmF1bHRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEltYWdlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9faW1hZ2Utd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDU4MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuJl9faW1hZ2VfX3dyYXBwZXIge1xuXG4gIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEVudGl0eSB2aWV3c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX3ZpZXcge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIFF1b3Rlc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cblxuQG1peGluIHJhdGluZygkc3RhcnMpIHtcbiAgJjpudGgtY2hpbGQoLW4gKyAjeyRzdGFyc30pIHtcbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICNmZmY7XG4gICAgICBzdHJva2U6ICNmZmY7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU3R5bGVzXG4gKi9cblxuJl9fcXVvdGUge1xuICBibG9ja3F1b3RlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFRpdGxlKTtcbiAgICBtYXJnaW46IDAgYXV0byBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1OTZweDtcbiAgICBcblxuICAgICYgPiBwIHtcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDIuNXZ3LCAyMnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI2cHgsIDIuNXZ3LCAyOHB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGNsYW1wKDAuNTRweCwgMi41dncsIDAuNDRweCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGNpdGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250TmV3cyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgLnJhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiBhdXRvIDAgdmFyKC0tYnVtcFNtYWxsKTtcblxuICAgICZfX3N0YXIge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHN0cm9rZTogI2ZmZjtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJHN0YXJzIGZyb20gMSB0aHJvdWdoIDUge1xuICAgICAgJi0tI3skc3RhcnN9IHtcbiAgICAgICAgLnJhdGluZ19fc3RhciB7XG4gICAgICAgICAgQGluY2x1ZGUgcmF0aW5nKCN7JHN0YXJzfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmID4gaDIuaDMge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDQuNXZ3LCAyMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNHB4LCA0LjV2dywgMjdweCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBjbGFtcCgwLjU0cHgsIDIuNXZ3LCAwLjQ0cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEFjY29yZGlvbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5hY2NvcmRpb24gPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIC5hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tYnVtcFNtYWxsKSBjYWxjKHZhcigtLWJ1bXBTbWFsbCkgKiAxLjUpIHZhcigtLWJ1bXBTbWFsbCkgMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1ibGFjayk7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAyLjV2dywgMjJweCk7XG4gICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI2cHgsIDIuNXZ3LCAyOHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuXG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIGJnLWltZyhjb3Zlcik7XG4gICAgICBoZWlnaHQ6IHZhcigtLWJ1bXBTbWFsbCk7XG4gICAgICB3aWR0aDogdmFyKC0tYnVtcFNtYWxsKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiB2YXIoLS1idW1wU21hbGwpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDVweCBkb3R0ZWQgdmFyKC0tYy1ibGFjayk7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAuYWNjb3JkaW9uX19oZWFkZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgb3V0bGluZTogNXB4IGRvdHRlZCB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICB9XG4gIH1cblxuICAuanMtYWNjb3JkaW9uX19wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvb2spO1xuXG4gICAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzLCAwcywgMHM7XG4gICAgfVxuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xuICAgIH1cbiAgfVxuICBcblxuICBbYXJpYS1leHBhbmRlZF06YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNyb3NzLnN2Z1wiKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NURFRyk7XG4gIH1cblxuICAvKiB0aXRsZSBvcGVuZWQgKi9cbiAgW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMERFRyk7XG4gIH1cbiAgLyogdGl0bGUgY2xvc2VkICovXG4gIFthcmlhLWV4cGFuZGVkPSdmYWxzZSddOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVERUcpO1xuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gR2FsbGVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2dhbGxlcnkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG5cbiAgLmdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICBnYXA6IHZhcigtLWJ1bXBTbWFsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZ2FwOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBAaW5jbHVkZSBzd2lwZXI7XG4gIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gSW1hZ2UgJiBUZXh0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9faW1hZ2UtdGV4dCB7XG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTk2cHggMWZyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAqIDMpO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgIG1lZGlhKCc8bGcnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBwaWN0dXJlIHtcbiAgICAgIG1heC13aWR0aDogNTk2cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3JldmVyc2Uge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDIycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNnB4LCAyLjV2dywgMjhweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGNsYW1wKDAuNTRweCwgMi41dncsIDAuNDRweCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wU21hbGwpIC8gMik7XG4gIH1cbn1cbiIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBNb2xlY3VsZXMgLSBEb3dubG9hZHNcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLyoqXG4qIENvbmZpZ1xuKi9cblxuLyoqXG4qIFN0eWxpbmdcbiovXG4mX19kb3dubG9hZHMge1xuICB1bCwgb2wge1xuICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tYnVtcCk7XG4gIH1cblxuICAmX19maWxlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICB9XG5cbiAgLmZpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VGl0bGUpO1xuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAgICAgXG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi1kb3dubG9hZC5zdmdcIik7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1pbi13aWR0aDogMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBFbWJlZFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2VtYmVkIHtcbiAgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmX193cmFwcGVyIHtcbiAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgLy9wYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5QdXJwbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wdXJwbGUpO1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAuYS1idG4ge1xuICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5EYXJrQmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWRhcmstYmx1ZSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgIC5hLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGUtaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLldoaXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgICAuYS1idG4ge1xuICAgICAgICBAaW5jbHVkZSBidG47XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5HcmV5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdHJhbnNwYXJlbnQtbGlnaHQtZ3JleSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgIC5hLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJ0bjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLlBpbmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1waW5rKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgLmEtYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuQmxhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgIC5hLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGUtaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEltYWdlICYgVGV4dFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiAmX190ZXN0aW1vbmlhbC13aXRoLWltYWdlIHtcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRUaXRsZSk7XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBcbiAgICAgICAgJiA+IHAge1xuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDIycHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI2cHgsIDIuNXZ3LCAyOHB4KTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBjbGFtcCgwLjU0cHgsIDIuNXZ3LCAwLjQ0cHgpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgIHAsIGNpdGUsIGgyLmgzIHtcbiAgICAgY29sb3I6ICNmZmY7XG4gICB9XG5cbiAgICBjaXRlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnROZXdzKTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5yYXRpbmcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgdmFyKC0tYnVtcFNtYWxsKTtcblxuICAgICAgICAmX19zdGFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBzdHJva2U6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAkc3RhcnMgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAgICAgICAmLS0jeyRzdGFyc30ge1xuICAgICAgICAgICAgLnJhdGluZ19fc3RhciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmF0aW5nKCN7JHN0YXJzfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAqIDMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgKiAyKSBjYWxjKHZhcigtLWJ1bXApICogMyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IHZhcigtLWJ1bXApO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgKiAyKSB2YXIoLS1idW1wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1OTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBoMi5oMyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgNC41dncsIDIycHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI0cHgsIDQuNXZ3LCAyN3B4KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGNsYW1wKDAuNTRweCwgMi41dncsIDAuNDRweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgXG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDIuNXZ3LCAyMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNnB4LCAyLjV2dywgMjhweCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogY2xhbXAoMC41NHB4LCAyLjV2dywgMC40NHB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wU21hbGwpIC8gMik7XG4gICAgfVxuICB9XG4gICIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBJbWFnZSAmIFRleHRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4gJl9fbGFyZ2Utc2lnbnBvc3Qge1xuICAgIG1hcmdpbjogMDtcblxuICAgICYgKyAuby1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTA1cHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApICogMyk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICBcbiAgICAgIHBpY3R1cmUge1xuICAgICAgICBtYXgtd2lkdGg6IDU5NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW5vLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1idW1wKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLm0tZW50aXR5X19sYXJnZS1zaWducG9zdF9fdGl0bGUuaDMsXG4gICAgICAgIHAsXG4gICAgICAgIGEuYS1idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tLWVudGl0eV9fbGFyZ2Utc2lnbnBvc3RfX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICBcbiAgICAgIHAge1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYuaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCA0LjV2dywgMjJweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogY2xhbXAoMjZweCwgNC41dncsIDI2cHgpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNTRweDtcbiAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgKiAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNikgY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgKiAxLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuUHVycGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHVycGxlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuRGFya0JsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZGFyay1ibHVlKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLldoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5HcmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdHJhbnNwYXJlbnQtbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLlBpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1waW5rKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuQmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzd2lwZXI7XG4gICAgfVxuICB9XG4gICIsIlxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEhvbXBhZ2UgSW1hZ2UgJiBUZXh0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuICZfX2hvbWVwYWdlLWltYWdlLXRleHQge1xuICAgJl9faW5uZXIge1xuICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgKiAzKTtcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICB3aWR0aDogMTAwJTtcblxuICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgfVxuXG4gICAgIHBpY3R1cmUge1xuICAgICAgIG1heC13aWR0aDogNTk1cHg7XG4gICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgIH1cbiAgICAgfVxuXG4gICAgICZfX3JldmVyc2Uge1xuICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgfVxuICAgICB9XG4gICB9XG5cbiAgICZfX2NvbnRlbnQge1xuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgIHdpZHRoOiAxMDAlO1xuICAgICBtYXgtd2lkdGg6IDQ5MnB4O1xuXG4gICAgICYgPiBoMi5oMSB7XG4gICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuXG4gICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuXG4gICAgICAgfVxuICAgICB9XG5cbiAgICAgJiA+IGgyLmgxLFxuICAgICAmID4gcCB7XG4gICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wU21hbGwpIC8gMik7XG4gICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgfVxuICAgICB9XG5cbiAgICAgJiA+IHAge1xuICAgICAgJiA+IGEge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG4gICAgIH1cblxuICAgICAmID4gLmEtYnRuIHtcbiAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICB9XG5cbiAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICB9XG5cblxuICAgICAgICYgPiBoMi5oMSxcbiAgICAgICAmID4gcCB7XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgfVxuICAgICB9XG4gICB9XG5cbiAgICZfX3RpdGxlIHtcbiAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgfVxuXG4gICAgICYtLW1vYmlsZSB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICBtYXJnaW46IDA7XG4gICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgIH1cbiAgICAgfVxuICAgfVxuXG4gICAmX19zdWJ0aXRsZSB7XG4gICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDIycHgpO1xuICAgICBsaW5lLWhlaWdodDogY2xhbXAoMjZweCwgMi41dncsIDI4cHgpO1xuICAgICBsZXR0ZXItc3BhY2luZzogY2xhbXAoMC41NHB4LCAyLjV2dywgMC40NHB4KTtcbiAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgIG1hcmdpbjogMCBhdXRvIGNhbGModmFyKC0tYnVtcFNtYWxsKSAvIDIpIDA7XG4gICB9XG5cbiAgICZfX2lubmVyLXdyYXBwZXIge1xuICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICB3aWR0aDogMTAwJTtcbiAgIH1cbiB9IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEhvbWVwYWdlIGhpZ2hsaWdodHMgXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuICZfX2hvbWVwYWdlLWhpZ2hsaWdodCB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgICYuUHVycGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHVycGxlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuRGFya0JsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZGFyay1ibHVlKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGUtaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLldoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5HcmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdHJhbnNwYXJlbnQtbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLlBpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1waW5rKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuQmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgKiAzKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIFxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gIFxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIG1heC13aWR0aDogNTk1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmX19yZXZlcnNlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA0OTJweDtcblxuICAgICAgJiA+IGgyLmgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmX190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIFxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDIycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI2cHgsIDIuNXZ3LCAyOHB4KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBjbGFtcCgwLjU0cHgsIDIuNXZ3LCAwLjQ0cHgpO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXBTbWFsbCkgLyAyKTtcbiAgICB9XG4gIH1cbiAgIiwiJl9fZW50aXR5LXJlZi1pdGVtIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJl9feW1hbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5QdXJwbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wdXJwbGUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5EYXJrQmx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1kYXJrLWJsdWUpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuV2hpdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLkdyZXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10cmFuc3BhcmVudC1saWdodC1ncmV5KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG47XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuUGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBpbmspO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5CbGFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHN3aXBlcjtcbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJl9faGlnaGxpZ2h0ZWQtY29udGVudCB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICAuaGFzQmdDb2xvdXIgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgJi5QdXJwbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wdXJwbGUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICB9XG4gICAgICAgICYuV2hpdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgJi5HcmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdHJhbnNwYXJlbnQtbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgJi5QaW5rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcGluayk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5CbGFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgfVxuICAgICAgICAmLkRhcmtCbHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZGFyay1ibHVlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCImX19pbmZvcm1hdGlvbi1oaWdobGlnaHQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcblxuICAgICAgICAmLlB1cnBsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXB1cnBsZSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5EYXJrQmx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWRhcmstYmx1ZSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5XaGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgfVxuICAgICAgICAmLkdyZXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10cmFuc3BhcmVudC1saWdodC1ncmV5KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgfVxuICAgICAgICAmLlBpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1waW5rKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgfVxuICAgICAgICAmLkJsYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIC5jb2wtc20tMTIge1xuICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tYnVtcCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuXG4gICAgICAgICYuUHVycGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHVycGxlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgfVxuICAgICAgICAmLkRhcmtCbHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZGFyay1ibHVlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgfVxuICAgICAgICAmLldoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICB9XG4gICAgICAgICYuR3JleSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRyYW5zcGFyZW50LWxpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuUGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBpbmspO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICB9XG4gICAgICAgICYuQmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgKiAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gaDIuaDMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDQuNXZ3LCAyMnB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNHB4LCA0LjV2dywgMjdweCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBjbGFtcCgwLjU0cHgsIDIuNXZ3LCAwLjQ0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tYnVtcCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTk2cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJl9fbGlua2VkLWxvZ29zIHtcbiAgICAmX19pbm5lciB7XG4gICAgICAgICZfX2xvZ29zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgICAgICBnYXA6IHZhcigtLWJ1bXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCImX192aWRlbyB7XG4gICAgaDIuaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5tLWVudGl0eV9fdmlkZW9fX3dyYXBwZXIge1xuICAgICAgICAvLyBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiJl9fc2lnbnBvc3Qge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgJiA+IC5hLWdyaWQge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAqIDMpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1idW1wKSAwIGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIDAgY2FsYyh2YXIoLS1idW1wKSAqIDEuNSk7XG4gICAgICAgICAgZ2FwOiAwO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC8vIHAge1xuICAgICAgICAvLyAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgfVxufSIsIiZfX2hvbWVwYWdlLXNpZ25wb3N0cyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIC5tLWVudGl0eV9fYW5pbWF0ZWQtZGl2aWRlciB7XG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgLy8gfVxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XG4gICAgICAgIC8vIH1cbiAgICAgICAgQGluY2x1ZGUgc3dpcGVyO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAqIDIpIDAgMCAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAwOyAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLm8tdGVhc2VyX19idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICYgPiBoMi5oMSxcbiAgICAgICAgJiA+IHAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wU21hbGwpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU5NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5hLWJ0biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5tZFwiKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgLy8gYm90dG9tOiAwO1xuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtZFwiKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAyLjV2dywgMjJweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogY2xhbXAoMjZweCwgMi41dncsIDMwcHgpO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbn0iLCImX19ob21lcGFnZS1mdWxsLXdpZHRoLXBhcmFsbGF4LWltYWdlIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDY4M3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogbG9jYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hc3NldC1ob21lcGFnZS1wYXJhbGxheC10cmlhbmdsZS5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDYuNSUpO1xuICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTYuNSUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mX19ob21lcGFnZS1mdWxsLXdpZHRoLXBhcmFsbGF4LWltYSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn0iLCImX19ob21lcGFnZS1vdXItc3RvcmllcyB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgc3dpcGVyO1xuICAgIH1cblxuICAgICZfX3ZpZXcge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblxuICAgICAgICAmLm9uZUNvbCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnR3b0NvbCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnRocmVlQ29sIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuZm91ckNvbCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmID4gaDIuaDEsXG4gICAgICAgICYgPiBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcFNtYWxsKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1OTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuYS1idG4ge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IHZhcigtLWJ1bXApO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1kXCIpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDIycHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI2cHgsIDIuNXZ3LCAzMHB4KTtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bWRcIikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIiZfX2hvbWVwYWdlLXRleHQge1xuICAgICZfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbn0iLCImX19pbnRyby1pbmZvcm1hdGlvbiB7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5vLWV2ZW50LWNvbnRlbnQgJixcbiAgICAuby1jb3Vyc2VzLWFuZC1sZWFybmluZy1jb250ZW50ICYsXG4gICAgLm8tZWF0LWRyaW5rLWNvbnRlbnQgJixcbiAgICAuby12ZW51ZXMtY29udGVudCAmLFxuICAgIC5vLXN0b3JpZXMtcHJlc3MtY29udGVudCAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMTcsIDIxNywgMjE3LCAwLjMwKTsgXG5cbiAgICAgICAgJi0tc3RpY2t5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogLTEwMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICAgICAgJi5pcy1zdGlja3kge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAgICAgLm0tZW50aXR5X19pbnRyby1pbmZvcm1hdGlvbl9fdGl0bGUtLXN0aWNreSxcbiAgICAgICAgICAgICAgICAubS1lbnRpdHlfX2ludHJvLWluZm9ybWF0aW9uX19kZXRhaWxzLS1zdGlja3kge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tLWVudGl0eV9faW50cm8taW5mb3JtYXRpb25fX3RheG9ub21pZXMge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm8tc3Rvcmllcy1wcmVzcy1jb250ZW50ICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxNywgMjE3LCAyMTcsIDAuMzApOyBcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIHZhcigtLWVhc2luZyk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuby1ldmVudC1jb250ZW50ICYsXG4gICAgICAgIC5vLWNvdXJzZXMtYW5kLWxlYXJuaW5nLWNvbnRlbnQgJixcbiAgICAgICAgLm8tZWF0LWRyaW5rLWNvbnRlbnQgJixcbiAgICAgICAgLm8tdmVudWVzLWNvbnRlbnQgJixcbiAgICAgICAgLm8tc3Rvcmllcy1wcmVzcy1jb250ZW50ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm8tbGlzdGluZy1wYWdlICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgICYgKyBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDIycHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI2cHgsIDIuNXZ3LCAzMnB4KTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAuby1saXN0aW5nLXBhZ2UgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gIHZhcigtLWJ1bXApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc3RpY2t5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm8tZGVmYXVsdF9fYm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAyLjV2dywgMjJweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNnB4LCAyLjV2dywgMzJweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgdmFyKC0tZWFzaW5nKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdGlja3kge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190YXhvbm9taWVzIHtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udE1lZGl1bSk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMi41dncsIDE0cHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyNHB4LCAyLjV2dywgMjRweCkgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKC0tZWFzaW5nKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VibmF2LWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5tLWVudGl0eV9fYW5pbWF0ZWQtZGl2aWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2Nyb2xsZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBjYWxjKHZhcigtLWJ1bXBTbWFsbCkgKiAyKSAwIDA7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAgICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7ICAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgY2FsYyh2YXIoLS1idW1wU21hbGwpICogMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiAuYS1idG4tLXN1Ym5hdkFuY2hvckxpbmsge1xuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICYgPiAuYS1idG4tLXNjcm9sbGVyIHsgICAgXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWFycm93LWJsYWNrLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTIwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwzNjBweFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2luZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWFycm93LWJsYWNrLWxlZnQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiJl9fZXZlbnRzLXltYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgKiAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuUHVycGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHVycGxlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuRGFya0JsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZGFyay1ibHVlKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLldoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgICAgICAgICAuYS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5HcmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdHJhbnNwYXJlbnQtbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLlBpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1waW5rKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4td2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuQmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgIC5hLWJ0biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi13aGl0ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBzd2lwZXI7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBGb3Jtc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmlucHV0LFxuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIHZhcigtLWJ1bXApO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1wcmltYXJ5KTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmZvcm0tYWN0aW9ucyBpbnB1dCxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uanMtZm9ybS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIE1haW4gbmF2XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuIC5tLW1haW4tbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiA5MHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICYgPiB1bCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDVweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gbGkge1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gY2FsYyh2YXIoLS1zbWFsbEJ1bXApLzIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm1lbnUtaXRlbS1saSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnROZXdzKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gYSxcbiAgICAgICAgJiA+IGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY0cHg7XG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1saS0tb3BlbixcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwRGVnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgJi5tZW51LWl0ZW0tbGktLW9wZW46YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwRGVnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyLjVweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40NXMgdmFyKC0tZWFzaW5nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24td2hpdGUtdGhpY2suc3ZnXCIpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgIG1hcmdpbjogYXV0byBhdXRvIGF1dG8gNXB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2luZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDIwcHggYXV0byBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24td2hpdGUtdGhpbi5zdmdcIik7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwRGVnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmICsgdWwge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgei1pbmRleDogLTEwMDtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAycHggNHB4IDAgcmdiYSg2LDYsNiwwLjA1KTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDE1cHg7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcblxuICAgICAgICAgICAgICAmID4gbGkubWVudS1pdGVtLWxpIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMykgMDtcblxuICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gYS5tZW51LWl0ZW0tbGkge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnROZXdzKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjhweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NzU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgJiA+IGEubWVudS1pdGVtLWxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNENUQ1RDU7XG5cbiAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1zdWJuYXYtLW9wZW4ge1xuICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMDBweDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5tZW51LWl0ZW0taGFzLW5vLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byBhdXRvIGF1dG8gNXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0LjI1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDIwcHggYXV0byBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWFycm93LXdoaXRlLXRoaW4uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2luZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40NXMgdmFyKC0tZWFzaW5nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiBhLFxuICAgICAgJiA+IGJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNjRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtaXRlbS1saSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gQmFubmVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuIC5tLW5vLWJhbm5lciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYnVtcCkgKiAzKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWJ1bXApO1xuICB9XG59XG5cbi5tLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAmLS1ob21lcGFnZSB7XG4gICAgJi5tLWJhbm5lciB7XG4gICAgICAubS1iYW5uZXJfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDkwdmg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDkwdmg7XG4gICAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwdmg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIGhlaWdodDogMzB2aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWFydGljbGUge1xuICAgIG1hcmdpbjogMCAwIHZhcigtLXNtYWxsQnVtcCk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBpbmspO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXNzZXQtaG9tZXBhZ2UtYmFubmVyLXRyaWFuZ2xlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNS43NSUpO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zOC43NSUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM0Ljc1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogLTE0MHB4IDAgMjBweDtcbiAgICBnYXA6IDE1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzwxNDQwcHgnKSB7XG4gICAgICBtYXJnaW46IC0xMTBweCAwIDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBtYXJnaW46IC0yMHB4IDAgMjBweDtcbiAgICB9XG4gICAgLmNvbC1zbS02IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5oMS1mdWxsLFxuICAgIGgxIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgIH1cblxuICAgIGEuYS1idG4ge1xuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aXRoLXBhdXNlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29weSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb29rKTtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubS1iYW5uZXItLWxhcmdlLXNpZ25wb3N0ICYge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRSZWd1bGFyKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jdXJ2ZS1ib3JkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0ycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGJvdHRvbTogLTJweDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi0tZGVza3RvcCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWNvbnRhaW5lZCB7XG5cbiAgICAuc3dpcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgbWluLWhlaWdodDogMzYwcHg7XG4gICAgICB9XG5cbiAgICAgICYtY29udGFpbmVyLFxuICAgICAgJi1zbGlkZXIge1xuICAgICAgICAgIGhlaWdodDphdXRvOyBcbiAgICAgIH1cblxuICAgICAgJi1idXR0b24ge1xuICAgICAgICAgICYtcHJldixcbiAgICAgICAgICAmLW5leHQge1xuICAgICAgICAgICAgICB3aWR0aDogMTFweDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJnLWltZyhjb3Zlcik7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggY2VudGVyO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi1uZXh0IHtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoZXZyb24tcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAmLXByZXYge1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGV2cm9uLWxlZnQuc3ZnJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXBhZ2luYXRpb24ge1xuICAgICAgICBib3R0b206IC01cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnVsbGV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCA2cHggIzAwMCk7XG5cbiAgICAgICAgICAgICYtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXBhdXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBvcGFjaXR5O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGJvdHRvbTogNy41cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi1wYXVzZS5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLXBhdXNlPVwidHJ1ZVwiXSAmIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLXBsYXkuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX192aWRlby1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC8vQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgLy8gIGRpc3BsYXk6IG5vbmU7XG4gICAgICAvL31cbiAgICB9XG4gIH1cblxuICAmLS1jb250YWluZWQtYWx0IHtcbiAgICBtYXJnaW46IC0xNXB4IDA7XG4gICAgXG4gICAgLm0tYmFubmVyX193cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX19pbm5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG5cbiAgICAubS1iYW5uZXJfX2xhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRSZWd1bGFyKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nOiAyLjVweCA1cHg7XG4gICAgICBjb2xvcjogdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXF1YXRlcm5hcnkpO1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAwIDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tLWJhbm5lcl9fY29udGVudCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxLmgxIHtcbiAgICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDEuOTM3NXJlbSwgNXZ3LCAzLjA2MjVyZW0pO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICAgIFxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tZXZlbnQtY29udGVudCxcbiAgJi0tY291cnNlcy1hbmQtbGVhcm5pbmctY29udGVudCxcbiAgJi0tZWF0LWRyaW5rLWNvbnRlbnQsXG4gICYtLXN0b3JpZXMtcHJlc3MtY29udGVudCxcbiAgJi0tdmVudWVzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjE3LCAyMTcsIDIxNywgMC4zMCk7XG4gIH1cblxuICAmLm0tYmFubmVyLS1sYXJnZS1zaWducG9zdCB7XG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyBLZWVwIHZpZGVvIHJhdGlvIGZvciBmbHVpZCB3aWR0aHNcbiAgLm0tYmFubmVyX192aWRlby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICBpZnJhbWUsXG4gICAgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAudmlkZW9fX3BhdXNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3Mgb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgIWltcG9ydGFudDtcbiAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tcGF1c2Uuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IFxuICAgIH1cblxuICAgICZbZGF0YS1wbGF5c3RhdGU9J3BhdXNlZCddIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BsYXkuc3ZnJyk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3BhdXNlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIExpbmtlZCBsb2dvc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLWxvZ29zIHtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBTb2NpYWwgbGlua3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLm0tc29jaWFsLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVjdCB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjFzIHZhcigtLWVhc2luZyk7XG4gICAgICBmaWxsOiB2YXIoLS1jLWJsYWNrKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHJlY3Qge1xuICAgICAgICBmaWxsOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIH1cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNzbGlkaW5nLXBvcHVwIHtcbiAgICAmLnNsaWRpbmctcG9wdXAtYm90dG9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAyOHB4IDAgcmdiKDI5IDI5IDI3IC8gNiUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgICYgPiAuZXUtY29va2llLWNvbXBsaWFuY2UtYmFubmVyIHtcbiAgICAgICAgICAgIC5ldS1jb29raWUtY29tcGxpYW5jZSB7XG4gICAgICAgICAgICAgICAgJi1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NSU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCA3dncsIDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnROZXdzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICYtbW9yZS1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnROZXdzKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgJi1idXR0b25zIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJi1zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgJi1kZWZhdWx0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnROZXdzKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuICAiLCIubS1yZWFjdHZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmX19ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVycyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi0tb3B0aW9ucyxcbiAgICAgICAgJi0tZGF0ZXBpY2tlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKC0tZWFzaW5nKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+c21cIikge1xuICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyB2YXIoLS1lYXNpbmcpO1xuXG4gICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLWFwcCB7XG4gICAgJl9fZmlsdGVycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDMpIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19idG57XG4gICAgICAgICAgICAmX19zd2l0Y2gge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3N0b3JpZXNfcHJlc3NfY29udGVudCB7XG4gICAgICAgICAgICAgICAgJi5hLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtbGlnaHQtYmx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjwyNzVweFwiKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW9wdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAmLS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tYnVtcCk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZWFmZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZUhlaWdodExnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemVTbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAzKSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1jaGVja2JveC0tdW5jaGVja2VkLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tY2hlY2tib3gtLWNoZWNrZWQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICYuYS1idG4ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmctaW1nKGNvdmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tY2hldnJvbi1kb3duLWJsYWNrLXRoaWNrLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHZhcigtLWJ1bXBTbWFsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aXZlLWZpbHRlcnMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taXRlbXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gNCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDQpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1jbG9zZS1zbWFsbC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0ZTogMTgwZGVnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmxpc3RpbmctLXBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59IiwiLm0tc3RpY2t5LW1haWxpbmctbGlzdCB7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICB6LWluZGV4OiAxO1xyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiA4cHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBmaWxsOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uby1ob21lcGFnZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIEhlYWRlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBIZWFkZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4gLm8taGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXB1cnBsZSk7XG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIHZhcigtLWVhc2luZyk7XG5cbiAgJi5pcy1zdGlja3kge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cblxuICAmID4gLmdyaWQge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG4gICAgfVxuXG4gICAgLmEtc2VhcmNoLWJ1dHRvbl9fY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgfVxuXG4gICZfX2lubmVyIHtcblxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxOGZyIDFmciAxZnI7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udGxhcmdlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc21hbGxMaW5lSGVpZ2h0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udE1lZGl1bSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3NlYXJjaC1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogODBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICB6LWluZGV4OiAtMTAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICBcbiAgICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIH1cblxuICAgICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogMC40NTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gLmdyaWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZXhwb3NlZGZvcm1zZWFyY2hwYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcblxuICAgICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmpzLWZvcm0taXRlbSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMnZ3LCAyMnB4KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuODhweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1mb3JtLXdyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuXG4gICAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLXNlYXJjaC5zdmcnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGhlaWdodDogY2xhbXAoMTZweCwgMnZ3LCAyNnB4KTtcbiAgICAgICAgICAgICAgd2lkdGg6IGNsYW1wKDE2cHgsIDJ2dywgMjZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3NlYXJjaHN1Z2dlc3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIHBhZGRpbmc6IDAgMCB2YXIoLS1idW1wKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zbWFsbEJ1bXApO1xuICAgICAgfVxuXG4gICAgICAmID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9vayk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZUhlaWdodExhcmdlKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX21haWxpbmdsaXN0IHtcbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tYnVtcCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIH1cblxuICAgICAgaDIuaDMge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDRweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9vayk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fbmF2IHtcbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm8taGVhZGVyX19sb2dvIHtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODZweDtcblxuXG4gICAgLm8taGVhZGVyX19sb2dvLS13aXRob3V0LXRleHQsXG4gICAgLm8taGVhZGVyX19sb2dvLS13aXRoLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDg2cHg7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyB2YXIoLS1lYXNpbmcpO1xuICAgIH1cblxuICAgIC5vLWhlYWRlcl9fbG9nby0td2l0aG91dC10ZXh0IHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLmlzLXNjcm9sbGVkICYge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBbZGF0YS1zZWFyY2g9J29wZW4nXSAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vLWhlYWRlcl9fbG9nby0td2l0aC10ZXh0IHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgXG4gICAgICAuaXMtc2Nyb2xsZWQgJixcbiAgICAgIFtkYXRhLXNlYXJjaD0nb3BlbiddICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzIHZhcigtLWVhc2luZyk7XG4gIHotaW5kZXg6IDI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IC0xMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLm1lbnUtb3ZlcmxheV9faW5uZXIge1xuICAgIC5tZW51LS1tYWluID4gLm1lbnUsXG4gICAgLm1lbnUtLW1vYmlsZS1tZW51ID4gLm1lbnV7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYy10ZXJ0aWFyeSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgICB9XG4gICAgICAmID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICMzMEQ4QTg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tLW1haW4tbmF2X19saW5rIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1lbnUge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tYnVtcFNtYWxsKTtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAmX19jaGlsZHJlbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgPiBsaSB7XG4gICAgICAmLm1lbnUtaXRlbS1saSB7XG4gICAgICAgIG1pbi13aWR0aDogMjIycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDEyMjBweFwiKSB7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGEsXG4gICAgICAgICYgPiBoMi5oNCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNDRweDtcbiAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG5cbiAgICAgICAgICAmLm1lbnUtaXRlbS1saSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDhweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGgyLmg0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2NoaWxkcmVuIHtcbiAgICAgICYgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICYubWVudS1pdGVtLWxpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDMpIDA7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJiA+IGEubWVudS1pdGVtLWxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9vayk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjI4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDc1O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gMWZyO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtZXh0bGlua10ge1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWFycm93LWRpYWdvbmFsLXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgJiA+IGEubWVudS1pdGVtLWxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IHZhcigtLWJ1bXBTbWFsbCk7XG4gICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDcxOHB4O1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMDgwcHhcIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XG4gICAgICB9XG5cbiAgICAgIFtkYXRhLW1lbnUtb3ZlcmxheS13cmFwcGVyPVwiZXhwbG9yZXRoZXBhcmtcIl0gJixcbiAgICAgIFtkYXRhLW1lbnUtb3ZlcmxheS13cmFwcGVyPVwicGxhbnlvdXJ2aXNpdFwiXSAmIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjIycHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmX190ZWFzZXJzIHtcbiAgICAgIGdhcDogdmFyKC0tYnVtcFNtYWxsKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAmID4gLm8tdGVhc2VyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1lYXNpbmcpO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XG4gICAgfVxuICB9XG5cbiAgJl9fbW9iaWxlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIHZhcigtLWVhc2luZyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+c21cIikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgdmFyKC0tZWFzaW5nKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYgPiAuZ3JpZCB7XG4gICAgICAmID4gLmNvbC1zbS0xMiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2RpdmlkZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMjdweCAwIHZhcigtLWJ1bXApO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbmJvZHlbZGF0YS1uYXY9J29wZW4nXSB7XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG4gIC5tZW51LWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogNDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5vLWhlYWRlciB7XG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICAuby1oZWFkZXItbG9nbyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgJi1hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9waXBwaXAvYXNzZXRzL2ltZy9jbG9zZS5zdmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWRtaW4tZnVuY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLm1lbnUtb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMDAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgdmFyKC0tZWFzaW5nKTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICB0b3A6IDgwcHg7XG4gICAgfVxuICAgIC5tZW51LW92ZXJsYXlfX2lubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyB2YXIoLS1lYXNpbmcpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX21vYmlsZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHlbZGF0YS1uYXY9J2Nsb3NlZCddIHtcbiAgLm1lbnUtb3ZlcmxheV9faW5uZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gRm9vdGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuIGZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMTcsIDIxNywgMjE0LCAwLjM1KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMy41cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJi5jb25kaXRpb25hbC1wdWxsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwNHB4O1xuICAgIH1cblxuICAgIC5vLWZvb3RlciB7XG5cbiAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3ByZS1mb290ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgICAgICAmID4gLmdyaWQge1xuICAgICAgICAgICAgICAgICYgPiAuY29sLXNtLTEyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIGgyLmgzIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvb2spO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1idW1wKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJl9fbmF2IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bWRcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMi4yMjIyMjIyMjIyMiU7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBuYXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICY+aDEsXG4gICAgICAgICAgICAgICAgJj5oMixcbiAgICAgICAgICAgICAgICAmPmgzLFxuICAgICAgICAgICAgICAgICY+aDQsXG4gICAgICAgICAgICAgICAgJj5oNSxcbiAgICAgICAgICAgICAgICAmPmg2IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgJi5ibG9jay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJj51bCB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0tbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1saSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vLWZvb3Rlcl9fbmF2X19sb3dlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmX19sb3dlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgbmF2IHtcbiAgICAgICAgICAgICAgICAgICAgJi5ibG9jay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJj5oMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY+aDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmPmgzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJj5oNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICY+aDUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmPmg2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZVNtYWxsZXN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmX191cHBlciB7XG4gICAgICAgICAgICBoMSxcbiAgICAgICAgICAgIGgyLCBcbiAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICBoNSwgXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5NTA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJl9fYWJvdXQge1xuICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1idW1wKSAvIDIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubS1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM0NnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udE1lZGl1bSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgdWwgeyBcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gIFxuICAgICAgICAgICAgICAgICAgICAmPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuby1mb290ZXJfX25hdl9fbG93ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICYgPiAuby1mb290ZXJfX25hdixcbiAgICAgICAgICAgICYgPiAuby1mb290ZXJfX3VwcGVyX19hYm91dCxcbiAgICAgICAgICAgICYgPiAuby1mb290ZXJfX3NvY2lhbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICZfX2xvd2VyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19sb2dvcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDEuNSkgMCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICY+Lm0tYmxvY2tfX2xpbmtlZC1sb2dvcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tYnVtcCk7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICZfX2luZm8ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplU21hbGxlc3QpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tTGluZUhlaWdodFNtKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb29rKTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmX19zb2NpYWwge1xuICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICBoMiwgXG4gICAgICAgICAgICBoMyxcbiAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgaDUsIFxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpOyAgICBcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bWRcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICZfX2RpdmlkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgKiAzKSAwIHZhcigtLWJ1bXApO1xuICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDEuNSkgMCB2YXIoLS1idW1wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gVmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby12aWV3IHtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBTZWFyY2ggcmVzdWx0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiNzZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuYm9keSB7XG4gICYuc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXB1cnBsZSk7XG4gICAgLmEtYnJlYWRjcnVtYiB7XG4gICAgICBhLCBsaSwgc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLm8tc2VhcmNoLXJlc3VsdHMge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAudmlld19fc2l0ZV9zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICAgICAgICZfX2V4cG9zZWQtZm9ybXMge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Jlc3VsdHMtZ3JpZCB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcmVzdWx0LWNvdW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC5qcy1mb3JtLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgJi5mb3JtLXRleHQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMykgMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDJ2dywgMjJweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC44OHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRVbHRyYSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMnZ3LCAyMnB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjg4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgICAgICAgICAgJi5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAmLmpzLWZvcm0taXRlbS10eXBlIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgJiA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICYuYmVmLWxpbmtzIHtcbiAgICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApICogMikgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZzogMWVtIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKHZhcigtLWZvbnRTbSksIDIuNXZ3LCB2YXIoLS1mb250U2l6ZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZi1saW5rLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA3LjUpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgICAgICAmLmpzLWZvcm0td3JhcHBlciB7XG4gICAgICAgICAgICAgICYuZm9ybS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAmW2RhdGEtZHJ1cGFsLXNlbGVjdG9yPVwiZWRpdC1hY3Rpb25zXCJdIHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICAgICAgICYgPiBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBybS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLXNlYXJjaC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjbGFtcCgxNnB4LCAydncsIDI2cHgpO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjbGFtcCgxNnB4LCAydncsIDI2cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmEtYnRuIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZm9vdGVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMy41cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uby1zZWFyY2gtcmVzdWx0cy13cmFwcGVyIHtcbiAgaDIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucmVzdWx0X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgKiAyKTtcblxuICAgIG9sIHtcbiAgICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIHNpZGViYXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1zaWRlYmFyIHtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBUZWFzZXJzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuIC5vLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXRyYW5zaXRpb24pO1xuICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNjVweCBhdXRvO1xuICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyMDBweCBhdXRvIDFmcjtcbiAgIH1cblxuICAgJi5vLWV2ZW50LWNvbnRlbnQsXG4gICAmLm8tdmVudWUtY29udGVudCxcbiAgICYuby1lYXQtZHJpbmstY29udGVudCxcbiAgICYuby1zdG9yaWVzLXByZXNzLWNvbnRlbnQge1xuICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI2NXB4IGF1dG8gMWZyO1xuICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMjAwcHggYXV0byAxZnI7XG4gICAgIH1cbiAgICAgLm8tdGVhc2VyX19idXR0b25zIHtcbiAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgfVxuICAgfVxuICAgXG4gICAmLm8tdGVhc2VyLWV2ZW50LW1lZ2FtZW51LXRlYXNlciB7XG4gICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTUwcHggYXV0bztcbiAgIH1cbiAgIC5tLWVudGl0eV9feW1hbCAmLFxuICAgLm0tZW50aXR5X19ldmVudHMteWFtbCAmIHtcbiAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxOTBweCBhdXRvO1xuICAgfVxuXG4gICAuYS1ncmlkLS0yICYge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+c21cIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDM4OHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAmOmhvdmVyLFxuICAgJjpmb2N1cyB7XG4gICAgIHBpY3R1cmUge1xuICAgICAgIGltZyB7XG4gICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgfVxuICAgICB9XG4gICB9XG5cbiAgJl9faW5uZXIsXG4gIC5jb2wtMTIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX3RodW1iIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAubS1lbnRpdHlfX3NpZ25wb3N0c19faW5uZXIgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBpY3R1cmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYS1pbWFnZS1jcmVkaXQge1xuICAgICAgbGVmdDogY2FsYyh2YXIoLS1idW1wKSAvIDEuNSk7XG4gICAgfVxuXG4gICAgcGljdHVyZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTE4MHB4IDkxcHggLTEwcHggdmFyKC0tYy1wcmltYXJ5KTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xMDBweCA5MHB4IC0xMHB4IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJiArIHBpY3R1cmUge1xuICAgICAgJiA+IGltZyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMjIwcHggMTMwcHggLTEwcHggIzFiMWIxYjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX192ZW51ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb29rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmX190aW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNSU7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgd2lkdGg6IDNweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWRpYWdvbmFsLWFycm93LnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgN3Z3LCB2YXIoLS1mb250U2l6ZSkpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyA2KTtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19wb3N0LXR5cGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAxMHB4IDA7XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcbiAgICB9XG5cbiAgICAubS1lbnRpdHlfX3NpZ25wb3N0c19faW5uZXIgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvL3BhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogNikgMFxuICAgICAgLy8gIGNhbGModmFyKC0tYnVtcCkgKiAyKTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApICogMik7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvb2spO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYm9keS10ZXh0IHtcbiAgICAuY3RfX3doYXQtcy1vbi1saXN0aW5nICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFVsdHJhKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplTGcpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lSGVpZ2h0TGcpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZUhlaWdodCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgfVxuXG4gICAgLm0tZW50aXR5X19zaWducG9zdHNfX2lubmVyICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLS1jb250YWluZXIge1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgfVxuXG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgICYtLW5vLWJnIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyA0KSAwO1xuICAgIH1cblxuICAgICYtLWZsZXgtc3RhcnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG4iLCIuby1saXN0aW5nIHtcbiAgICAmLXBhZ2Uge1xuICAgICAgICAjcm9vdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxNywgMjE3LCAyMTcsIDAuMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm0tZW50aXR5X195bWFsLFxuICAgICAgICAubS1lbnRpdHlfX2V2ZW50cy15YW1sIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubS1oaWdobGlnaHRzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMHZtYXggI0Y1RjVGNTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMCAtMTAwdm1heCk7XG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIC0xMDB2bWF4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIGdhcDogMjVweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29udGVudC0taXRlbSB7XG4gICAgICAgICAgICAgICAgJjpub3QoJi5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm0tZW50aXR5X195bWFsX193cmFwcGVyLFxuICAgICAgICAubS1lbnRpdHlfX2V2ZW50cy15YW1sX193cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgLm0tZW50aXR5X19hbmltYXRlZC1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uby1yZXN1bHRzLWNvcHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgJl9fY2FsZW5kYXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWJ1bXApO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWxpZ2h0LWJsdWUpO1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gLmEtY29scyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2NvbnRyb2xzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgJi5hLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2luZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuRGF5UGlja2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi13cmFwcGVyIHt9XG5cbiAgICAgICAgICAgICYtTW9udGgge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1Nb250aHMge31cblxuICAgICAgICAgICAgJi1OYXZCYXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLU5hdkJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICYtaG92ZXIge31cblxuICAgICAgICAgICAgICAgICYtLXByZXYsXG4gICAgICAgICAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24tbGVmdC1ibGFjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24tcmlnaHQtYmxhY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWludGVyYWN0aW9uRGlzYWJsZWQge31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1DYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICAgICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtV2Vla2RheSxcbiAgICAgICAgICAgICYtRGF5IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplU21hbGxlc3QpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VWx0cmEpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtV2Vla2RheXMge1xuICAgICAgICAgICAgICAgICZSb3cge31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1EYXkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5zbVwiKSB7XG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm5vdCguRGF5UGlja2VyLURheS0tZGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgICY6bm90KC5EYXlQaWNrZXItRGF5LS1zZWxlY3RlZCksXG4gICAgICAgICAgICAgICAgJjpub3QoLkRheVBpY2tlci1EYXktLW91dHNpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICAmOm5vdCguRGF5UGlja2VyLURheS0tZGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguRGF5UGlja2VyLURheS0tb3V0c2lkZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjaykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1Cb2R5IHtcbiAgICAgICAgICAgICAgICAmLVdlZWsge31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1XZWVrTnVtYmVyIHt9XG5cbiAgICAgICAgICAgICYtLWludGVyYWN0aW9uRGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC5EYXlQaWNrZXItRGF5IHt9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtRm9vdGVyIHt9XG5cbiAgICAgICAgICAgICYtVG9kYXlCdXR0b24ge31cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGljay1saXN0e1xuICAgIHBhZGRpbmc6MCAxMCUgMCAwO1xuXG59XG5cbi5zbGljay10cmFjayB7XG4gICAgLnNsaWNrLXNsaWRlICB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgLm0tYmFubmVyICYge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5vLXRlYXNlcl9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAvL2dhcDogMjBweDtcbiAgICAvL21hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02Mi40NSUpO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tYnVtcCkgLyAzKSAwIDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgcm0tdGV4dDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIHZhcigtLWVhc2luZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmOjptYXJrZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vYmlsZS1zbGlkZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgLlBpbmsgJixcbiAgICAgICAgICAgIC5QdXJwbGUgJixcbiAgICAgICAgICAgIC5CbGFjayAmLFxuICAgICAgICAgICAgLkRhcmtCbHVlICYge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDE5JSkgaHVlLXJvdGF0ZSgzMTZkZWcpIGJyaWdodG5lc3MoMTA2JSkgY29udHJhc3QoMTA2JSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/