/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Font size mobile map.
 */
/**
 * Line height map.
 */
/**
 * Color Map (https://convertacolor.com/).
 */
/**
 * Colors Variables.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: black;
  color: white; }

/**
 * Responsive.
 */
/**
 * Vendor.
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

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

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

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

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

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

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

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

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

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

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

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

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

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
 * Tools.
 */
/**
 * Tools.
 */
/**
 * Unicode.
 *
 * Preserve escaped unicode string.
 * @param {String} $string - An unicode string.
 * @return {String} A preserved escaped unicode string
 */
/**
 * REM.
 *
 * Convert pixel units to REM units.
 * @param {Number} $pixels - Pixel value.
 * @return {*} - A converted `rem` unit.
 */
/**
 * Column.
 *
 * Calculate given column width.
 * @param {Number} $column - The amount of columns to span.
 * @param {Number} $columns - The amount of columns that can be spanned.
 * @return {String} - Percentage value.
 */
/**
 * Color.
 *
 * Get a color value from two levels deep in the `$color` map.
 * @param {$string} $key - Key of the color to get from the map.
 * @param {Number} $value - Value of the key to get from the map.
 * @return {*} A HSLA color value.
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/**
 * Container
 * 
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Font.
 *
 * Adds `rem` unit based font size property, a fallback `px` unit based font size property, and a `em` unit based line height property to any rule.
 * @param {String} $font-size - Pixel unit value.
 * @param {String} $line-height - Pixel unit value.
 * @example @include font-size(16px, 24px);
 */
/**
 * Text.
 *
 * Shorthand for the font mixin, runs the font mixin based on a common demeanour existing both in the `$font-size` and the `$line-height` maps.
 * @param {string} $value - String
 * @example @include text('p');
 */
/**
 * Font Awesome.
 *
 * Add Font Awesome icons as psuedo elements by using their unicode.
 * @param {String} $content - Unicode string.
 * @param {String} $family - Font Awesome font family string.
 * @example @include fontawesome('f100', 'Light');
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
/**
 * Elements.
 */
/**
 * General.
 */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.61111em;
  min-height: 100vh;
  background-color: white;
  color: black;
  font-family: "Raleway";
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

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

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/**
 * Objects.
 */

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 30px;
  border-radius: 5px;
  font-size: 16px;
  text-decoration: none;
  transition: all 250ms ease;
  cursor: pointer; }
  
  .button svg {
    width: 21px;
    height: 20px; }
  
  .button.has-svg-right svg {
    margin-left: 10px; }
  
  .button.has-svg-left svg {
    margin-right: 10px; }

/**
 * Button (primary).
 */

.button--primary {
  background-color: black;
  color: white; }
  
  .button--primary:hover {
    background-color: #1a1a1a; }

.button--link {
  border-bottom: 1px solid;
  border-color: transparent;
  transition: all 300ms ease-in-out;
  width: fit-content;
  opacity: 1; }
  .button--link:hover {
    opacity: 0.8;
    border-color: white; }

/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output p {
  font-weight: 300; }
  .cms-output p:not(:last-child) {
    margin-bottom: 2em; }

.cms-output h2,
.cms-output h3,
.cms-output h4 {
  margin: 20px 0; }

.cms-output h5 {
  margin-bottom: 20px; }

.cms-output img.aligncenter {
  display: block;
  margin: 0 auto; }

.cms-output img.alignright {
  display: block;
  margin: 0 0 0 auto; }

.cms-output table {
  word-break: break-word; }
  .cms-output table td {
    vertical-align: top; }

.cms-output ul,
.cms-output ol {
  list-style-type: square;
  margin-left: 20px;
  margin-bottom: 1em; }
  .cms-output ul li,
  .cms-output ol li {
    margin-bottom: 15px; }

.cms-output ol {
  list-style-type: decimal; }

.cms-output strong {
  font-weight: 500; }

.cms-output a {
  text-decoration: underline;
  color: #679e00;
  transition: all 250ms ease; }
  .cms-output a:hover {
    opacity: 0.5; }

.cms-output blockquote {
  position: relative;
  padding: 40px 45px 20px 45px;
  color: #679e00; }

.cms-output .wp-caption {
  margin-bottom: 20px; }
  .cms-output .wp-caption img {
    border-radius: 10px; }
  .cms-output .wp-caption .wp-caption-text {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
    color: #679e00;
    letter-spacing: 0.44px;
    margin-top: 10px; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: calc(100vh - 75px);
  overflow: hidden;
  margin-top: 75px; }

/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

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

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
			 * Column 1 for the `xs` breakpoint.
			 */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 10px; }

/**
				 * Offset 1 for the `xs` breakpoint.
				 */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
			 * Column 2 for the `xs` breakpoint.
			 */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 10px; }

/**
				 * Offset 2 for the `xs` breakpoint.
				 */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
			 * Column 3 for the `xs` breakpoint.
			 */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 10px; }

/**
				 * Offset 3 for the `xs` breakpoint.
				 */
.offset-xs-3 {
  margin-left: 25%; }

/**
			 * Column 4 for the `xs` breakpoint.
			 */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 10px; }

/**
				 * Offset 4 for the `xs` breakpoint.
				 */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
			 * Column 5 for the `xs` breakpoint.
			 */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 10px; }

/**
				 * Offset 5 for the `xs` breakpoint.
				 */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
			 * Column 6 for the `xs` breakpoint.
			 */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 10px; }

/**
				 * Offset 6 for the `xs` breakpoint.
				 */
.offset-xs-6 {
  margin-left: 50%; }

/**
			 * Column 7 for the `xs` breakpoint.
			 */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 10px; }

/**
				 * Offset 7 for the `xs` breakpoint.
				 */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
			 * Column 8 for the `xs` breakpoint.
			 */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 10px; }

/**
				 * Offset 8 for the `xs` breakpoint.
				 */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
			 * Column 9 for the `xs` breakpoint.
			 */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 10px; }

/**
				 * Offset 9 for the `xs` breakpoint.
				 */
.offset-xs-9 {
  margin-left: 75%; }

/**
			 * Column 10 for the `xs` breakpoint.
			 */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 10px; }

/**
				 * Offset 10 for the `xs` breakpoint.
				 */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
			 * Column 11 for the `xs` breakpoint.
			 */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 10px; }

/**
				 * Offset 11 for the `xs` breakpoint.
				 */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
			 * Column 12 for the `xs` breakpoint.
			 */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 10px; }

/**
			 * Align `stretch` for the xs breakpoint.
			 */
.align-xs-stretch {
  align-items: stretch; }

/**
			 * Align `center` for the xs breakpoint.
			 */
.align-xs-center {
  align-items: center; }

/**
			 * Align `flex-start` for the xs breakpoint.
			 */
.align-xs-flex-start {
  align-items: flex-start; }

/**
			 * Align `flex-end` for the xs breakpoint.
			 */
.align-xs-flex-end {
  align-items: flex-end; }

/**
			 * Align `baseline` for the xs breakpoint.
			 */
.align-xs-baseline {
  align-items: baseline; }

/**
			 * Justify `start` for the xs breakpoint.
			 */
.justify-xs-start {
  justify-content: start; }

/**
			 * Justify `center` for the xs breakpoint.
			 */
.justify-xs-center {
  justify-content: center; }

/**
			 * Justify `space-between` for the xs breakpoint.
			 */
.justify-xs-space-between {
  justify-content: space-between; }

/**
			 * Justify `space-around` for the xs breakpoint.
			 */
.justify-xs-space-around {
  justify-content: space-around; }

/**
			 * Justify `space-evenly` for the xs breakpoint.
			 */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
			 * Bleed left for the xs breakpoint.
			 */
.bleed-xs-left {
  padding-left: 0; }

/**
			 * Bleed right for the xs breakpoint.
			 */
.bleed-xs-right {
  padding-right: 0; }

/**
		 * Order first for the `xs` breakpoint.
		 */
.first-xs {
  order: -1; }

/**
		 * Order last for the `xs` breakpoint.
		 */
.last-xs {
  order: 1; }

/**
		 * Reverse order for the `xs` breakpoint.
		 */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
			 * Column 1 for the `sm` breakpoint.
			 */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `sm` breakpoint.
				 */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `sm` breakpoint.
			 */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `sm` breakpoint.
				 */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `sm` breakpoint.
			 */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `sm` breakpoint.
				 */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `sm` breakpoint.
			 */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `sm` breakpoint.
				 */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `sm` breakpoint.
			 */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `sm` breakpoint.
				 */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `sm` breakpoint.
			 */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `sm` breakpoint.
				 */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `sm` breakpoint.
			 */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `sm` breakpoint.
				 */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `sm` breakpoint.
			 */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `sm` breakpoint.
				 */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `sm` breakpoint.
			 */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `sm` breakpoint.
				 */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `sm` breakpoint.
			 */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `sm` breakpoint.
				 */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `sm` breakpoint.
			 */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `sm` breakpoint.
				 */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `sm` breakpoint.
			 */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the sm breakpoint.
			 */
  .align-sm-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the sm breakpoint.
			 */
  .align-sm-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the sm breakpoint.
			 */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the sm breakpoint.
			 */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the sm breakpoint.
			 */
  .align-sm-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the sm breakpoint.
			 */
  .justify-sm-start {
    justify-content: start; }
  /**
			 * Justify `center` for the sm breakpoint.
			 */
  .justify-sm-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the sm breakpoint.
			 */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the sm breakpoint.
			 */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the sm breakpoint.
			 */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the sm breakpoint.
			 */
  .bleed-sm-left {
    padding-left: 0; }
  /**
			 * Bleed right for the sm breakpoint.
			 */
  .bleed-sm-right {
    padding-right: 0; }
  /**
		 * Order first for the `sm` breakpoint.
		 */
  .first-sm {
    order: -1; }
  /**
		 * Order last for the `sm` breakpoint.
		 */
  .last-sm {
    order: 1; }
  /**
		 * Reverse order for the `sm` breakpoint.
		 */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
			 * Column 1 for the `md` breakpoint.
			 */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `md` breakpoint.
				 */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `md` breakpoint.
			 */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `md` breakpoint.
				 */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `md` breakpoint.
			 */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `md` breakpoint.
				 */
  .offset-md-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `md` breakpoint.
			 */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `md` breakpoint.
				 */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `md` breakpoint.
			 */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `md` breakpoint.
				 */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `md` breakpoint.
			 */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `md` breakpoint.
				 */
  .offset-md-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `md` breakpoint.
			 */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `md` breakpoint.
				 */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `md` breakpoint.
			 */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `md` breakpoint.
				 */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `md` breakpoint.
			 */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `md` breakpoint.
				 */
  .offset-md-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `md` breakpoint.
			 */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `md` breakpoint.
				 */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `md` breakpoint.
			 */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `md` breakpoint.
				 */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `md` breakpoint.
			 */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the md breakpoint.
			 */
  .align-md-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the md breakpoint.
			 */
  .align-md-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the md breakpoint.
			 */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the md breakpoint.
			 */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the md breakpoint.
			 */
  .align-md-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the md breakpoint.
			 */
  .justify-md-start {
    justify-content: start; }
  /**
			 * Justify `center` for the md breakpoint.
			 */
  .justify-md-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the md breakpoint.
			 */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the md breakpoint.
			 */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the md breakpoint.
			 */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the md breakpoint.
			 */
  .bleed-md-left {
    padding-left: 0; }
  /**
			 * Bleed right for the md breakpoint.
			 */
  .bleed-md-right {
    padding-right: 0; }
  /**
		 * Order first for the `md` breakpoint.
		 */
  .first-md {
    order: -1; }
  /**
		 * Order last for the `md` breakpoint.
		 */
  .last-md {
    order: 1; }
  /**
		 * Reverse order for the `md` breakpoint.
		 */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
			 * Column 1 for the `lg` breakpoint.
			 */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `lg` breakpoint.
				 */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `lg` breakpoint.
			 */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `lg` breakpoint.
				 */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `lg` breakpoint.
			 */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `lg` breakpoint.
				 */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `lg` breakpoint.
			 */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `lg` breakpoint.
				 */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `lg` breakpoint.
			 */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `lg` breakpoint.
				 */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `lg` breakpoint.
			 */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `lg` breakpoint.
				 */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `lg` breakpoint.
			 */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `lg` breakpoint.
				 */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `lg` breakpoint.
			 */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `lg` breakpoint.
				 */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `lg` breakpoint.
			 */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `lg` breakpoint.
				 */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `lg` breakpoint.
			 */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `lg` breakpoint.
				 */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `lg` breakpoint.
			 */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `lg` breakpoint.
				 */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `lg` breakpoint.
			 */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the lg breakpoint.
			 */
  .align-lg-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the lg breakpoint.
			 */
  .align-lg-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the lg breakpoint.
			 */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the lg breakpoint.
			 */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the lg breakpoint.
			 */
  .align-lg-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the lg breakpoint.
			 */
  .justify-lg-start {
    justify-content: start; }
  /**
			 * Justify `center` for the lg breakpoint.
			 */
  .justify-lg-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the lg breakpoint.
			 */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the lg breakpoint.
			 */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the lg breakpoint.
			 */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the lg breakpoint.
			 */
  .bleed-lg-left {
    padding-left: 0; }
  /**
			 * Bleed right for the lg breakpoint.
			 */
  .bleed-lg-right {
    padding-right: 0; }
  /**
		 * Order first for the `lg` breakpoint.
		 */
  .first-lg {
    order: -1; }
  /**
		 * Order last for the `lg` breakpoint.
		 */
  .last-lg {
    order: 1; }
  /**
		 * Reverse order for the `lg` breakpoint.
		 */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
			 * Column 1 for the `xl` breakpoint.
			 */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `xl` breakpoint.
				 */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `xl` breakpoint.
			 */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `xl` breakpoint.
				 */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `xl` breakpoint.
			 */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `xl` breakpoint.
				 */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `xl` breakpoint.
			 */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `xl` breakpoint.
				 */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `xl` breakpoint.
			 */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `xl` breakpoint.
				 */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `xl` breakpoint.
			 */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `xl` breakpoint.
				 */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `xl` breakpoint.
			 */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `xl` breakpoint.
				 */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `xl` breakpoint.
			 */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `xl` breakpoint.
				 */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `xl` breakpoint.
			 */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `xl` breakpoint.
				 */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `xl` breakpoint.
			 */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `xl` breakpoint.
				 */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `xl` breakpoint.
			 */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `xl` breakpoint.
				 */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `xl` breakpoint.
			 */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the xl breakpoint.
			 */
  .align-xl-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the xl breakpoint.
			 */
  .align-xl-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the xl breakpoint.
			 */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the xl breakpoint.
			 */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the xl breakpoint.
			 */
  .align-xl-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the xl breakpoint.
			 */
  .justify-xl-start {
    justify-content: start; }
  /**
			 * Justify `center` for the xl breakpoint.
			 */
  .justify-xl-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the xl breakpoint.
			 */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the xl breakpoint.
			 */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the xl breakpoint.
			 */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the xl breakpoint.
			 */
  .bleed-xl-left {
    padding-left: 0; }
  /**
			 * Bleed right for the xl breakpoint.
			 */
  .bleed-xl-right {
    padding-right: 0; }
  /**
		 * Order first for the `xl` breakpoint.
		 */
  .first-xl {
    order: -1; }
  /**
		 * Order last for the `xl` breakpoint.
		 */
  .last-xl {
    order: 1; }
  /**
		 * Reverse order for the `xl` breakpoint.
		 */
  .reverse-xl {
    flex-direction: row-reverse; } }

/**
 * Default fields.
 */
label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
  color: black;
  font-weight: 300;
  font-weight: 18px; }


select,
input,
textarea {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em;
  width: 100%;
  height: 42px;
  border-radius: 5px;
  padding: 15px;
  background-color: white;
  font-weight: 500;
  border: 1px solid #c6c6c6;
  color: black; }
  
  select:focus,
  input:focus,
  textarea:focus {
    background-color: white; }

textarea {
  height: 230px;
  padding-top: 15px; }

.g-field-33 {
  width: calc(33% - 17px) !important; }
  @media only screen and (max-width: 899px) {
    .g-field-33 {
      width: 100% !important; } }

.gfield {
  width: 100%; }

.gform_fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px; }
  @media only screen and (max-width: 1199px) {
    .gform_fields {
      gap: 0 15px; } }

.gfield_required {
  opacity: 0.7;
  font-size: 15px;
  margin-left: 3px; }

.gfield_checkbox .gchoice {
  display: flex;
  align-items: center; }
  .gfield_checkbox .gchoice label {
    margin: 0;
    margin-left: 10px; }

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid black; }
  .ginput_container_select svg {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 9px;
    height: 13px;
    z-index: 1; }
  .ginput_container_select select {
    position: relative;
    width: calc(100% + 50px);
    max-width: none;
    margin: -2px;
    background-color: transparent;
    border: 0;
    z-index: 2; }

input[type='radio'],
input[type='checkbox'] {
  width: 15px;
  height: 15px;
  border: 2px solid black;
  border-radius: 2px;
  background-color: white;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: black; }

input[type='radio'] {
  border-radius: 20px; }

/**
 * Gravity Forms.
 */
.gfield {
  margin-bottom: 25px; }

.gform_validation_container {
  display: none; }

.hidden_label > label {
  display: none; }

.gform_footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286em;
  margin-top: 5px;
  border-radius: 8px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  width: 100%;
  color: red;
  background-color: rgba(255, 0, 0, 0.1); }
  .validation_message > svg {
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-top: -2px; }


.validation_error {
  display: none;
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: rgba(255, 0, 0, 0.1);
  color: red; }
  
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: red; }
  
  .validation_error .close-button {
    position: absolute;
    top: 5px;
    right: 5px;
    cursor: pointer; }
    
    .validation_error .close-button svg {
      width: 16px;
      height: 16px;
      color: black; }

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: red; }
  .gform_confirmation_message br {
    display: none; }
  .gform_confirmation_message h4 {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .gform_confirmation_message h4 svg {
      width: 28px;
      height: 28px;
      margin-right: 20px;
      border-radius: 20px;
      background-color: white;
      padding: 5px;
      color: black; }

/**
 * Heading.
 */
h1,
h2,
h3,
h4 {
  font-family: "Raleway";
  font-weight: 500; }

/**
  * Heading 1.
  */
h1,
.heading-1 {
  font-size: 48px;
  line-height: 1.3; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 40px;
      line-height: 1.3; } }

/**
  * Heading 2.
  */
h2,
.heading-2 {
  font-size: 36px;
  line-height: 1.3; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 24px;
      line-height: 1.3; } }

/**
  * Heading 3.
  */
h3,
.heading-3 {
  font-size: 24px;
  line-height: 1.3; }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 18px;
      line-height: 1.3; } }

/**
  * Heading 3.
  */
h4 {
  font-size: 24px;
  line-height: 1.3; }
  @media only screen and (max-width: 899px) {
    h4 {
      font-size: 16px;
      line-height: 1.3; } }

/**
  * Heading 3.
  */
h5 {
  font-size: 24px;
  line-height: 1.3; }
  @media only screen and (max-width: 899px) {
    h5 {
      font-size: 16px;
      line-height: 1.3; } }

/**
  * Subheading.
  */
p {
  font-size: 18px;
  line-height: 160%; }
  @media only screen and (max-width: 899px) {
    p {
      font-size: 16px;
      line-height: 160%; } }

.has-lazy-load {
  position: relative;
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0; }
  .has-lazy-load.header {
    transition-delay: 750ms;
    transition: all 500ms ease; }

.has-lazy-load[loaded='true'] {
  opacity: 1; }

.pagination {
  width: 100%;
  margin-bottom: 150px; }
  .pagination .wrapper {
    justify-content: center; }
  .pagination .page-numbers {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.22222em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    transition: all 250ms ease;
    color: black;
    font-weight: 300; }
    .pagination .page-numbers:hover, .pagination .page-numbers.current {
      color: #679e00; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      margin-right: 15px; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        position: relative;
        top: 0;
        width: 16px;
        height: 16px;
        color: black;
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
        color: red; }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }

/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1290px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper {
      max-width: calc(1290px + 120px);
      padding: 0 60px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper {
      max-width: calc(1290px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (small)
 */
.wrapper--small {
  max-width: calc(730px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper--small {
      max-width: calc(730px + 120px);
      padding: 0 60px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper--small {
      max-width: calc(730px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/* raleway-100 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/raleway-v26-latin-100.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-100.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-100.woff2") format("woff2"), url("../fonts/raleway-v26-latin-100.woff") format("woff"), url("../fonts/raleway-v26-latin-100.ttf") format("truetype"), url("../fonts/raleway-v26-latin-100.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-200 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/raleway-v26-latin-200.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-200.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-200.woff2") format("woff2"), url("../fonts/raleway-v26-latin-200.woff") format("woff"), url("../fonts/raleway-v26-latin-200.ttf") format("truetype"), url("../fonts/raleway-v26-latin-200.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-300 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/raleway-v26-latin-300.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-300.woff2") format("woff2"), url("../fonts/raleway-v26-latin-300.woff") format("woff"), url("../fonts/raleway-v26-latin-300.ttf") format("truetype"), url("../fonts/raleway-v26-latin-300.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-regular - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/raleway-v26-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-regular.woff2") format("woff2"), url("../fonts/raleway-v26-latin-regular.woff") format("woff"), url("../fonts/raleway-v26-latin-regular.ttf") format("truetype"), url("../fonts/raleway-v26-latin-regular.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-500 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/raleway-v26-latin-500.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-500.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-500.woff2") format("woff2"), url("../fonts/raleway-v26-latin-500.woff") format("woff"), url("../fonts/raleway-v26-latin-500.ttf") format("truetype"), url("../fonts/raleway-v26-latin-500.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-600 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/raleway-v26-latin-600.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-600.woff2") format("woff2"), url("../fonts/raleway-v26-latin-600.woff") format("woff"), url("../fonts/raleway-v26-latin-600.ttf") format("truetype"), url("../fonts/raleway-v26-latin-600.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-700 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/raleway-v26-latin-700.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-700.woff2") format("woff2"), url("../fonts/raleway-v26-latin-700.woff") format("woff"), url("../fonts/raleway-v26-latin-700.ttf") format("truetype"), url("../fonts/raleway-v26-latin-700.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-800 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/raleway-v26-latin-800.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-800.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-800.woff2") format("woff2"), url("../fonts/raleway-v26-latin-800.woff") format("woff"), url("../fonts/raleway-v26-latin-800.ttf") format("truetype"), url("../fonts/raleway-v26-latin-800.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-900 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/raleway-v26-latin-900.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-900.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-900.woff2") format("woff2"), url("../fonts/raleway-v26-latin-900.woff") format("woff"), url("../fonts/raleway-v26-latin-900.ttf") format("truetype"), url("../fonts/raleway-v26-latin-900.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-100italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 100;
  src: url("../fonts/raleway-v26-latin-100italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-100italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-100italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-100italic.woff") format("woff"), url("../fonts/raleway-v26-latin-100italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-100italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-200italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 200;
  src: url("../fonts/raleway-v26-latin-200italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-200italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-200italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-200italic.woff") format("woff"), url("../fonts/raleway-v26-latin-200italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-200italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-300italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/raleway-v26-latin-300italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-300italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-300italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-300italic.woff") format("woff"), url("../fonts/raleway-v26-latin-300italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-300italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/raleway-v26-latin-italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-italic.woff") format("woff"), url("../fonts/raleway-v26-latin-italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-500italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/raleway-v26-latin-500italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-500italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-500italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-500italic.woff") format("woff"), url("../fonts/raleway-v26-latin-500italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-500italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-600italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/raleway-v26-latin-600italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-600italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-600italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-600italic.woff") format("woff"), url("../fonts/raleway-v26-latin-600italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-600italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-700italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/raleway-v26-latin-700italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-700italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-700italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-700italic.woff") format("woff"), url("../fonts/raleway-v26-latin-700italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-700italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-800italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 800;
  src: url("../fonts/raleway-v26-latin-800italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-800italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-800italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-800italic.woff") format("woff"), url("../fonts/raleway-v26-latin-800italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-800italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/* raleway-900italic - latin */
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 900;
  src: url("../fonts/raleway-v26-latin-900italic.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/raleway-v26-latin-900italic.eot?#iefix") format("embedded-opentype"), url("../fonts/raleway-v26-latin-900italic.woff2") format("woff2"), url("../fonts/raleway-v26-latin-900italic.woff") format("woff"), url("../fonts/raleway-v26-latin-900italic.ttf") format("truetype"), url("../fonts/raleway-v26-latin-900italic.svg#Raleway") format("svg");
  /* Legacy iOS */ }

/**
 * Components.
 */
.content-default {
  margin-bottom: 80px; }

.content-default__title {
  font-weight: 300;
  padding: 60px 0;
  margin-bottom: 30px; }
  @media only screen and (max-width: 899px) {
    .content-default__title {
      padding: 40px 0; } }

.content-default__editor h3 {
  padding-top: 40px;
  margin-top: 40px;
  border-top: 1px solid rgba(102, 102, 102, 0.1); }

.footer {
  padding-top: 85px;
  color: white;
  background-color: #679e00; }

.footer__bottom {
  font-size: 14px;
  padding: 20px;
  padding-top: 85px; }

.footer__copyright {
  opacity: 0.8;
  display: flex;
  justify-content: center; }
  @media only screen and (max-width: 899px) {
    .footer__copyright {
      display: block; } }
  .footer__copyright a {
    margin-left: 5px; }
    .footer__copyright a:hover {
      text-decoration: underline; }

.footer__top-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 35px; }
  .footer__top-socials a {
    display: flex;
    align-items: center; }
    .footer__top-socials a svg {
      height: 16px;
      width: 16px;
      fill: white;
      transition: all 0.3s ease-in-out; }
    .footer__top-socials a:hover svg {
      opacity: 0.5; }
    .footer__top-socials a.is-whatsapp svg {
      height: 21px;
      width: 21px; }

.footer__top-links {
  display: flex;
  justify-content: center;
  margin-top: 50px; }
  @media only screen and (max-width: 899px) {
    .footer__top-links {
      display: block;
      text-align: center; } }
  .footer__top-links a {
    padding: 5px 10px;
    text-decoration: underline;
    font-size: 16px;
    transition: all 0.3s ease-in-out; }
    @media only screen and (max-width: 899px) {
      .footer__top-links a {
        display: block; } }
    .footer__top-links a:hover {
      opacity: 0.7; }

.footer__top-logos {
  margin-top: 30px;
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 0 40px; }

.footer__top-logo img {
  max-height: 140px;
  height: 100%;
  width: 100%;
  max-width: 180px; }

.header {
  padding: 0 40px;
  height: 75px;
  width: 100%;
  position: fixed;
  top: 0;
  background-color: white;
  z-index: 1000; }
  @media only screen and (max-width: 899px) {
    .header {
      padding: 0 20px; } }
  .header .flex {
    align-items: center;
    justify-content: space-between;
    height: 100%;
    width: 100%; }

.header__logo {
  height: 45px;
  width: auto;
  display: flex;
  align-items: center; }
  .header__logo img {
    width: auto;
    height: 100%; }
  .header__logo span {
    margin-left: 10px;
    font-size: 14px; }
    @media only screen and (max-width: 599px) {
      .header__logo span {
        display: none; } }

.header__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0 40px; }
  @media only screen and (max-width: 1199px) {
    .header__menu {
      display: none; } }
  .header__menu .menu-item {
    position: relative;
    color: #666666; }
    .header__menu .menu-item::after {
      content: '';
      position: absolute;
      bottom: 0px;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #666666;
      transform: translateY(100%, 4px);
      opacity: 0;
      transition: all .2s; }
    .header__menu .menu-item:hover::after, .header__menu .menu-item.current-menu-item::after {
      transform: translateY(100%);
      opacity: 1; }

.navigation-mobile {
  position: fixed;
  left: 200vh;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: calc(100% - 100px);
  margin-top: 100px;
  transition: all 500ms ease;
  background: white;
  opacity: 0;
  pointer-events: none;
  z-index: 999;
  overflow-x: hidden; }
  @media only screen and (max-width: 1199px) {
    .navigation-mobile {
      height: calc(100% - 80px);
      margin-top: 75px;
      opacity: 1;
      pointer-events: all; } }
  .navigation-mobile.is-active {
    left: 0;
    opacity: 1; }
  .navigation-mobile::-webkit-scrollbar {
    display: none; }
  .navigation-mobile .wrapper {
    height: 100%; }

/**
 * Main menu.
 */
.navigation-mobile__main {
  padding: 10px 0; }
  .navigation-mobile__main > li {
    position: relative; }
    .navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
      color: black;
      position: relative;
      width: fit-content; }
      .navigation-mobile__main > li.current_page_ancestor > a::after, .navigation-mobile__main > li.current-menu-item > a::after {
        content: '';
        width: 100%;
        height: 2px;
        background-color: black;
        position: absolute;
        bottom: 15px;
        left: 0; }
    .navigation-mobile__main > li.is-active > a {
      color: black; }
      .navigation-mobile__main > li.is-active > a > span svg {
        transform: rotate(-90deg); }
    .navigation-mobile__main > li > a {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.2em;
      display: block;
      position: relative;
      width: 100%;
      font-weight: 300;
      padding: 22px 0;
      color: black; }
      .navigation-mobile__main > li > a > span {
        padding: 0 20px 0 5px;
        cursor: pointer; }
        .navigation-mobile__main > li > a > span svg {
          position: absolute;
          top: calc(50% - 8px);
          right: 0;
          width: 18px;
          height: 18px;
          margin-left: 5px;
          transition: all 500ms ease;
          color: black; }
    .navigation-mobile__main > li .submenu-container {
      display: none;
      position: relative;
      margin-top: 10px;
      padding-top: 20px; }
      .navigation-mobile__main > li .submenu-container li a {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.28571em;
        position: relative;
        display: block;
        margin-bottom: 10px;
        font-weight: 600;
        color: black; }
      .navigation-mobile__main > li .submenu-container li.current_page_ancestor > a, .navigation-mobile__main > li .submenu-container li.current-menu-item > a {
        color: black; }
      .navigation-mobile__main > li .submenu-container li.is-active > a {
        color: black; }

/**
 * Disable scroll.
 */
body.is-active {
  overflow: hidden; }
  body.is-active .header::before {
    bottom: 0; }

.header__menu-button {
  display: none; }
  @media only screen and (max-width: 1199px) {
    .header__menu-button {
      display: block;
      position: relative;
      width: 16px;
      height: 14px;
      z-index: 100; }
      .header__menu-button span {
        display: inline-block;
        position: absolute;
        right: 0;
        left: 0;
        width: 16px;
        height: 2px;
        border-radius: 1px;
        margin: auto;
        background-color: black; }
        .header__menu-button span:nth-child(1) {
          top: 0;
          transition: background-color 400ms, top 400ms 400ms, transform 400ms 0s; }
        .header__menu-button span:nth-child(2) {
          top: calc(50% - 1px);
          transition: background-color 400ms, opacity 0ms 400ms;
          background-color: black;
          opacity: 1; }
        .header__menu-button span:nth-child(3) {
          bottom: 0;
          transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
          background-color: black; }
      .header__menu-button.is-active span:nth-child(1) {
        top: calc(50% - 1px);
        transform: rotate(-45deg);
        transition: background-color 400ms, top 400ms, transform 400ms 400ms; }
      .header__menu-button.is-active span:nth-child(2) {
        opacity: 0; }
      .header__menu-button.is-active span:nth-child(3) {
        bottom: calc(50% - 1px);
        transform: rotate(45deg);
        transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; } }

.news-list, .news-latest {
  margin: 50px 0; }

.news-list__title, .news-latest__title {
  font-weight: 300;
  margin-bottom: 30px; }

.news-list__wrap, .news-latest__wrap {
  gap: 40px; }
  @media only screen and (max-width: 899px) {
    .news-list__wrap, .news-latest__wrap {
      gap: 20px 0; } }
  .news-list__wrap .news-item, .news-latest__wrap .news-item {
    width: calc(33% - 24px);
    background-color: #b1beb5; }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-item, .news-latest__wrap .news-item {
        width: 100%; } }
  .news-list__wrap .news-item__image, .news-latest__wrap .news-item__image {
    height: 230px;
    width: 100%; }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-item__image, .news-latest__wrap .news-item__image {
        height: 150px; } }
    .news-list__wrap .news-item__image img, .news-latest__wrap .news-item__image img {
      height: 230px;
      width: 100%;
      object-fit: cover; }
      @media only screen and (max-width: 899px) {
        .news-list__wrap .news-item__image img, .news-latest__wrap .news-item__image img {
          height: 150px; } }
  .news-list__wrap .news-item__body, .news-latest__wrap .news-item__body {
    padding: 20px;
    color: white;
    height: calc(100% - 230px);
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-item__body, .news-latest__wrap .news-item__body {
        height: calc(100% - 150px); } }
  .news-list__wrap .news-item__title, .news-latest__wrap .news-item__title {
    margin-bottom: 10px;
    height: fit-content; }
  .news-list__wrap .news-item__teaser, .news-latest__wrap .news-item__teaser {
    margin-bottom: 20px;
    height: fit-content; }
    .news-list__wrap .news-item__teaser p, .news-latest__wrap .news-item__teaser p {
      font-size: 16px; }
  .news-list__wrap .news-item__more, .news-latest__wrap .news-item__more {
    margin-top: auto;
    display: flex;
    align-items: center; }
    .news-list__wrap .news-item__more svg, .news-latest__wrap .news-item__more svg {
      transition: all 300ms ease-in-out;
      height: 20px;
      width: 20px;
      fill: white;
      margin-left: 10px; }
    .news-list__wrap .news-item__more:hover svg, .news-latest__wrap .news-item__more:hover svg {
      margin-left: 15px; }

.news-single {
  margin-bottom: 80px; }

.news-single__image img {
  width: 100%;
  height: 500px;
  object-fit: cover; }
  @media only screen and (max-width: 899px) {
    .news-single__image img {
      height: 300px; } }

.news-single__title {
  font-weight: 300;
  padding: 60px 0;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(102, 102, 102, 0.1); }
  @media only screen and (max-width: 899px) {
    .news-single__title {
      padding: 40px 0; } }

.news-single__back {
  margin-top: 50px;
  display: flex;
  align-items: center;
  transition: all 0.3s ease-in-out; }
  .news-single__back svg {
    position: relative;
    height: 20px;
    width: 20px;
    margin-right: 20px;
    left: 0;
    transition: all 0.3s ease-in-out; }
  .news-single__back:hover {
    opacity: 0.8; }
    .news-single__back:hover svg {
      left: -5px; }

.text-image {
  min-height: calc(100vh - 75px);
  height: 100%;
  display: flex;
  flex-wrap: wrap; }
  .text-image.position--right .text-image__image {
    order: 2; }
  .text-image.position--right .text-image__body {
    order: 1; }
  .text-image.background-color--gray {
    background-color: #b1beb5;
    color: white; }
    .text-image.background-color--gray .button {
      background-color: white;
      color: black; }

.text-image__image {
  width: 50%;
  height: auto;
  display: block; }
  @media only screen and (max-width: 899px) {
    .text-image__image {
      width: 100%; } }
  .text-image__image img {
    height: 100%;
    width: 100%;
    object-fit: cover; }
    @media only screen and (max-width: 899px) {
      .text-image__image img {
        max-height: 300px; } }

.text-image__body {
  width: 50%;
  height: auto;
  display: flex;
  align-items: center;
  position: relative; }
  @media only screen and (max-width: 899px) {
    .text-image__body {
      width: 100%; } }

.text-image__body-wrapper {
  max-width: 840px;
  padding: 60px; }
  @media only screen and (max-width: 1199px) {
    .text-image__body-wrapper {
      padding: 20px; } }

.text-image__body-title {
  margin-bottom: 20px; }

.text-title__body-link {
  margin-top: 45px; }

.text-image__anchor {
  position: absolute;
  bottom: 10px;
  left: 60px;
  transition: all 0.3s ease-in-out; }
  @media only screen and (max-width: 899px) {
    .text-image__anchor {
      display: none; } }
  .text-image__anchor svg {
    height: 26px;
    width: 26px; }
  .text-image__anchor:hover {
    opacity: 0.5; }

.content-rows {
  padding-top: 80px; }

.content-rows__wrapper {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .content-rows__wrapper.has-1-rows .content-row {
    width: 100%; }
  .content-rows__wrapper.has-2-rows {
    gap: 0 30px; }
    @media only screen and (max-width: 1199px) {
      .content-rows__wrapper.has-2-rows {
        gap: 30px 0; } }
    .content-rows__wrapper.has-2-rows .content-row {
      width: calc(50% - 15px); }
      @media only screen and (max-width: 1199px) {
        .content-rows__wrapper.has-2-rows .content-row {
          width: 100%; } }
  .content-rows__wrapper.has-3-rows {
    gap: 0 30px; }
    @media only screen and (max-width: 1199px) {
      .content-rows__wrapper.has-3-rows {
        gap: 30px 0; } }
    .content-rows__wrapper.has-3-rows .content-row {
      width: calc(33% - 15px); }
      @media only screen and (max-width: 1199px) {
        .content-rows__wrapper.has-3-rows .content-row {
          width: 100%; } }

.content-row {
  background-color: #b1beb5;
  color: white; }

.content-row__image img {
  height: 480px;
  width: 100%;
  object-fit: cover; }
  @media only screen and (max-width: 1199px) {
    .content-row__image img {
      height: 300px; } }

.content-row__body {
  padding: 30px; }

.content-row__title {
  margin-bottom: 20px; }

.cta {
  margin-top: 160px;
  margin-bottom: 80px; }
  .cta .wrapper {
    align-items: center; }

.cta-body {
  width: 40%; }
  @media only screen and (max-width: 899px) {
    .cta-body {
      width: 100%; } }

.cta-image {
  width: 60%;
  max-height: 600px;
  display: flex;
  justify-content: flex-end; }
  @media only screen and (max-width: 899px) {
    .cta-image {
      width: 100%;
      max-width: 100%; } }

.cta-image__image img {
  height: 600px; }
  @media only screen and (max-width: 899px) {
    .cta-image__image img {
      height: 300px;
      object-fit: contain;
      margin-top: 40px; } }

.cta-body__title {
  font-weight: 300;
  margin-bottom: 20px; }

.cta-body__link {
  margin-top: 40px; }

.contact {
  margin-top: 120px;
  margin-bottom: 80px; }

.contact__title {
  font-weight: 300;
  margin-bottom: 60px; }

.contact-information {
  display: flex;
  flex-wrap: wrap;
  gap: 0 50px;
  margin-bottom: 80px; }
  @media only screen and (max-width: 899px) {
    .contact-information {
      gap: 90px 0; } }
  .contact-information.has-3-rows .contact-information-row {
    width: calc(33% - 31px); }
    @media only screen and (max-width: 899px) {
      .contact-information.has-3-rows .contact-information-row {
        width: 100%; } }
  .contact-information.has-2-rows .contact-information-row {
    width: calc(50% - 30px); }
    @media only screen and (max-width: 899px) {
      .contact-information.has-2-rows .contact-information-row {
        width: 100%; } }
  .contact-information.has-1-rows .contact-information-row {
    width: 100%; }

.contact-information-row__title {
  font-weight: 300;
  margin-bottom: 20px; }

.contact__location {
  margin-top: 50px; }
  .contact__location iframe {
    width: 100%;
    height: 200px; }

.logos {
  padding-top: 50px;
  padding-bottom: 50px;
  display: flex; }
  .logos .wrapper {
    width: 100%;
    gap: 0 40px;
    justify-content: center;
    align-items: center; }

.logos .logo img {
  max-height: 60px;
  height: 100%;
  width: 100%;
  max-width: 80px; }

/**
 * Utilities.
 */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
			 * `color` black-100 color utility.
			 */
.color-black-100 {
  color: black; }

/**
			 * `background-color` black-100 color utility.
			 */
.background-color-black-100 {
  background-color: black; }

/**
			 * `color` #666666-100 color utility.
			 */
.color-gray-100 {
  color: #666666; }

/**
			 * `background-color` #666666-100 color utility.
			 */
.background-color-gray-100 {
  background-color: #666666; }

/**
			 * `color` rgba(102, 102, 102, 0.9)-90 color utility.
			 */
.color-gray-90 {
  color: rgba(102, 102, 102, 0.9); }

/**
			 * `background-color` rgba(102, 102, 102, 0.9)-90 color utility.
			 */
.background-color-gray-90 {
  background-color: rgba(102, 102, 102, 0.9); }

/**
			 * `color` rgba(102, 102, 102, 0.8)-80 color utility.
			 */
.color-gray-80 {
  color: rgba(102, 102, 102, 0.8); }

/**
			 * `background-color` rgba(102, 102, 102, 0.8)-80 color utility.
			 */
.background-color-gray-80 {
  background-color: rgba(102, 102, 102, 0.8); }

/**
			 * `color` rgba(102, 102, 102, 0.7)-70 color utility.
			 */
.color-gray-70 {
  color: rgba(102, 102, 102, 0.7); }

/**
			 * `background-color` rgba(102, 102, 102, 0.7)-70 color utility.
			 */
.background-color-gray-70 {
  background-color: rgba(102, 102, 102, 0.7); }

/**
			 * `color` rgba(102, 102, 102, 0.6)-60 color utility.
			 */
.color-gray-60 {
  color: rgba(102, 102, 102, 0.6); }

/**
			 * `background-color` rgba(102, 102, 102, 0.6)-60 color utility.
			 */
.background-color-gray-60 {
  background-color: rgba(102, 102, 102, 0.6); }

/**
			 * `color` rgba(102, 102, 102, 0.5)-50 color utility.
			 */
.color-gray-50 {
  color: rgba(102, 102, 102, 0.5); }

/**
			 * `background-color` rgba(102, 102, 102, 0.5)-50 color utility.
			 */
.background-color-gray-50 {
  background-color: rgba(102, 102, 102, 0.5); }

/**
			 * `color` rgba(102, 102, 102, 0.4)-40 color utility.
			 */
.color-gray-40 {
  color: rgba(102, 102, 102, 0.4); }

/**
			 * `background-color` rgba(102, 102, 102, 0.4)-40 color utility.
			 */
.background-color-gray-40 {
  background-color: rgba(102, 102, 102, 0.4); }

/**
			 * `color` rgba(102, 102, 102, 0.3)-30 color utility.
			 */
.color-gray-30 {
  color: rgba(102, 102, 102, 0.3); }

/**
			 * `background-color` rgba(102, 102, 102, 0.3)-30 color utility.
			 */
.background-color-gray-30 {
  background-color: rgba(102, 102, 102, 0.3); }

/**
			 * `color` rgba(102, 102, 102, 0.2)-20 color utility.
			 */
.color-gray-20 {
  color: rgba(102, 102, 102, 0.2); }

/**
			 * `background-color` rgba(102, 102, 102, 0.2)-20 color utility.
			 */
.background-color-gray-20 {
  background-color: rgba(102, 102, 102, 0.2); }

/**
			 * `color` rgba(102, 102, 102, 0.1)-10 color utility.
			 */
.color-gray-10 {
  color: rgba(102, 102, 102, 0.1); }

/**
			 * `background-color` rgba(102, 102, 102, 0.1)-10 color utility.
			 */
.background-color-gray-10 {
  background-color: rgba(102, 102, 102, 0.1); }

/**
			 * `color` white-100 color utility.
			 */
.color-white-100 {
  color: white; }

/**
			 * `background-color` white-100 color utility.
			 */
.background-color-white-100 {
  background-color: white; }

/**
			 * `color` red-100 color utility.
			 */
.color-red-100 {
  color: red; }

/**
			 * `background-color` red-100 color utility.
			 */
.background-color-red-100 {
  background-color: red; }

/**
			 * `color` rgba(255, 0, 0, 0.1)-10 color utility.
			 */
.color-red-10 {
  color: rgba(255, 0, 0, 0.1); }

/**
			 * `background-color` rgba(255, 0, 0, 0.1)-10 color utility.
			 */
.background-color-red-10 {
  background-color: rgba(255, 0, 0, 0.1); }

/**
			 * `color` #b1beb5-100 color utility.
			 */
.color-ash-gray-100 {
  color: #b1beb5; }

/**
			 * `background-color` #b1beb5-100 color utility.
			 */
.background-color-ash-gray-100 {
  background-color: #b1beb5; }

/**
			 * `color` #679e00-100 color utility.
			 */
.color-green-100 {
  color: #679e00; }

/**
			 * `background-color` #679e00-100 color utility.
			 */
.background-color-green-100 {
  background-color: #679e00; }

/**
			 * `color` rgba(103, 158, 0, 0.1)-10 color utility.
			 */
.color-green-10 {
  color: rgba(103, 158, 0, 0.1); }

/**
			 * `background-color` rgba(103, 158, 0, 0.1)-10 color utility.
			 */
.background-color-green-10 {
  background-color: rgba(103, 158, 0, 0.1); }

/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */

.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 * Loop through every value for the `object-fit` property.
 */
/**
	 * `object-fit` fill utility class.
	 */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  object-fit: fill; }

/**
	 * `object-fit` contain utility class.
	 */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  object-fit: contain; }

/**
	 * `object-fit` cover utility class.
	 */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  object-fit: cover; }

/**
	 * `object-fit` none utility class.
	 */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  object-fit: none; }

/**
	 * `object-fit` scale-down utility class.
	 */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  object-fit: scale-down; }

/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Raleway"; }

.text-xs-heading {
  font-family: "Raleway"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Raleway"; }
  .text-sm-heading {
    font-family: "Raleway"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Raleway"; }
  .text-md-heading {
    font-family: "Raleway"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Raleway"; }
  .text-lg-heading {
    font-family: "Raleway"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Raleway"; }
  .text-xl-heading {
    font-family: "Raleway"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.29167em; }

.text-xs-h2 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.30556em; }

.text-xs-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.29167em; }

.text-xs-h4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.29167em; }

.text-xs-h5 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.29167em; }

.text-xs-p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.61111em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.29167em; }
  .text-sm-h2 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.30556em; }
  .text-sm-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-sm-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-sm-h5 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-sm-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.61111em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.29167em; }
  .text-md-h2 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.30556em; }
  .text-md-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-md-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-md-h5 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-md-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.61111em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.29167em; }
  .text-lg-h2 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.30556em; }
  .text-lg-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-lg-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-lg-h5 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-lg-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.61111em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.29167em; }
  .text-xl-h2 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.30556em; }
  .text-xl-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-xl-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-xl-h5 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.29167em; }
  .text-xl-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.61111em; } }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

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

.text-xs-center {
  text-align: center; }

@media only screen and (max-width: 599px) {
  .text-sm-left {
    text-align: left; }
  .text-sm-right {
    text-align: right; }
  .text-sm-center {
    text-align: center; } }

@media only screen and (min-width: 600px) {
  .text-md-left {
    text-align: left; }
  .text-md-right {
    text-align: right; }
  .text-md-center {
    text-align: center; } }

@media only screen and (min-width: 900px) {
  .text-lg-left {
    text-align: left; }
  .text-lg-right {
    text-align: right; }
  .text-lg-center {
    text-align: center; } }

@media only screen and (min-width: 1200px) {
  .text-xl-left {
    text-align: left; }
  .text-xl-right {
    text-align: right; }
  .text-xl-center {
    text-align: center; } }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

@media only screen and (max-width: 599px) {
  .text-sm-100 {
    font-weight: 100; }
  .text-sm-200 {
    font-weight: 200; }
  .text-sm-300 {
    font-weight: 300; }
  .text-sm-400 {
    font-weight: 400; }
  .text-sm-500 {
    font-weight: 500; }
  .text-sm-600 {
    font-weight: 600; }
  .text-sm-700 {
    font-weight: 700; }
  .text-sm-800 {
    font-weight: 800; }
  .text-sm-900 {
    font-weight: 900; } }

@media only screen and (min-width: 600px) {
  .text-md-100 {
    font-weight: 100; }
  .text-md-200 {
    font-weight: 200; }
  .text-md-300 {
    font-weight: 300; }
  .text-md-400 {
    font-weight: 400; }
  .text-md-500 {
    font-weight: 500; }
  .text-md-600 {
    font-weight: 600; }
  .text-md-700 {
    font-weight: 700; }
  .text-md-800 {
    font-weight: 800; }
  .text-md-900 {
    font-weight: 900; } }

@media only screen and (min-width: 900px) {
  .text-lg-100 {
    font-weight: 100; }
  .text-lg-200 {
    font-weight: 200; }
  .text-lg-300 {
    font-weight: 300; }
  .text-lg-400 {
    font-weight: 400; }
  .text-lg-500 {
    font-weight: 500; }
  .text-lg-600 {
    font-weight: 600; }
  .text-lg-700 {
    font-weight: 700; }
  .text-lg-800 {
    font-weight: 800; }
  .text-lg-900 {
    font-weight: 900; } }

@media only screen and (min-width: 1200px) {
  .text-xl-100 {
    font-weight: 100; }
  .text-xl-200 {
    font-weight: 200; }
  .text-xl-300 {
    font-weight: 300; }
  .text-xl-400 {
    font-weight: 400; }
  .text-xl-500 {
    font-weight: 500; }
  .text-xl-600 {
    font-weight: 600; }
  .text-xl-700 {
    font-weight: 700; }
  .text-xl-800 {
    font-weight: 800; }
  .text-xl-900 {
    font-weight: 900; } }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

.text-xs-uppercase {
  text-transform: uppercase; }

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

@media only screen and (max-width: 599px) {
  .text-sm-capitalize {
    text-transform: capitalize; }
  .text-sm-uppercase {
    text-transform: uppercase; }
  .text-sm-lowercase {
    text-transform: lowercase; }
  .text-sm-none {
    text-transform: none; }
  .text-sm-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 600px) {
  .text-md-capitalize {
    text-transform: capitalize; }
  .text-md-uppercase {
    text-transform: uppercase; }
  .text-md-lowercase {
    text-transform: lowercase; }
  .text-md-none {
    text-transform: none; }
  .text-md-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 900px) {
  .text-lg-capitalize {
    text-transform: capitalize; }
  .text-lg-uppercase {
    text-transform: uppercase; }
  .text-lg-lowercase {
    text-transform: lowercase; }
  .text-lg-none {
    text-transform: none; }
  .text-lg-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 1200px) {
  .text-xl-capitalize {
    text-transform: capitalize; }
  .text-xl-uppercase {
    text-transform: uppercase; }
  .text-xl-lowercase {
    text-transform: lowercase; }
  .text-xl-none {
    text-transform: none; }
  .text-xl-full-width {
    text-transform: full-width; } }

/**
 * Vertical Rhythm.
 */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19idXR0b25zLnNjc3MiLCJvYmplY3RzL19jbXMtb3V0cHV0LnNjc3MiLCJvYmplY3RzL19jb250YWluZXIuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9fZm9ybS5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fcGFnaW5hdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwib2JqZWN0cy9fZm9udHMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtZGVmYXVsdC5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX25hdmlnYXRpb24tbW9iaWxlLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxhdGVzdC5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1saXN0LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1yb3dzLnNjc3MiLCJjb21wb25lbnRzL19jdGEuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3Quc2NzcyIsImNvbXBvbmVudHMvX2xvZ29zLnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9fb2JqZWN0LWZpdC5zY3NzIiwidXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwidXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ1dGlsaXRpZXMvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwidXRpbGl0aWVzL196LWluZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNldHRpbmdzLlxyXG4gKi9cclxuQGltcG9ydCAnc2V0dGluZ3MvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogVmVuZG9yLlxyXG4gKi9cclxuQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplJztcclxuQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9vd2wuY2Fyb3VzZWwnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuQGltcG9ydCAndG9vbHMvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogRWxlbWVudHMuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmFsLlxyXG4gKi9cclxuQGltcG9ydCAnZ2VuZXJpYy9iYXNlJztcclxuQGltcG9ydCAnZ2VuZXJpYy9yZXNldCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE9iamVjdHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdvYmplY3RzL2J1dHRvbnMnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2Ntcy1vdXRwdXQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2NvbnRhaW5lcic7XHJcbkBpbXBvcnQgJ29iamVjdHMvY29udGVudC1jb25zdHJhaW50JztcclxuQGltcG9ydCAnb2JqZWN0cy9mbGV4JztcclxuQGltcG9ydCAnb2JqZWN0cy9mb3JtJztcclxuQGltcG9ydCAnb2JqZWN0cy9oZWFkaW5ncyc7XHJcbkBpbXBvcnQgJ29iamVjdHMvbGF6eS1sb2FkJztcclxuQGltcG9ydCAnb2JqZWN0cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnb2JqZWN0cy93cmFwcGVyJztcclxuQGltcG9ydCAnb2JqZWN0cy9mb250cyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtZGVmYXVsdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25hdmlnYXRpb24tbW9iaWxlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLWxhdGVzdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1saXN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLXNpbmdsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGV4dC1pbWFnZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1yb3dzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jdGEnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhY3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2xvZ29zJztcclxuXHJcblxyXG4vKipcclxuICogVXRpbGl0aWVzLlxyXG4gKi9cclxuQGltcG9ydCAndXRpbGl0aWVzL2NvbG9yJztcclxuQGltcG9ydCAndXRpbGl0aWVzL2hlbHBlcnMnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvb2JqZWN0LWZpdCc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9wb3NpdGlvbic7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy90ZXh0JztcclxuQGltcG9ydCAndXRpbGl0aWVzL3ZlcnRpY2FsLXJoeXRobSc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy96LWluZGV4JztcclxuIiwiLyoqXHJcbiAqIFNldHRpbmdzLlxyXG4gKi9cclxuIFxyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcclxuQGltcG9ydCAnY29sb3InO1xyXG5AaW1wb3J0ICd6LWluZGV4JztcclxuQGltcG9ydCAnZGVmaW5pdGlvbnMnO1xyXG4iLCIvKipcclxuICogRm9udCBmYW1pbHkgbWFwLlxyXG4gKi9cclxuXHJcbiRmb250LWZhbWlseTogKFxyXG5cdCdkZWZhdWx0JzogJ1JhbGV3YXknLFxyXG5cdCdoZWFkaW5nJzogJ1JhbGV3YXknLFxyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IHNpemUgbWFwLlxyXG4gKi9cclxuXHJcbiRmb250LXNpemU6IChcclxuXHQnaDEnOiA0OHB4LFxyXG5cdCdoMic6IDM2cHgsXHJcblx0J2gzJzogMjRweCxcclxuXHQnaDQnOiAyNHB4LFxyXG5cdCdoNSc6IDI0cHgsXHJcblx0J3AnOiAxOHB4XHJcbik7XHJcblxyXG4vKipcclxuICogRm9udCBzaXplIG1vYmlsZSBtYXAuXHJcbiAqL1xyXG5cclxuICRmb250LXNpemUtbW9iaWxlOiAoXHJcblx0J2gxJzogNDBweCxcclxuXHQnaDInOiAyNHB4LFxyXG5cdCdoMyc6IDE4cHgsXHJcblx0J2g0JzogMTZweCxcclxuXHQnaDUnOiAxNnB4LFxyXG5cdCdwJzogMTZweFxyXG4pO1xyXG5cclxuXHJcblxyXG4vKipcclxuICogTGluZSBoZWlnaHQgbWFwLlxyXG4gKi9cclxuXHJcbiRsaW5lLWhlaWdodDogKFxyXG5cdCdoMSc6IDYycHgsXHJcblx0J2gyJzogNDdweCxcclxuXHQnaDMnOiAzMXB4LFxyXG5cdCdoNCc6IDMxcHgsXHJcblx0J2g1JzogMzFweCxcclxuXHQncCc6IDI5cHhcclxuKTtcclxuIiwiLyoqXHJcbiAqIENvbG9yIE1hcCAoaHR0cHM6Ly9jb252ZXJ0YWNvbG9yLmNvbS8pLlxyXG4gKi9cclxuXHJcbiRjb2xvcnM6IChcclxuXHQnYmxhY2snOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMCUsIDEpLCAvLyAjMDAwMDAwLCAxMDAlXHJcblx0KSxcclxuXHQnZ3JheSc6IChcclxuXHRcdCcxMDAnOiAgaHNsYSgwLCAwJSwgNDAlLCAxKSwgIC8vICM2NzY3Njc7XHJcblx0XHQnOTAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuOSksIC8vICM2NzY3Njc7XHJcblx0XHQnODAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuOCksIC8vICM2NzY3Njc7XHJcblx0XHQnNzAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuNyksIC8vICM2NzY3Njc7XHJcblx0XHQnNjAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuNiksIC8vICM2NzY3Njc7XHJcblx0XHQnNTAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuNSksIC8vICM2NzY3Njc7XHJcblx0XHQnNDAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuNCksIC8vICM2NzY3Njc7XHJcblx0XHQnMzAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuMyksIC8vICM2NzY3Njc7XHJcblx0XHQnMjAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuMiksIC8vICM2NzY3Njc7XHJcblx0XHQnMTAnOiAgaHNsYSgwLCAwJSwgNDAlLCAuMSkgLy8gIzY3Njc2NztcclxuXHQpLFxyXG5cdCd3aGl0ZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDAsIDAlLCAxMDAlLCAxKSAvLyAjRkZGRkZGLCAxMDAlXHJcblx0KSxcclxuXHQncmVkJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMTAwJSwgNTAlLCAxKSwgLy8gI0ZGMDAwMCwgMTAwJVxyXG5cdFx0JzEwJzogaHNsYSgwLCAxMDAlLCA1MCUsIC4xKSwgLy8gI0ZGMDAwMCwgMTAlXHJcblx0KSxcclxuXHQnYXNoLWdyYXknOiAoXHJcblx0XHQnMTAwJzogaHNsYSgxMzgsIDklLCA3MiUsIDEpXHJcblx0KSxcclxuXHQnZ3JlZW4nOiAoXHJcblx0XHQnMTAwJzogaHNsYSg4MSwgMTAwJSwgMzElLCAxKSxcclxuXHRcdCcxMCc6IGhzbGEoODEsIDEwMCUsIDMxJSwgLjEpLFxyXG5cdClcclxuKTtcclxuXHJcblxyXG4vKipcclxuICogQ29sb3JzIFZhcmlhYmxlcy5cclxuICovXHJcbiRibGFjay0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzEwMCcpO1xyXG5cclxuJHdoaXRlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMTAwJyk7XHJcblxyXG4kcmVkLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwMCcpO1xyXG4kcmVkLTEwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnMTAnKTtcclxuXHJcbiRncmF5LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmF5JyksICcxMDAnKTtcclxuJGdyYXktOTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnOTAnKTtcclxuJGdyYXktODA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnODAnKTtcclxuJGdyYXktNzA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnNzAnKTtcclxuJGdyYXktNjA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnNjAnKTtcclxuJGdyYXktNTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnNTAnKTtcclxuJGdyYXktNDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnNDAnKTtcclxuJGdyYXktMzA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnMzAnKTtcclxuJGdyYXktMjA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnMjAnKTtcclxuJGdyYXktMTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JheScpLCAnMTAnKTtcclxuXHJcbiRhc2gtZ3JheS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYXNoLWdyYXknKSwgJzEwMCcpO1xyXG5cclxuJGdyZWVuLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMTAwJyk7XHJcbiRncmVlbi0xMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMTAnKTtcclxuXHJcbiIsIi8vIEEgbGltaXRlZCBhcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBgei1pbmRleGAgcHJvcGVydHkgdG8gcHJldmVudFxyXG4vLyBFeGFnZ2VyYXRlZCBhbW91bnRzIGFuZCB1Z2x5IGhhY2tzLlxyXG5cclxuJHotaW5kZXg6IChcclxuXHQnMCc6ICAwLFxyXG5cdCcxJzogIDEwLFxyXG5cdCcyJzogIDIwLFxyXG5cdCczJzogIDMwLFxyXG5cdCc0JzogIDQwLFxyXG5cdCc1JzogIDUwLFxyXG5cdCc2JzogIDYwLFxyXG5cdCc3JzogIDcwLFxyXG5cdCc4JzogIDgwLFxyXG5cdCc5JzogIDkwLFxyXG5cdCcxMCc6IDEwMFxyXG4pO1xyXG4iLCIvKipcclxuICogR3JpZC5cclxuICovXHJcblxyXG4vLyBHcmlkIHdpZHRoLlxyXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cclxuJGdyaWQtd2lkdGg6IDEwMjRweDtcclxuXHJcbi8vIEdyaWQgY29sdW1ucy5cclxuLy8gQW1vdW50IG9mIGdyaWQgY29sdW1ucyB0byBjYWxjdWxhdGUgYSBjb2x1bW4gd2lkdGggd2l0aC5cclxuJGdyaWQtY29sdW1uczogMTI7XHJcblxyXG4vLyBHcmlkIGdhcC5cclxuLy8gU3BhY2UgYmV0d2VlbiBncmlkIGNvbHVtbnMsIGF1dG9tYXRlZC5cclxuJGdyaWQtZ2FwOiAyMHB4O1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBc3NldHMuXHJcbiAqL1xyXG5cclxuLy8gSW1hZ2UgcGF0aC5cclxuJGltYWdlLXBhdGg6ICcuLi9pbWFnZXMvJztcclxuXHJcblxyXG4vKipcclxuICogQm9keS5cclxuICovXHJcblxyXG4vLyBCb2R5IGJhY2tncm91bmQgY29sb3IuXHJcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGNvbG9yLlxyXG4kYm9keS1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcbi8vIEJvZHkgZm9udCBmYW1pbHkuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2RlZmF1bHQnKTtcclxuXHJcbi8vIEJvZHkgdGV4dC5cclxuJGJvZHktdGV4dDogJ3AnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPdGhlci5cclxuICovXHJcblxyXG4vLyBMaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcbi8vIFNlbGVjdCBjb2xvci5cclxuKjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG4gIGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzcG9uc2l2ZS5cclxuICovXHJcblxyXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiRicmVha3BvaW50czogKFxyXG5cdHhzOiBudWxsLFxyXG5cdHNtOiAncGhvbmUnLFxyXG5cdG1kOiAndGFibGV0LXBvcnRyYWl0LXVwJyxcclxuXHRsZzogJ3RhYmxldC1sYW5kc2NhcGUtdXAnLFxyXG5cdHhsOiAnZGVza3RvcCdcclxuKTtcclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnYW5pbWF0ZSc7XG5AaW1wb3J0ICdhdXRvaGVpZ2h0JztcbkBpbXBvcnQgJ2xhenlsb2FkJztcbkBpbXBvcnQgJ3ZpZGVvJztcbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuXHJcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XHJcbkBpbXBvcnQgJ21hZ25pZmljLXBvcHVwJztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuIiwiLyoqXHJcbiAqIFVuaWNvZGUuXHJcbiAqXHJcbiAqIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gQW4gdW5pY29kZSBzdHJpbmcuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xyXG4gKi9cclxuIFxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcclxuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xyXG5cdEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcclxuXHJcblxyXG4vKipcclxuICogUkVNLlxyXG4gKlxyXG4gKiBDb252ZXJ0IHBpeGVsIHVuaXRzIHRvIFJFTSB1bml0cy5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRwaXhlbHMgLSBQaXhlbCB2YWx1ZS5cclxuICogQHJldHVybiB7Kn0gLSBBIGNvbnZlcnRlZCBgcmVtYCB1bml0LlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG5cdEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuXHR9XHJcblx0QHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbi5cclxuICpcclxuICogQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbiwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuXHRAcmV0dXJuICgkY29sdW1uICAqIDEwMCUgLyAkY29sdW1ucyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sb3IuXHJcbiAqXHJcbiAqIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbiAqIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcclxuXHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xyXG5cclxuXHJcbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xyXG4ubWZwLWJnIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIG9wYWNpdHk6IDAuODsgfVxyXG5cclxuLm1mcC13cmFwIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcGFkZGluZzogMCA4cHg7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuXHJcbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB6LWluZGV4OiAxMDQ1OyB9XHJcblxyXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxyXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY3Vyc29yOiBhdXRvOyB9XHJcblxyXG4ubWZwLWFqYXgtY3VyIHtcclxuICBjdXJzb3I6IHByb2dyZXNzOyB9XHJcblxyXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0OyB9XHJcblxyXG4ubWZwLXpvb20ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47IH1cclxuXHJcbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtY2xvc2UsXHJcbi5tZnAtYXJyb3csXHJcbi5tZnAtcHJlbG9hZGVyLFxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ubWZwLXByZWxvYWRlciB7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAtMC44ZW07XHJcbiAgbGVmdDogOHB4O1xyXG4gIHJpZ2h0OiA4cHg7XHJcbiAgei1pbmRleDogMTA0NDsgfVxyXG4gIC5tZnAtcHJlbG9hZGVyIGEge1xyXG4gICAgY29sb3I6ICNDQ0M7IH1cclxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI0ZGRjsgfVxyXG5cclxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5idXR0b24ubWZwLWNsb3NlLFxyXG5idXR0b24ubWZwLWFycm93IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgei1pbmRleDogMTA0NjtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwOyB9XHJcblxyXG4ubWZwLWNsb3NlIHtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxyXG4gIC5tZnAtY2xvc2U6aG92ZXIsXHJcbiAgLm1mcC1jbG9zZTpmb2N1cyB7XHJcbiAgICBvcGFjaXR5OiAxOyB9XHJcbiAgLm1mcC1jbG9zZTphY3RpdmUge1xyXG4gICAgdG9wOiAxcHg7IH1cclxuXHJcbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xyXG4gIGNvbG9yOiAjMzMzOyB9XHJcblxyXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxyXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgcmlnaHQ6IC02cHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gIHdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuXHJcbi5tZnAtYXJyb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG4gIG1hcmdpbjogMDtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAtNTVweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA5MHB4O1xyXG4gIGhlaWdodDogMTEwcHg7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcclxuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpob3ZlcixcclxuICAubWZwLWFycm93OmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWFycm93OmJlZm9yZSxcclxuICAubWZwLWFycm93OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XHJcbiAgICB0b3A6IDhweDsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xyXG4gICAgb3BhY2l0eTogMC43OyB9XHJcblxyXG4ubWZwLWFycm93LWxlZnQge1xyXG4gIGxlZnQ6IDA7IH1cclxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1hcnJvdy1yaWdodCB7XHJcbiAgcmlnaHQ6IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cclxuXHJcbi5tZnAtaWZyYW1lLWhvbGRlciB7XHJcbiAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gICAgdG9wOiAtNDBweDsgfVxyXG5cclxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XHJcbiAgLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxyXG5cclxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xyXG5pbWcubWZwLWltZyB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvOyB9XHJcblxyXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cclxuLm1mcC1maWd1cmUge1xyXG4gIGxpbmUtaGVpZ2h0OiAwOyB9XHJcbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiA0MHB4O1xyXG4gICAgYm90dG9tOiA0MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cclxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cclxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwOyB9XHJcblxyXG4ubWZwLWJvdHRvbS1iYXIge1xyXG4gIG1hcmdpbi10b3A6IC0zNnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgY29sb3I6ICNGM0YzRjM7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XHJcbiAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cclxuICAgICAgICovXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xyXG4gICAgcGFkZGluZzogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xyXG4gICAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgdG9wOiAzcHg7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwOyB9IH1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgLm1mcC1hcnJvdyB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cclxuICAubWZwLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XHJcblxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcbiIsIi8qKlxyXG4gKiBDb250YWluZXJcclxuICogXHJcbiAqIENlbnRlciBhbGlnbnMgZWxlbWVudCB3aXRoIGdpdmVuIG1heGltdW0gd2lkdGgsIHBhZGRpbmcsIGFuZCBtYXJnaW5zIHRvcCBhbmQgYm90dG9tLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBjb250YWluZXIoMTAyNHB4LCAyMHB4KTtcclxuICovXHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xyXG5cdEBpZiAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgdHlwZS1vZigkZ2FwKSA9PSBudW1iZXIpIHtcclxuXHRcdEBpZiAoJGdhcCAhPSAwKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcclxuXHRcdFx0cGFkZGluZzogMCAkZ2FwO1xyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdG1heC13aWR0aDogJHdpZHRoO1xyXG5cdFx0fVxyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnRzIGAkd2lkdGhgIGFuZCBgJGdhcGAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2VjdGlvblxyXG4gKlxyXG4gKiBBZGQgdG9wIGFuZCBib3R0b20gc3BhY2luZyB0byBlbGVtZW50IHVzaW5nIHBhZGRpbmdzLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJHRvcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm90dG9tIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcclxuXHRcdHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250LlxyXG4gKlxyXG4gKiBBZGRzIGByZW1gIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhIGZhbGxiYWNrIGBweGAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGFuZCBhIGBlbWAgdW5pdCBiYXNlZCBsaW5lIGhlaWdodCBwcm9wZXJ0eSB0byBhbnkgcnVsZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRmb250LXNpemUgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGxpbmUtaGVpZ2h0IC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBmb250KCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG5cdEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIgYW5kIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4Jykge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRmb250LXNpemV9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xyXG5cdH1cclxuXHRAaWYgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0KSA9PSBudW1iZXIgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSAncHgnKSB7XHJcblx0XHRsaW5lLWhlaWdodDogKCgkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKSAqIDFlbSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIGZvciBgI3skbGluZS1oZWlnaHR9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0LlxyXG4gKlxyXG4gKiBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uIGRlbWVhbm91ciBleGlzdGluZyBib3RoIGluIHRoZSBgJGZvbnQtc2l6ZWAgYW5kIHRoZSBgJGxpbmUtaGVpZ2h0YCBtYXBzLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIHRleHQoJ3AnKTtcclxuICovIFxyXG5cclxuQG1peGluIHRleHQoJHZhbHVlKSB7XHJcblx0QGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KG1hcC1nZXQoJGZvbnQtc2l6ZSwgJHZhbHVlKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICR2YWx1ZSkpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmcnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IEF3ZXNvbWUuXHJcbiAqXHJcbiAqIEFkZCBGb250IEF3ZXNvbWUgaWNvbnMgYXMgcHN1ZWRvIGVsZW1lbnRzIGJ5IHVzaW5nIHRoZWlyIHVuaWNvZGUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkY29udGVudCAtIFVuaWNvZGUgc3RyaW5nLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGZvbnRhd2Vzb21lKCdmMTAwJywgJ0xpZ2h0Jyk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmYW1pbHkpID09IHN0cmluZykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XHJcblx0XHRjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lZGlhLlxyXG4gKlxyXG4gKiBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge31cclxuICovIFxyXG4gXHJcbkBtaXhpbiBtZWRpYSgkc2l6ZSkge1xyXG5cdEBpZiAoJHNpemUgPT0gJ2Rlc2t0b3AnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICdwaG9uZScpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA1OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxyXG4gKlxyXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cclxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXHJcbiAqL1xyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym94LXNpemluZzogaW5oZXJpdDsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cclxuICovXHJcblxyXG5odG1sIHtcclxuXHRoZWlnaHQ6IDEwMHZoO1xyXG5cdGZvbnQtc2l6ZTogNjIuNSU7IC8qIDEgKi9cclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xyXG4gKiBtYXRjaCB0aGUgZG9jdW1lbnQncyBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIEZpcmVmb3ggMjUrLlxyXG4gKiAyLiBDaHJvbWUgNSsuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcblx0QGluY2x1ZGUgdGV4dCgkYm9keS10ZXh0KTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogMSAqL1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXHJcbn1cclxuIiwiLyoqXHJcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXHJcbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxyXG4gKi9cclxuXHJcbmEge1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmhyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cclxuICovXHJcblxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cclxufVxyXG5cclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiIsImYvKipcclxuICogQnV0dG9uLlxyXG4gKi9cclxuXHJcbiVidXR0b24sXHJcbi5idXR0b24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTZweCAzMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAyMXB4O1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLXJpZ2h0IHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLWxlZnQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAocHJpbWFyeSkuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tcHJpbWFyeSxcclxuLmJ1dHRvbi0tcHJpbWFyeSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRibGFjay0xMDAsIDEwJSk7XHJcblx0fVxyXG59XHJcblxyXG4uYnV0dG9uLS1saW5rIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQ7XHJcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdG9wYWNpdHk6IDE7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3BhY2l0eTogMC44O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXHJcblxyXG4uY21zLW91dHB1dCB7XHJcblx0cCB7XHJcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHR9XHJcblxyXG5cdGgyLFxyXG5cdGgzLFxyXG5cdGg0IHtcclxuXHRcdG1hcmdpbjogMjBweCAwO1xyXG5cdH1cclxuXHJcblx0aDUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdGltZyB7XHJcblx0XHQmLmFsaWduY2VudGVyIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuYWxpZ25yaWdodCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0YWJsZSB7XHJcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cclxuXHRcdHRkIHtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVsLFxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b2wge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG5cdH1cclxuXHJcblx0c3Ryb25nIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDQ1cHggMjBweCA0NXB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0fVxyXG5cclxuXHQud3AtY2FwdGlvbiB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LndwLWNhcHRpb24tdGV4dCB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMjBweCk7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC40NHB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXHJcblxyXG4uY29udGFpbmVyIHtcclxuXHRAaW5jbHVkZSBjb250YWluZXI7XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xyXG5cclxuLmNvbnRlbnQtY29uc3RyYWludCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA3NXB4KTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbi10b3A6IDc1cHhcclxufVxyXG4iLCIvKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5mbGV4IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmxleC13cmFwIHtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxyXG4gKi9cclxuXHJcbi5yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleDogMCAxIGF1dG87XHJcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcclxuXHRtYXJnaW46IDAgLSN7KCRncmlkLWdhcC8yKX07XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5ib3gge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcblxyXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHJcblx0Ly8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGV2ZXJ5IGtleSBpbiBgJGJyZWFrcG9pbnRzYC5cclxuXHRAaW5jbHVkZSBtZWRpYSgkdmFsdWUpIHtcclxuXHJcblx0XHQvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcclxuXHRcdC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuY29sLSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZsZXg6IDAgMSBhdXRvO1xyXG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oJGkpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcclxuXHRcdFx0Ly8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXHJcblx0XHRcdC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRcdEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XHJcblxyXG5cdFx0XHRcdC8qKlxyXG5cdFx0XHRcdCAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHRcdCAqL1xyXG5cclxuXHRcdFx0XHQub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXHJcblx0XHRAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHkge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIEp1c3RpZnkgYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0Lmp1c3RpZnktI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBldmVyeSBkaXJlY3Rpb24gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxyXG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQmxlZWQgI3skZGlyZWN0aW9ufSBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYmxlZWQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuXHRcdFx0XHRwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LmZpcnN0LSN7JGtleX0ge1xyXG5cdFx0XHRvcmRlcjogLTE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0Lmxhc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdCAqL1xyXG5cclxuXHRcdC5yZXZlcnNlLSN7JGtleX0ge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBEZWZhdWx0IGZpZWxkcy5cclxuICovXHJcblxyXG5sYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0Zm9udC13ZWlnaHQ6IDE4cHhcclxufVxyXG5cclxuJWlucHV0LFxyXG5zZWxlY3QsXHJcbmlucHV0LFxyXG50ZXh0YXJlYSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyM3B4KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYigxOTgsIDE5OCwgMTk4KTtcclxuXHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxudGV4dGFyZWEge1xyXG5cdGhlaWdodDogMjMwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5nLWZpZWxkLTMzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHR3aWR0aDogY2FsYygzMyUgLSAxN3B4KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2ZpZWxkIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdmb3JtX2ZpZWxkcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGdhcDogMCAxNXB4O1xyXG5cdH1cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IDAgMzBweDtcclxufVxyXG5cclxuLmdmaWVsZF9yZXF1aXJlZCB7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdGZvbnQtc2l6ZTogMTVweDtcclxuXHRtYXJnaW4tbGVmdDogM3B4O1xyXG59XHJcblxyXG4uZ2ZpZWxkX2NoZWNrYm94IHtcclxuXHQuZ2Nob2ljZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDE0cHg7XHJcblx0XHRyaWdodDogMjBweDtcclxuXHRcdHdpZHRoOiA5cHg7XHJcblx0XHRoZWlnaHQ6IDEzcHg7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0c2VsZWN0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcclxuXHRcdG1heC13aWR0aDogbm9uZTtcclxuXHRcdG1hcmdpbjogLTJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10sXHJcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG5cdHdpZHRoOiAxNXB4O1xyXG5cdGhlaWdodDogMTVweDtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAkYmxhY2stMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHQmOmNoZWNrZWQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogR3Jhdml0eSBGb3Jtcy5cclxuICovXHJcblxyXG4uZ2ZpZWxkIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5oaWRkZW5fbGFiZWwgPiBsYWJlbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmdmb3JtX2Zvb3RlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXJcclxufVxyXG5cclxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyM3B4KTtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdHBhZGRpbmc6IDEwcHggMTBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMTA7XHJcblxyXG5cdD4gc3ZnIHtcclxuXHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xyXG5cdH1cclxufVxyXG5cclxuJXZhbGlkYXRpb25fZXJyb3IsXHJcbi52YWxpZGF0aW9uX2Vycm9yIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW46IDAgMCA1MHB4O1xyXG5cdHBhZGRpbmc6IDI1cHggMjVweCAyNXB4IDc1cHg7XHJcblx0YmFja2dyb3VuZDogJHJlZC0xMDtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcblxyXG5cdD4gc3ZnIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcclxuXHRcdGxlZnQ6IDMwcHg7XHJcblx0XHR3aWR0aDogMzFweDtcclxuXHRcdGhlaWdodDogMzBweDtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHR9XHJcblxyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiA1cHg7XHJcblx0XHRyaWdodDogNXB4O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiA1MHB4O1xyXG5cdGJhY2tncm91bmQ6ICRyZWQtMTAwO1xyXG5cclxuXHRiciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0aDQge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiAyOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDI4cHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0cGFkZGluZzogNXB4O1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIEhlYWRpbmcuXHJcbiAqL1xyXG4gaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbiVoZWFkaW5nIHtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4gXHJcbiAvKipcclxuICAqIEhlYWRpbmcgMS5cclxuICAqL1xyXG4gXHJcbiBoMSxcclxuIC5oZWFkaW5nLTEge1xyXG5cdCBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHQgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemUtbW9iaWxlLCAnaDEnKTtcclxuXHRcdCBsaW5lLWhlaWdodDogMS4zO1xyXG5cdCB9XHJcbiBcclxuXHQgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemUsICdoMScpO1xyXG5cdCBsaW5lLWhlaWdodDogMS4zO1xyXG4gfVxyXG4gXHJcbiAvKipcclxuICAqIEhlYWRpbmcgMi5cclxuICAqL1xyXG4gXHJcbiBoMixcclxuICVoZWFkaW5nLTIsXHJcbiAuaGVhZGluZy0yIHtcclxuXHQgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0IGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplLW1vYmlsZSwgJ2gyJyk7XHJcblx0XHQgbGluZS1oZWlnaHQ6IDEuMztcclxuXHQgfVxyXG4gXHJcblx0IGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplLCAnaDInKTtcclxuXHQgbGluZS1oZWlnaHQ6IDEuMztcclxuIH1cclxuIFxyXG4gXHJcbiAvKipcclxuICAqIEhlYWRpbmcgMy5cclxuICAqL1xyXG4gXHJcbiBoMyxcclxuICVoZWFkaW5nLTMsXHJcbiAuaGVhZGluZy0zIHtcclxuXHQgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0IGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplLW1vYmlsZSwgJ2gzJyk7XHJcblx0XHQgbGluZS1oZWlnaHQ6IDEuMztcclxuXHQgfVxyXG4gXHJcblx0IGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplLCAnaDMnKTtcclxuXHQgbGluZS1oZWlnaHQ6IDEuMztcclxuIH1cclxuIFxyXG4gXHJcbiAvKipcclxuICAqIEhlYWRpbmcgMy5cclxuICAqL1xyXG4gXHJcbiBoNCxcclxuICVoZWFkaW5nLTQge1xyXG5cdCBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHQgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemUtbW9iaWxlLCAnaDQnKTtcclxuXHRcdCBsaW5lLWhlaWdodDogMS4zO1xyXG5cdCB9XHJcbiBcclxuXHQgZm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemUsICdoNCcpO1xyXG5cdCBsaW5lLWhlaWdodDogMS4zO1xyXG4gfVxyXG4gXHJcbiBcclxuIC8qKlxyXG4gICogSGVhZGluZyAzLlxyXG4gICovXHJcbiBcclxuIGg1LFxyXG4gJWhlYWRpbmctNSB7XHJcblx0IEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdCBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZS1tb2JpbGUsICdoNScpO1xyXG5cdFx0IGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0IH1cclxuIFxyXG5cdCBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ2g1Jyk7XHJcblx0IGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiB9XHJcbiBcclxuIFxyXG4gLyoqXHJcbiAgKiBTdWJoZWFkaW5nLlxyXG4gICovXHJcbiBcclxuIFxyXG4gcCB7XHJcblx0IEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdCBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZS1tb2JpbGUsICdwJyk7XHJcblx0XHQgbGluZS1oZWlnaHQ6IDE2MCU7XHJcblx0IH1cclxuIFxyXG5cdCBmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ3AnKTtcclxuXHQgbGluZS1oZWlnaHQ6IDE2MCU7XHJcbiB9IiwiLmhhcy1sYXp5LWxvYWQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcclxuXHRvcGFjaXR5OiAwO1xyXG5cclxuXHQmLmhlYWRlciB7XHJcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiA3NTBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLmhhcy1sYXp5LWxvYWRbbG9hZGVkPSd0cnVlJ10ge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuIiwiLnBhZ2luYXRpb24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5wYWdlLW51bWJlcnMge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyMnB4KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Ji5jdXJyZW50IHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5wcmV2LFxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTZweDtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogV3JhcHBlciAoZGVmYXVsdClcclxuICovXHJcblxyXG4ud3JhcHBlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEyOTBweCwgNjBweCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxMjkwcHgsIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgY29udGFpbmVyKDEyOTBweCwgNTBweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogV3JhcHBlciAoc21hbGwpXHJcbiAqL1xyXG5cclxuLndyYXBwZXItLXNtYWxsIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoNzMwcHgsIDYwcHgpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoNzMwcHgsIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgY29udGFpbmVyKDczMHB4LCA1MHB4KTtcclxufVxyXG4iLCIvKiByYWxld2F5LTEwMCAtIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiAxMDA7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTEwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG5cdHNyYzogbG9jYWwoJycpLFxyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTEwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0xMDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTEwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0xMDAuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgfVxyXG4gIC8qIHJhbGV3YXktMjAwIC0gbGF0aW4gKi9cclxuICBAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1JhbGV3YXknO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogMjAwO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0yMDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuXHRzcmM6IGxvY2FsKCcnKSxcclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTIwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0yMDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMjAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0yMDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMjAwLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gIH1cclxuICAvKiByYWxld2F5LTMwMCAtIGxhdGluICovXHJcbiAgQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdSYWxld2F5JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0zMDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTMwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMzAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTMwMC5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICB9XHJcbiAgLyogcmFsZXdheS1yZWd1bGFyIC0gbGF0aW4gKi9cclxuICBAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1JhbGV3YXknO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi1yZWd1bGFyLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi1yZWd1bGFyLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gIH1cclxuICAvKiByYWxld2F5LTUwMCAtIGxhdGluICovXHJcbiAgQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdSYWxld2F5JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNTAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi01MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTUwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNTAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTUwMC5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICB9XHJcbiAgLyogcmFsZXdheS02MDAgLSBsYXRpbiAqL1xyXG4gIEBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTYwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG5cdHNyYzogbG9jYWwoJycpLFxyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNjAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTYwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi02MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTYwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi02MDAuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgfVxyXG4gIC8qIHJhbGV3YXktNzAwIC0gbGF0aW4gKi9cclxuICBAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1JhbGV3YXknO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi03MDAuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuXHRzcmM6IGxvY2FsKCcnKSxcclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTcwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi03MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNzAwLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gIH1cclxuICAvKiByYWxld2F5LTgwMCAtIGxhdGluICovXHJcbiAgQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdSYWxld2F5JztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tODAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi04MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tODAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTgwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tODAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTgwMC5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICB9XHJcbiAgLyogcmFsZXdheS05MDAgLSBsYXRpbiAqL1xyXG4gIEBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTkwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG5cdHNyYzogbG9jYWwoJycpLFxyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tOTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTkwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi05MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi05MDAuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgfVxyXG4gIC8qIHJhbGV3YXktMTAwaXRhbGljIC0gbGF0aW4gKi9cclxuICBAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1JhbGV3YXknO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXdlaWdodDogMTAwO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0xMDBpdGFsaWMuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuXHRzcmM6IGxvY2FsKCcnKSxcclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTEwMGl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0xMDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMTAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0xMDBpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMTAwaXRhbGljLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gIH1cclxuICAvKiByYWxld2F5LTIwMGl0YWxpYyAtIGxhdGluICovXHJcbiAgQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdSYWxld2F5JztcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC13ZWlnaHQ6IDIwMDtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMjAwaXRhbGljLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0yMDBpdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMjAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTIwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMjAwaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTIwMGl0YWxpYy5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICB9XHJcbiAgLyogcmFsZXdheS0zMDBpdGFsaWMgLSBsYXRpbiAqL1xyXG4gIEBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTMwMGl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG5cdHNyYzogbG9jYWwoJycpLFxyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tMzAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTMwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0zMDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTMwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi0zMDBpdGFsaWMuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgfVxyXG4gIC8qIHJhbGV3YXktaXRhbGljIC0gbGF0aW4gKi9cclxuICBAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1JhbGV3YXknO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi1pdGFsaWMuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuXHRzcmM6IGxvY2FsKCcnKSxcclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLWl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4taXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi1pdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4taXRhbGljLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gIH1cclxuICAvKiByYWxld2F5LTUwMGl0YWxpYyAtIGxhdGluICovXHJcbiAgQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdSYWxld2F5JztcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNTAwaXRhbGljLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi01MDBpdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNTAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTUwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNTAwaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTUwMGl0YWxpYy5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICB9XHJcbiAgLyogcmFsZXdheS02MDBpdGFsaWMgLSBsYXRpbiAqL1xyXG4gIEBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTYwMGl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG5cdHNyYzogbG9jYWwoJycpLFxyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNjAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTYwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi02MDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTYwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi02MDBpdGFsaWMuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgfVxyXG4gIC8qIHJhbGV3YXktNzAwaXRhbGljIC0gbGF0aW4gKi9cclxuICBAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ1JhbGV3YXknO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi03MDBpdGFsaWMuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuXHRzcmM6IGxvY2FsKCcnKSxcclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTcwMGl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi03MDBpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tNzAwaXRhbGljLnN2ZyNSYWxld2F5JykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG4gIH1cclxuICAvKiByYWxld2F5LTgwMGl0YWxpYyAtIGxhdGluICovXHJcbiAgQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdSYWxld2F5JztcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tODAwaXRhbGljLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcblx0c3JjOiBsb2NhbCgnJyksXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi04MDBpdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tODAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTgwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tODAwaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTgwMGl0YWxpYy5zdmcjUmFsZXdheScpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxuICB9XHJcbiAgLyogcmFsZXdheS05MDBpdGFsaWMgLSBsYXRpbiAqL1xyXG4gIEBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTkwMGl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG5cdHNyYzogbG9jYWwoJycpLFxyXG5cdFx0IHVybCgnLi4vZm9udHMvcmFsZXdheS12MjYtbGF0aW4tOTAwaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTkwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi05MDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuXHRcdCB1cmwoJy4uL2ZvbnRzL3JhbGV3YXktdjI2LWxhdGluLTkwMGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcblx0XHQgdXJsKCcuLi9mb250cy9yYWxld2F5LXYyNi1sYXRpbi05MDBpdGFsaWMuc3ZnI1JhbGV3YXknKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXHJcbiAgfSIsIi5jb250ZW50LWRlZmF1bHQge1xyXG5cdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDA7XHJcblx0fVxyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0cGFkZGluZzogNjBweCAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX2VkaXRvciB7XHJcblx0aDMge1xyXG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XHJcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTEwO1xyXG5cdH1cclxufVxyXG4iLCIuZm9vdGVyIHtcclxuXHRwYWRkaW5nLXRvcDogODVweDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMTAwO1xyXG59XHJcblxyXG4uZm9vdGVyX19ib3R0b20ge1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiA4NXB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19jb3B5cmlnaHQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0YSB7XHJcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX3RvcC1zb2NpYWxzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwIDM1cHg7XHJcblxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRmaWxsOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLXdoYXRzYXBwIHtcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDIxcHg7XHJcblx0XHRcdFx0d2lkdGg6IDIxcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX3RvcC1saW5rcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogNTBweDtcclxuXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdFx0cGFkZGluZzogNXB4IDEwcHg7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvcGFjaXR5OiAwLjc7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX190b3AtbG9nb3Mge1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMCA0MHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX190b3AtbG9nbyB7XHJcblx0aW1nIHtcclxuXHRcdG1heC1oZWlnaHQ6IDE0MHB4O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDE4MHB4O1xyXG5cdH1cclxufVxyXG4iLCIuaGVhZGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiAwIDIwcHg7XHJcblx0fVxyXG5cdHBhZGRpbmc6IDAgNDBweDtcclxuXHRoZWlnaHQ6IDc1cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblxyXG5cdC5mbGV4IHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG5cdGhlaWdodDogNDVweDtcclxuXHR3aWR0aDogYXV0bztcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbWVudSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogMCA0MHB4O1xyXG5cclxuXHQubWVudS1pdGVtIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGNvbG9yOiAkZ3JheS0xMDA7XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDBweDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMnB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlLCA0cHgpO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIsICYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG5cdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLm5hdmlnYXRpb24tbW9iaWxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSA4MHB4KTtcclxuXHRcdG1hcmdpbi10b3A6IDc1cHg7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRsZWZ0OiAyMDB2aDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0dG9wOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xyXG5cdG1hcmdpbi10b3A6IDEwMHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZS0xMDA7XHJcblx0b3BhY2l0eTogMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR6LWluZGV4OiA5OTk7XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1haW4gbWVudS5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX21haW4ge1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHJcblx0PiBsaSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0Ji5jdXJyZW50X3BhZ2VfYW5jZXN0b3IsXHJcblx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRib3R0b206IDE1cHg7XHJcblx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcblx0XHRcdFx0PiBzcGFuIHN2ZyB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gYSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMjBweCwgMjRweCk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHRwYWRkaW5nOiAyMnB4IDA7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuXHRcdFx0PiBzcGFuIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHggMCA1cHg7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDhweCk7XHJcblx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnN1Ym1lbnUtY29udGFpbmVyIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcclxuXHRcdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuXHRcdFx0XHRcdD4gYSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIERpc2FibGUgc2Nyb2xsLlxyXG4gKi9cclxuXHJcbmJvZHkuaXMtYWN0aXZlIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQuaGVhZGVyOjpiZWZvcmUge1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuJHRyYW5zaXRpb24tdGltaW5nOiA0MDBtcztcclxuIC5oZWFkZXJfX21lbnUtYnV0dG9uIHtcclxuXHQgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdCBkaXNwbGF5OiBibG9jaztcclxuXHRcdCBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQgd2lkdGg6IDE2cHg7XHJcblx0XHQgaGVpZ2h0OiAxNHB4O1xyXG5cdFx0IHotaW5kZXg6IDEwMDtcclxuIFxyXG5cdFx0IHNwYW4ge1xyXG5cdFx0XHQgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHQgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHQgcmlnaHQ6IDA7XHJcblx0XHRcdCBsZWZ0OiAwO1xyXG5cdFx0XHQgd2lkdGg6IDE2cHg7XHJcblx0XHRcdCBoZWlnaHQ6IDJweDtcclxuXHRcdFx0IGJvcmRlci1yYWRpdXM6IDFweDtcclxuXHRcdFx0IG1hcmdpbjogYXV0bztcclxuXHRcdFx0IGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcbiBcclxuXHRcdFx0ICY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHQgdG9wOiAwO1xyXG5cdFx0XHRcdCB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgdG9wICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XHJcblx0XHRcdCB9XHJcbiBcclxuXHRcdFx0ICY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHQgdG9wOiBjYWxjKDUwJSAtIDFweCk7XHJcblx0XHRcdFx0IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBvcGFjaXR5IDBtcyAkdHJhbnNpdGlvbi10aW1pbmc7XHJcblx0XHRcdFx0IGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0IG9wYWNpdHk6IDE7XHJcblx0XHRcdCB9XHJcbiBcclxuXHRcdFx0ICY6bnRoLWNoaWxkKDMpIHtcclxuXHRcdFx0XHQgYm90dG9tOiAwO1xyXG5cdFx0XHRcdCB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XHJcblx0XHRcdFx0IGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdCB9XHJcblx0XHQgfVxyXG4gXHJcblx0XHQgJi5pcy1hY3RpdmUge1xyXG5cdFx0XHQgc3BhbiB7XHJcblx0XHRcdFx0ICY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHRcdCB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcclxuXHRcdFx0XHRcdCB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHRcdFx0IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCB0b3AgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcclxuXHRcdFx0XHQgfVxyXG4gXHJcblx0XHRcdFx0ICY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHRcdCBvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdCB9XHJcbiBcclxuXHRcdFx0XHQgJjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdFx0IGJvdHRvbTogY2FsYyg1MCUgLSAxcHgpO1xyXG5cdFx0XHRcdFx0IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdFx0XHRcdCB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmc7XHJcblx0XHRcdFx0IH1cclxuXHRcdFx0IH1cclxuXHRcdCB9XHJcblx0IH1cclxuIFxyXG5cdCBkaXNwbGF5OiBub25lO1xyXG4gfVxyXG4iLCJcclxuIiwiLm5ld3MtbGlzdCwgLm5ld3MtbGF0ZXN0IHtcclxuXHRtYXJnaW46IDUwcHggMDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9fdGl0bGUsIC5uZXdzLWxhdGVzdF9fdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9fd3JhcCwgLm5ld3MtbGF0ZXN0X193cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRnYXA6IDIwcHggMDtcclxuXHR9XHJcblx0Z2FwOiA0MHB4O1xyXG5cdC5uZXdzLWl0ZW0ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHRcdHdpZHRoOiBjYWxjKDMzJSAtIDI0cHgpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFzaC1ncmF5LTEwMDtcclxuXHR9XHJcblxyXG5cdC5uZXdzLWl0ZW1fX2ltYWdlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0aGVpZ2h0OiAxNTBweDtcclxuXHRcdH1cclxuXHRcdGhlaWdodDogMjMwcHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNTBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRoZWlnaHQ6IDIzMHB4O1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubmV3cy1pdGVtX19ib2R5IHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAxNTBweClcclxuXHRcdH1cclxuXHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gMjMwcHgpO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblxyXG5cdC5uZXdzLWl0ZW1fX3RpdGxlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdH1cclxuXHJcblx0Lm5ld3MtaXRlbV9fdGVhc2VyIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5uZXdzLWl0ZW1fX21vcmUge1xyXG5cdFx0bWFyZ2luLXRvcDogYXV0bztcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuXHRcdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0XHR3aWR0aDogMjBweDtcclxuXHRcdFx0ZmlsbDogJHdoaXRlLTEwMDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLm5ld3Mtc2luZ2xlIHtcclxuXHRtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX2ltYWdlIHtcclxuXHRpbWcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRoZWlnaHQ6IDMwMHB4O1xyXG5cdFx0fVxyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDUwMHB4O1xyXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDA7XHJcblx0fVxyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0cGFkZGluZzogNjBweCAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTEwO1xyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX2JhY2sge1xyXG5cdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdG9wYWNpdHk6IDAuODtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRsZWZ0OiAtNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIudGV4dC1pbWFnZSB7XHJcblx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIDc1cHgpO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHJcblx0Ji5wb3NpdGlvbi0tcmlnaHQge1xyXG5cdFx0LnRleHQtaW1hZ2VfX2ltYWdlIHtcclxuXHRcdFx0b3JkZXI6IDI7XHJcblx0XHR9XHJcblx0XHQudGV4dC1pbWFnZV9fYm9keSB7XHJcblx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLWNvbG9yLS1ncmF5IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhc2gtZ3JheS0xMDA7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHQuYnV0dG9uIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGV4dC1pbWFnZV9faW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHR3aWR0aDogNTAlO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0bWF4LWhlaWdodDogMzAwcHg7XHJcblx0XHR9XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdH1cclxufVxyXG5cclxuLnRleHQtaW1hZ2VfX2JvZHkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHR3aWR0aDogNTAlO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGV4dC1pbWFnZV9fYm9keS13cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cGFkZGluZzogMjBweDtcclxuXHR9XHJcblx0bWF4LXdpZHRoOiA4NDBweDtcclxuXHRwYWRkaW5nOiA2MHB4O1xyXG59XHJcblxyXG4udGV4dC1pbWFnZV9fYm9keS10aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnRleHQtdGl0bGVfX2JvZHktbGluayB7XHJcblx0bWFyZ2luLXRvcDogNDVweDtcclxufVxyXG5cclxuLnRleHQtaW1hZ2VfX2FuY2hvciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogMTBweDtcclxuXHRsZWZ0OiA2MHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdHN2ZyB7XHJcblx0XHRoZWlnaHQ6IDI2cHg7XHJcblx0XHR3aWR0aDogMjZweDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3BhY2l0eTogMC41O1xyXG5cdH1cclxufVxyXG4iLCIuY29udGVudC1yb3dzIHtcclxuXHRwYWRkaW5nLXRvcDogODBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtcm93c19fd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdCYuaGFzLTEtcm93cyB7XHJcblx0XHQuY29udGVudC1yb3cge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaGFzLTItcm93cyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHRnYXA6IDMwcHggMDtcclxuXHRcdH1cclxuXHRcdGdhcDogMCAzMHB4O1xyXG5cdFx0LmNvbnRlbnQtcm93IHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaGFzLTMtcm93cyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHRnYXA6IDMwcHggMDtcclxuXHRcdH1cclxuXHRcdGdhcDogMCAzMHB4O1xyXG5cdFx0LmNvbnRlbnQtcm93IHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHR3aWR0aDogY2FsYygzMyUgLSAxNXB4KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LXJvdyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGFzaC1ncmF5LTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLmNvbnRlbnQtcm93X19pbWFnZSB7XHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGhlaWdodDogMzAwcHg7XHJcblx0XHR9XHJcblx0XHRoZWlnaHQ6IDQ4MHB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LXJvd19fYm9keSB7XHJcblx0cGFkZGluZzogMzBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtcm93X190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufSIsIi5jdGEge1xyXG5cdG1hcmdpbi10b3A6IDE2MHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4uY3RhLWJvZHkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHR3aWR0aDogNDAlO1xyXG59XHJcblxyXG4uY3RhLWltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHR9XHJcblx0d2lkdGg6IDYwJTtcclxuXHRtYXgtaGVpZ2h0OiA2MDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5jdGEtaW1hZ2VfX2ltYWdlIHtcclxuXHRcclxuXHRpbWcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRoZWlnaHQ6IDMwMHB4O1xyXG5cdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdFx0fVxyXG5cdFx0aGVpZ2h0OiA2MDBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5jdGEtYm9keV9fdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmN0YS1ib2R5X19saW5rIHtcclxuXHRtYXJnaW4tdG9wOiA0MHB4O1xyXG59IiwiLmNvbnRhY3Qge1xyXG5cdG1hcmdpbi10b3A6IDEyMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0X190aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG59XHJcblxyXG4uY29udGFjdC1pbmZvcm1hdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0Z2FwOiA5MHB4IDA7XHJcblx0fVxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogMCA1MHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblxyXG5cdCYuaGFzLTMtcm93cyB7XHJcblx0XHQuY29udGFjdC1pbmZvcm1hdGlvbi1yb3cge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdFx0d2lkdGg6IGNhbGMoMzMlIC0gMzFweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmhhcy0yLXJvd3Mge1xyXG5cdFx0LmNvbnRhY3QtaW5mb3JtYXRpb24tcm93IHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtMS1yb3dzIHtcclxuXHRcdC5jb250YWN0LWluZm9ybWF0aW9uLXJvdyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNvbnRhY3QtaW5mb3JtYXRpb24tcm93X190aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uY29udGFjdF9fbG9jYXRpb24ge1xyXG5cdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0aWZyYW1lIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAyMDBweDtcclxuXHR9XHJcbn0iLCIubG9nb3Mge1xyXG5cdHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Z2FwOiAwIDQwcHg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4ubG9nb3MgLmxvZ28ge1xyXG5cdGltZyB7XHJcblx0XHRtYXgtaGVpZ2h0OiA2MHB4O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDgwcHg7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqXHJcbiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvbiBldmVyeSBjb2xvciBkZWZpbml0aW9uIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSBgJGtleWAgYW5kIGAkbWFwYCBpbiB0aGUgYCRjb2xvcnNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbiAqL1xyXG4gXHJcbkBlYWNoICRrZXksICRtYXAgaW4gJGNvbG9ycyB7XHJcblxyXG5cdC8vIExvb3AgdGhyb3VnaCBldmVyeSBgJHNoYWRlYCBhbmQgYCRyZ2JgIGluIGAkbWFwYC5cclxuXHRAZWFjaCAkc2hhZGUsICRyZ2IgaW4gJG1hcCB7XHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kLWNvbG9yYCBydWxlcy5cclxuXHRcdEBlYWNoICRydWxlIGluIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBgI3skcnVsZX1gICN7JHJnYn0tI3skc2hhZGV9IGNvbG9yIHV0aWxpdHkuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LiN7JHJ1bGV9LSN7dW5xdW90ZSgka2V5KX0tI3t1bnF1b3RlKCRzaGFkZSl9IHtcclxuXHRcdFx0XHQjeyRydWxlfTogJHJnYjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxyXG4gKi9cclxuXHJcbi52aXN1YWxseS1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcblx0Y2xpcC1wYXRoOiBpbnNldCgxcHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1ha2UgbGF6eWxvYWQgcGxhY2Vob2xkZXIgMTAwJSB3aWRlLlxyXG4gKi9cclxuXHJcbi5sYXp5bG9hZCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxyXG4gKiB0aGF0IHV0aWxpemVzIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXHJcbiAqL1xyXG5cclxuJW9iamVjdC1maXQsXHJcbi5vYmplY3QtZml0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XHJcblx0b2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQWxpZ24gY2VudGVyLlxyXG4gKi9cclxuXHJcbi5hbGlnbi1jZW50ZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIGxlZnQuXHJcbiAqL1xyXG5cclxuLmFsaWduLWxlZnQge1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiByaWdodC5cclxuICovXHJcblxyXG4uYWxpZ24tcmlnaHQge1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbiIsIi8qKlxyXG4gKiBPYmplY3QgZml0LlxyXG4gKlxyXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxyXG4gKiBMb29wIHRocm91Z2ggZXZlcnkgdmFsdWUgZm9yIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXHJcbiAqL1xyXG5cclxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcclxuXHJcblx0LyoqXHJcblx0ICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxyXG5cdCAqL1xyXG5cclxuXHQuI3skdmFsdWV9IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogI3skdmFsdWV9Oyc7IC8qIDEgKi9cclxuXHRcdG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXHJcbiAqL1xyXG5cclxuQGVhY2ggJHZhbHVlIGluIHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5IHtcclxuXHQuI3skdmFsdWV9IHtcclxuXHRcdHBvc2l0aW9uOiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiIsIlxyXG4vKipcclxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LWZhbWlseSB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuXHRcdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICRwcm9wZXJ0eSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBzaXplIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1zaXplIHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHRleHQoJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XHJcblx0XHRcdCRpOiAkaSAqIDEwMDsgLy8gWzFdXHJcblxyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGl9IHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogI3skaX07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCB0cmFuc2Zvcm0gdWl0bGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICR0cmFuc2Zvcm0gaW4gY2FwaXRhbGl6ZSwgdXBwZXJjYXNlLCBsb3dlcmNhc2UsIG5vbmUsIGZ1bGwtd2lkdGgge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHRyYW5zZm9ybX0ge1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBWZXJ0aWNhbCBSaHl0aG0uXHJcbiAqL1xyXG4gXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG5cdCRpOiAkaSAqIDg7XHJcblxyXG5cdC52ci0jeyRpfSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG5cdC56LWluZGV4LSN7JGtleX0ge1xyXG5cdFx0ei1pbmRleDogJHZhbHVlO1xyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBUUg7O0dBRUc7QUFXSDs7R0FFRztBQWFIOztHQUVHO0FDeENIOztHQUVHO0FBbUNIOztHQUVHO0FFdkNIOztHQUVHO0FBZUg7O0dBRUc7QUFNSDs7R0FFRztBQWVIOztHQUVHO0FBTUgsQUFBQSxDQUFDLEFBQUEsV0FBVyxDQUFDO0VBQ1gsZ0JBQWdCLEVGN0NULEtBQWtCO0VFOEN6QixLQUFLLEVGL0JFLEtBQW9CLEdFZ0M1Qjs7QUFFRDs7R0FFRztBTG5ESDs7R0FFRztBTVJILDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDMUIsd0JBQXdCLEVBQUUsSUFBSTtFQUFFLE9BQU8sRUFDeEM7O0FBRUQ7Z0ZBQ2dGO0FB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 */
