/**
 * Defines the main color of the shop theme. Usage: primary elements' background and color.
 */
/**
 * Defines alternative color of the shop theme. Usage: secondary elements' background and color.
 */
/**
 * Defines white color. Usage: not transparent elements' background of default background.
 */
/**
 * Defines a light shade color. Usage: elements' background, borders and text.
 */
/**
 * Defines a lighter shade color. Usage: elements' background, borders and text.
 */
/**
 * Defines the lightest shade color. Usage: elements' background, borders and text.
 */
/**
 * Defines the shade of the black color. Usage: as a base of black color for semi-transparent elements.
 */
/**
 * Defines a dark shade color. Usage: elements' text color variant.
 */
/**
 * Defines a darker shade color. Usage: elements' text color variant.
 */
/**
 * Defines the darkest shade color. Usage: elements' text color variant.
 */
/**
 * Defines a transparent color. Usage: elements' background, border.
 */
/**
 * Defines the main background color. Usage: body and side-drawer background.
 */
/**
 * Defines the main color of text. Usage: default global text color.
 */
/**
 * Defines a default global border color for the input elements.
 */
/**
 * Defines a default global border color for the input elements on focus event.
 */
/**
 * Defines a shadow shade and transparency for the shadowed elements.
 */
/**
 * Defines a default overlay color. Usage: elements with overlay - side-drawer, popups etc.
 */
/**
 * Defines a default image overlay color. Usage: images with overlay - lazy-image.
 */
/**
 * Defines action colors map.
 */
/**
 * Defines font family setting. Usage: body global font styles.
 */
/**
 * Defines font family setting for code. Can be used for code and pre elements.
 */
/**
 * Defines basic font size. Usage: global basic font size.
 */
/**
 * Font size values map. Usage: mixins providing styles for headings, text elements etc.
 */
/**
 * Font weight values map. Usage: mixin to set font weight property.
 */
/**
 * Font line height values map. Usage: mixins providing styles for headings, text elements etc.
 */
/**
 * Defines a default duration value for the animation effects. Usage: mixins providing animation properties.
 */
/**
 * Defines a default timing function for the animation effects. Usage: mixins providing animation properties.
 */
/**
 * Defines default z-index value.
 */
/**
 * Defines z-index value for the floating elements.
 */
/**
 * Defines z-index value for the header context.
 */
/**
 * Defines z-index value for the side drawer context.
 */
/**
 * Defines z-index value for the popup.
 */
/**
 * Defines z-index value for the overlay.
 */
/**
 * Defines z-index value for the notification area context.
 */
/**
 * Defines z-index value for the search suggestions context.
 */
/**
 * Defines z-index value for the ajax loader.
 */
/**
 * Defines z-index value for the top navigation context.
 */
/**
 * Defines spacing values map. Usage: spacing helpers and mixins.
 */
/**
 * Defines breakpoints' values for responsive.
 */
/**
 * Defines grid system columns count.
 */
/**
 * Defines grid container max width.
 */
/**
 * Defines gutters' size for grid "with-gutter" modifier.
 */
/**
 * Defines import blacklist. Usage: import helper.
 */
/**
 * Provides list of properies for reset usage.
 */
/**
 * Wrapper function for the darken sass function with a default degree parameter.
 * @param {Color} $setting-color
 * @param {Number} $degree [10]
 */
/**
 * Wrapper function for the lighten sass function with a default degree parameter.
 * @param {Color} $setting-color
 * @param {Number} $degree [10]
 */
/**
 * Sets font-size property from font size settings map - $setting-font-size according to the passed map key.
 * @param {String | Number} $size
 */
/**
 * Sets font-weight property from font weight settings map - $setting-font-weight according to the passed map key.
 * @param {String} $weight
 */
/**
 * Sets line-height property from line-height settings map - $setting-font-line-height according to the passed map key.
 * @param {String | Number} $height
 */
/**
 * Povides transition property configured by the passed parameters.
 * @param {String} $props
 * @param {Number} $duration [$setting-effect-default-duration]
 * @param {String} $ease [$setting-effect-default-ease]
 */
/**
 * Forces element visibility.
 */
/**
 * Forces element invisibility.
 */
/**
 * Provides global class names with spacing properties set from $setting-spacing map.
 * @param {String} $name Main selector name.
 * @param {List} $sides [[]] List of sides to set properties.
 */
/**
 * Returns 0 or the first value from the $edges list.
 * @param {List} $edges [$setting-breakpoints] List length must be less than or equal to 2.
 * @return {Base}
 */
/**
 * Returns null or the last value from the $edges list.
 * @param {List} $edges [$setting-breakpoints] List length must be less than or equal to 2.
 * @return {Base}
 */
/**
 * Sets screen media query with min-width set to $min parameter.
 * @param $min {Number} [0]
 * @content Extends mixin with properties for media query.
 */
/**
 * Sets screen media query with breakpoints range passed as parameters.
 * @param {Number} $min [0]
 * @param {Number} $max [$setting-grid-max-width]
 * @content Extends mixin with properties for media query.
 */
/**
 * Sets screen media query with max-width set to $max parameter.
 * @param {Number} $max [$setting-grid-max-width]
 * @content Extends mixin with properties for media query.
 */
/**
 * Sets screen media query with breakpoints range passed to parameters or
 * with min-width query if only one parameter is passed.
 * @param {Number} $max [$setting-grid-max-width]
 * @content Extends mixin with properties for media query.
 */
/**
 * Returns column ratio in relation to columns count.
 * @param {Number} $column
 * @param {Number} $columns [$setting-grid-columns]
 * @return {Number}
 */
/**
 * Adds clearing for element with floated child elements.
 */
/**
 * Adds a box-shadow with basic values.
 */
/**
 * Checks parameter on presence in the blacklist of imports setting list.
 * @param {List} $keywords
 * @content Extends mixin with properties if $keywords is not on the blacklist.
 */
/**
 * @deprecated Use agent-widget-agent-control-bar mixin instead.
 */
/**
 * @deprecated Use agent-widget-agent-navigation mixin instead.
 */
.summary-overview__grand-total-price {
  font-size: 1.1rem;
  line-height: 1.4;
}

/**
 * @deprecated Use cms-search-page-sort mixin instead.
 */
/**
 * @deprecated Use company-page-business-unit-chart-item mixin instead.
 */
/**
 * @deprecated Use company-user-agent-widget-company-user-list mixin instead.
 */
/**
 * @deprecated Use file-manager-widget-file-download-link mixin instead.
 */
/**
 * @deprecated Use price-product-volume-widget-volume-price mixin instead.
 */
/**
 * @deprecated Use price-product-volume-widget-volume-price-table mixin instead.
 */
/**
 * @deprecated Use product-option-widget-shopping-list-product-option-list mixin instead.
 */
/**
 * @deprecated Use product-packaging-unit-widget-packaging-unit-cart mixin instead.
 */
/**
 * @deprecated Use product-search-widget-product-quick-add-form mixin instead.
 */
/**
 * @deprecated Use product-review-widget-rating-selector mixin instead.
 */
/**
 * @deprecated Use configurable-bundle-widget-order-configured-bundle mixin instead.
 */
/**
 * @deprecated Use configurable-bundle-widget-order-configured-bundle-product mixin instead.
 */
.collapsible-list__button {
  background-color: rgba(255, 255, 255, 0);
  color: #1ebea0;
  cursor: pointer;
}
.collapsible-list__button:hover {
  text-decoration: underline;
}
.collapsible-list__button::after {
  content: attr(data-show);
}
.collapsible-list__button--shown::after {
  content: attr(data-hide);
}
.collapsible-list__button-content {
  display: none;
}

/* fe-sniffer:disabled correct-scss-component-structure */
/**
 * @deprecated Use shop-ui-quote-status-color mixin instead.
 */
/**
 * @deprecated Use tabs-widget-search-tabs mixin instead.
 */
@font-face {
  font-family: ContinentalStagSans;
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  src: url(../fonts/continentalstagsans-book-web-eot-data.eot), url(../fonts/continentalstagsans-book-web-ttf-data.ttf) format("truetype"), url(../fonts/continentalstagsans-book-web-woff-data.woff) format("woff"), url(../fonts/continentalstagsans-book-web-svg-data.svg) format("svg");
}
@font-face {
  font-family: ContinentalStagSansMedium;
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  src: url(../fonts/continentalstagsans-med-web-eot-data.eot), url(../fonts/continentalstagsans-med-web-ttf-data.ttf) format("truetype"), url(../fonts/continentalstagsans-med-web-woff-data.woff) format("woff"), url(../fonts/continentalstagsans-med-web-svg-data.svg) format("svg");
}
body {
  font-family: ContinentalStagSans, Arial, sans-serif;
  font-size: 15px;
  line-height: 17px;
  overflow-y: hidden;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  margin: 0;
}

p {
  margin: 0 0 1em 0;
}
p:last-child {
  margin-bottom: 0;
}

h1, .h1 {
  font-size: 30px;
  line-height: 30px;
  font-weight: 400;
  margin: 0 0 15px 0;
}

h2, .h2 {
  font-size: 20px;
  line-height: 22px;
  font-weight: 400;
  margin: 0 0 15px 0;
}

h3, .h3 {
  font-size: 18px;
  line-height: 20px;
  font-weight: 400;
  margin: 0 0 15px 0;
}

h4, .h4 {
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  margin: 0 0 15px 0;
}

a {
  font-family: ContinentalStagSansMedium, Arial, sans-serif;
  color: #ffa500;
  text-decoration: none;
}
a:hover {
  color: #e38702;
  text-decoration: underline;
}

:focus {
  outline: none;
}

.button {
  -webkit-appearance: none;
          appearance: none;
  background: #ffa500;
  border: 1px solid transparent;
  border-radius: 16px;
  color: #000;
  padding: 10px 16px;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
}
.button:hover {
  color: #fff;
  background: #6b6b6b;
  text-decoration: none;
}
.button::after {
  width: 3px;
  height: 3px;
  margin: 0 2px 2px 0;
  content: "";
  display: inline-block;
  padding: 2px;
  transform: rotate(-45deg) translate(2px, 2px);
  border-color: currentColor;
  border-style: solid;
  border-width: 0 2px 2px 0;
  vertical-align: middle;
}

.container {
  max-width: 984px;
  margin: 0 auto;
  background: url(../images/bg-wrapper-small-jpg-data.jpg) right top repeat-y;
  background-size: 100%;
  height: 100vh;
}
.container__section {
  padding: 0 5px;
  overflow-y: hidden;
}
.container__section--content {
  padding: 5px;
}
.container__section--fullWidth {
  padding: 0;
}
.container__wrapper {
  padding: 20px 0;
}
.container__wrapper--flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.container__wrapper--bg {
  background: #fff;
  padding: 20px;
}
@media (min-width: 738px) {
  .container__section {
    padding: 0 2.8em;
  }
  .container__section--content {
    padding: 3em 2.8em;
  }
  .container__section--fullWidth {
    padding: 0;
  }
  .container__wrapper--content {
    margin: 4em 0;
  }
}
@media (min-width: 984px) {
  .container__section {
    padding: 0 3.6em;
  }
  .container__section--content {
    padding: 3em 3.6em;
  }
  .container__section--fullWidth {
    padding: 0;
  }
}

.itemSlider {
  margin: 0 -15px;
  display: flex;
  overflow: hidden;
  padding: 0;
}
.itemSlider.slick-initialized .slick-slide {
  margin: 0 15px 10px 15px;
}
.itemSlider .slick-arrow.slick-next {
  right: 0;
}
.itemSlider .slick-arrow.slick-prev {
  left: 0;
}
.itemSlider--logo {
  background: #fff;
  margin: 0;
}
.itemSlider--logo.slick-initialized .slick-slide {
  margin: 0 15px;
}
@media (min-width: 738px) {
  .itemSlider .slick-arrow.slick-next {
    right: -17px;
  }
  .itemSlider .slick-arrow.slick-prev {
    left: -17px;
  }
  .itemSlider--logo .slick-arrow.slick-next {
    right: -32px;
  }
  .itemSlider--logo .slick-arrow.slick-prev {
    left: -32px;
  }
}
@media (min-width: 984px) {
  .itemSlider .slick-arrow.slick-next {
    right: -30px;
  }
  .itemSlider .slick-arrow.slick-prev {
    left: -30px;
  }
  .itemSlider--logo .slick-arrow.slick-next {
    right: -45px;
  }
  .itemSlider--logo .slick-arrow.slick-prev {
    left: -45px;
  }
}

.banner {
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
  position: relative;
  max-width: 1024px;
  flex-direction: column;
}
.banner__image {
  width: 100%;
  height: auto;
  display: block;
}
.banner__content {
  background: #fff;
  padding: 20px 30px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}
@media (min-width: 738px) {
  .banner__content {
    bottom: 0;
    margin: 2em 2.8em;
    position: absolute;
    max-width: 50%;
    max-height: calc(100% - 4em);
    background: none;
  }
  .banner__content > :first-child:not(a) {
    margin: 0 0 15px 0;
    width: 100%;
  }
  .banner__content > p {
    margin: 0;
    overflow: hidden;
    width: 100%;
    flex: 0 1 auto;
  }
  .banner__content > a:nth-child(3) {
    margin-top: 20px;
  }
  .banner__content--lightBg {
    padding: 2em;
    background: rgba(240, 240, 240, 0.75);
  }
  .banner__content--darkBg {
    padding: 2em;
    background: rgba(100, 100, 100, 0.75);
    color: #fff;
  }
  .banner__content--rightAligned {
    right: 0;
  }
  .banner__content--centerAligned {
    margin-left: 0;
    margin-right: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 984px) {
  .banner__content {
    margin: 2em 3.6em;
    max-width: 33%;
  }
}

.teaser {
  margin: 15px auto;
  position: relative;
  flex: 1 1 auto;
  max-width: 609px;
  width: 100%;
}
.teaser:first-child {
  margin-top: 0;
}
.teaser:last-child {
  margin-bottom: 0;
}
.teaser--big .teaser__content > :first-child {
  display: none;
}
.teaser__wrapper {
  color: #000;
  display: flex;
  flex-direction: column;
  font-family: ContinentalStagSans, Arial, sans-serif;
}
.teaser__wrapper:hover {
  color: #000;
  text-decoration: none;
}
.teaser__image {
  max-width: 100%;
}
.teaser__content {
  background: #fff;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.teaser__content > :first-child {
  overflow: hidden;
}
.teaser__link {
  font-family: ContinentalStagSansMedium, Arial, sans-serif;
  color: #ffa500;
}
.teaser__link:hover {
  color: #e38702;
  text-decoration: underline;
}
@media (min-width: 738px) {
  .teaser {
    max-width: calc(50% - 15px);
    margin: 0;
  }
  .teaser:nth-child(n+3) {
    margin-top: 28px;
  }
  .teaser__content {
    height: 100px;
  }
}
@media (min-width: 984px) {
  .teaser {
    max-width: 272px;
  }
  .teaser--big {
    max-width: 575px;
  }
  .teaser--big .teaser__wrapper > :first-child:not(img) {
    display: none;
  }
  .teaser--big .teaser__content > :first-child {
    display: block;
  }
  .teaser--big .teaser__content {
    position: absolute;
    bottom: 0;
    max-width: calc(50% - 54px);
    background: rgba(240, 240, 240, 0.75);
    height: auto;
  }
  .teaser--big .teaser__content--dark {
    background: rgba(100, 100, 100, 0.75);
    color: #fff;
  }
  .teaser--big .teaser__link {
    -webkit-appearance: none;
            appearance: none;
    background: #ffa500;
    border: 1px solid transparent;
    border-radius: 16px;
    color: #000;
    padding: 10px 16px;
    text-decoration: none;
    cursor: pointer;
    line-height: 1;
  }
  .teaser--big .teaser__link:hover {
    color: #fff;
    background: #6b6b6b;
    text-decoration: none;
  }
  .teaser--big .teaser__link::after {
    width: 3px;
    height: 3px;
    margin: 0 2px 2px 0;
    content: "";
    display: inline-block;
    padding: 2px;
    transform: rotate(-45deg) translate(2px, 2px);
    border-color: currentColor;
    border-style: solid;
    border-width: 0 2px 2px 0;
    vertical-align: middle;
  }
}

.promoBar {
  background: #ffa500;
  line-height: 1.2;
  padding: 1.2em 0 1em 0;
  box-shadow: -5em 0 0 0 #ffa500, 5em 0 0 0 #ffa500;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.promoBar p {
  margin: 0;
  flex: 0 1 auto;
  text-align: center;
}
.promoBar a {
  color: #000;
  margin-left: 10px;
  white-space: nowrap;
}
.promoBar a:hover {
  color: #000;
}
.promoBar a::after {
  width: 3px;
  height: 3px;
  margin: 0 2px 2px 0;
  content: "";
  display: inline-block;
  padding: 2px;
  transform: rotate(-45deg) translate(2px, 2px);
  border-color: currentColor;
  border-style: solid;
  border-width: 0 2px 2px 0;
  vertical-align: middle;
}

.productTile {
  width: 33.333%;
  margin: 0 15px;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  transition: box-shadow 0.3s ease-in-out;
  padding: 15px;
  background: #fff;
}
.productTile:hover {
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5);
  text-decoration: none;
}
.productTile__image {
  width: 100%;
  flex: 1 0 100%;
}
.productTile__imageWrapper {
  display: flex;
  overflow: hidden;
  position: relative;
  align-items: center;
  text-indent: -9999px;
  justify-content: center;
  width: 100%;
  min-width: 100%;
  background: #fff;
}
.productTile__imageWrapper::after {
  width: 100%;
  content: "";
  display: block;
  padding-top: 100%;
}
.productTile__content {
  background: #fff;
  padding-top: 15px;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  font-family: ContinentalStagSansMedium, Arial, sans-serif;
  font-size: 13px;
  line-height: 17px;
}
.productTile__name {
  margin: 0;
  color: #6b6b6b;
  font-weight: 400;
  line-height: 17px;
  padding-bottom: 10px;
  flex-grow: 1;
}
.productTile__price {
  display: block;
  color: #ffa500;
  font-weight: 500;
  text-align: right;
}

.faqItem {
  background: #fff;
  margin-top: 20px;
  display: block;
  padding: 20px;
  position: relative;
}
.faqItem--open .faqItem__content {
  height: auto;
  padding-top: 20px;
}
.faqItem--open .faqItem__toggle::after {
  transform: translate(4px, 11px);
}
.faqItem__title {
  cursor: pointer;
  margin: 0;
  font-size: 20px;
  padding-right: 40px;
}
.faqItem__toggle {
  display: block;
  width: 28px;
  height: 28px;
  background: #ffa500;
  border: 1px solid #ffa500;
  border-radius: 50%;
  position: absolute;
  top: 15px;
  right: 10px;
}
.faqItem__toggle::before, .faqItem__toggle::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
  transform: translate(4px, 13px);
  transition: all 0.3s;
}
.faqItem__toggle::after {
  transform: translate(4px, 11px) rotate(90deg);
}
.faqItem__content {
  overflow: hidden;
  height: 0;
  transition: all 0.3s ease;
}

/* Slider */
.slick-slider {
  position: relative;
  overflow: visible;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-slider .slick-track, .slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

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

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

.slick-loading .slick-track {
  visibility: hidden;
}
.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

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

.slick-track {
  display: flex;
}

.slick-initialized .slick-slide {
  display: flex;
  height: auto;
}

.slick-arrow {
  -webkit-appearance: none;
          appearance: none;
  border: 0;
  font-size: 0;
  background: none;
  position: absolute;
  width: 27px;
  height: 52px;
  display: block;
  z-index: 1;
  overflow: hidden;
  padding: 0;
  transform: translateY(-50%);
  top: 50%;
  cursor: pointer;
  color: #fff;
}
.slick-arrow::after, .slick-arrow::before {
  content: "";
  display: block;
  width: 30px;
  border-top: 3px solid currentColor;
  transform: rotate(58deg) translate(40%, 5px);
  position: absolute;
  top: 0;
}
.slick-arrow::after {
  transform: rotate(-58deg) translate(-30px, 21px);
}
.slick-arrow:hover {
  color: #ffa500;
}
.slick-arrow:focus {
  outline: none;
}
.slick-arrow.slick-next {
  right: 10px;
}
.slick-arrow.slick-prev {
  left: 10px;
  transform: rotate(180deg) translateY(50%);
}

.slick-dotted {
  margin-bottom: 30px;
}

.slick-dots {
  margin: 10px 0 0 0;
  display: flex;
  justify-content: center;
  padding: 0;
  position: absolute;
  width: 100%;
}
.slick-dots li {
  list-style: none;
  display: block;
  margin: 0 10px;
}
.slick-dots li button {
  -webkit-appearance: none;
          appearance: none;
  background: #fff;
  border: 1px solid currentColor;
  color: #fff;
  border-radius: 50%;
  width: 15px;
  height: 15px;
  padding: 0;
}
.slick-dots li button:hover {
  color: #6b6b6b;
  background: #6b6b6b;
}
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li.slick-active button {
  color: #ffa500;
  background: #ffa500;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvUHl6L1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL2Jhc2ljLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdCQUFnQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsS0FBSztBQUNoQjtBQUNBO0FBQ0E7QUFDQSxXQUFXLEtBQUs7QUFDaEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBLFdBQVcsS0FBSztBQUNoQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLE9BQU87QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEtBQUs7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDIiwiZmlsZSI6Ii4vY3NzL2NvbnRpbmVudGFsLmNvbnRpbmVudGFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVmaW5lcyB0aGUgbWFpbiBjb2xvciBvZiB0aGUgc2hvcCB0aGVtZS4gVXNhZ2U6IHByaW1hcnkgZWxlbWVudHMnIGJhY2tncm91bmQgYW5kIGNvbG9yLlxuICovXG4vKipcbiAqIERlZmluZXMgYWx0ZXJuYXRpdmUgY29sb3Igb2YgdGhlIHNob3AgdGhlbWUuIFVzYWdlOiBzZWNvbmRhcnkgZWxlbWVudHMnIGJhY2tncm91bmQgYW5kIGNvbG9yLlxuICovXG4vKipcbiAqIERlZmluZXMgd2hpdGUgY29sb3IuIFVzYWdlOiBub3QgdHJhbnNwYXJlbnQgZWxlbWVudHMnIGJhY2tncm91bmQgb2YgZGVmYXVsdCBiYWNrZ3JvdW5kLlxuICovXG4vKipcbiAqIERlZmluZXMgYSBsaWdodCBzaGFkZSBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzJyBiYWNrZ3JvdW5kLCBib3JkZXJzIGFuZCB0ZXh0LlxuICovXG4vKipcbiAqIERlZmluZXMgYSBsaWdodGVyIHNoYWRlIGNvbG9yLiBVc2FnZTogZWxlbWVudHMnIGJhY2tncm91bmQsIGJvcmRlcnMgYW5kIHRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB0aGUgbGlnaHRlc3Qgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgYmFja2dyb3VuZCwgYm9yZGVycyBhbmQgdGV4dC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHRoZSBzaGFkZSBvZiB0aGUgYmxhY2sgY29sb3IuIFVzYWdlOiBhcyBhIGJhc2Ugb2YgYmxhY2sgY29sb3IgZm9yIHNlbWktdHJhbnNwYXJlbnQgZWxlbWVudHMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBhIGRhcmsgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4vKipcbiAqIERlZmluZXMgYSBkYXJrZXIgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4vKipcbiAqIERlZmluZXMgdGhlIGRhcmtlc3Qgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4vKipcbiAqIERlZmluZXMgYSB0cmFuc3BhcmVudCBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzJyBiYWNrZ3JvdW5kLCBib3JkZXIuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB0aGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yLiBVc2FnZTogYm9keSBhbmQgc2lkZS1kcmF3ZXIgYmFja2dyb3VuZC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHRoZSBtYWluIGNvbG9yIG9mIHRleHQuIFVzYWdlOiBkZWZhdWx0IGdsb2JhbCB0ZXh0IGNvbG9yLlxuICovXG4vKipcbiAqIERlZmluZXMgYSBkZWZhdWx0IGdsb2JhbCBib3JkZXIgY29sb3IgZm9yIHRoZSBpbnB1dCBlbGVtZW50cy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCBnbG9iYWwgYm9yZGVyIGNvbG9yIGZvciB0aGUgaW5wdXQgZWxlbWVudHMgb24gZm9jdXMgZXZlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBhIHNoYWRvdyBzaGFkZSBhbmQgdHJhbnNwYXJlbmN5IGZvciB0aGUgc2hhZG93ZWQgZWxlbWVudHMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBhIGRlZmF1bHQgb3ZlcmxheSBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzIHdpdGggb3ZlcmxheSAtIHNpZGUtZHJhd2VyLCBwb3B1cHMgZXRjLlxuICovXG4vKipcbiAqIERlZmluZXMgYSBkZWZhdWx0IGltYWdlIG92ZXJsYXkgY29sb3IuIFVzYWdlOiBpbWFnZXMgd2l0aCBvdmVybGF5IC0gbGF6eS1pbWFnZS5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGFjdGlvbiBjb2xvcnMgbWFwLlxuICovXG4vKipcbiAqIERlZmluZXMgZm9udCBmYW1pbHkgc2V0dGluZy4gVXNhZ2U6IGJvZHkgZ2xvYmFsIGZvbnQgc3R5bGVzLlxuICovXG4vKipcbiAqIERlZmluZXMgZm9udCBmYW1pbHkgc2V0dGluZyBmb3IgY29kZS4gQ2FuIGJlIHVzZWQgZm9yIGNvZGUgYW5kIHByZSBlbGVtZW50cy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGJhc2ljIGZvbnQgc2l6ZS4gVXNhZ2U6IGdsb2JhbCBiYXNpYyBmb250IHNpemUuXG4gKi9cbi8qKlxuICogRm9udCBzaXplIHZhbHVlcyBtYXAuIFVzYWdlOiBtaXhpbnMgcHJvdmlkaW5nIHN0eWxlcyBmb3IgaGVhZGluZ3MsIHRleHQgZWxlbWVudHMgZXRjLlxuICovXG4vKipcbiAqIEZvbnQgd2VpZ2h0IHZhbHVlcyBtYXAuIFVzYWdlOiBtaXhpbiB0byBzZXQgZm9udCB3ZWlnaHQgcHJvcGVydHkuXG4gKi9cbi8qKlxuICogRm9udCBsaW5lIGhlaWdodCB2YWx1ZXMgbWFwLiBVc2FnZTogbWl4aW5zIHByb3ZpZGluZyBzdHlsZXMgZm9yIGhlYWRpbmdzLCB0ZXh0IGVsZW1lbnRzIGV0Yy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCBkdXJhdGlvbiB2YWx1ZSBmb3IgdGhlIGFuaW1hdGlvbiBlZmZlY3RzLiBVc2FnZTogbWl4aW5zIHByb3ZpZGluZyBhbmltYXRpb24gcHJvcGVydGllcy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCB0aW1pbmcgZnVuY3Rpb24gZm9yIHRoZSBhbmltYXRpb24gZWZmZWN0cy4gVXNhZ2U6IG1peGlucyBwcm92aWRpbmcgYW5pbWF0aW9uIHByb3BlcnRpZXMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBkZWZhdWx0IHotaW5kZXggdmFsdWUuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgZmxvYXRpbmcgZWxlbWVudHMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgaGVhZGVyIGNvbnRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgc2lkZSBkcmF3ZXIgY29udGV4dC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBwb3B1cC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBvdmVybGF5LlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBhcmVhIGNvbnRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgc2VhcmNoIHN1Z2dlc3Rpb25zIGNvbnRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgYWpheCBsb2FkZXIuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgdG9wIG5hdmlnYXRpb24gY29udGV4dC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHNwYWNpbmcgdmFsdWVzIG1hcC4gVXNhZ2U6IHNwYWNpbmcgaGVscGVycyBhbmQgbWl4aW5zLlxuICovXG4vKipcbiAqIERlZmluZXMgYnJlYWtwb2ludHMnIHZhbHVlcyBmb3IgcmVzcG9uc2l2ZS5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGdyaWQgc3lzdGVtIGNvbHVtbnMgY291bnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBncmlkIGNvbnRhaW5lciBtYXggd2lkdGguXG4gKi9cbi8qKlxuICogRGVmaW5lcyBndXR0ZXJzJyBzaXplIGZvciBncmlkIFwid2l0aC1ndXR0ZXJcIiBtb2RpZmllci5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGltcG9ydCBibGFja2xpc3QuIFVzYWdlOiBpbXBvcnQgaGVscGVyLlxuICovXG4vKipcbiAqIFByb3ZpZGVzIGxpc3Qgb2YgcHJvcGVyaWVzIGZvciByZXNldCB1c2FnZS5cbiAqL1xuLyoqXG4gKiBXcmFwcGVyIGZ1bmN0aW9uIGZvciB0aGUgZGFya2VuIHNhc3MgZnVuY3Rpb24gd2l0aCBhIGRlZmF1bHQgZGVncmVlIHBhcmFtZXRlci5cbiAqIEBwYXJhbSB7Q29sb3J9ICRzZXR0aW5nLWNvbG9yXG4gKiBAcGFyYW0ge051bWJlcn0gJGRlZ3JlZSBbMTBdXG4gKi9cbi8qKlxuICogV3JhcHBlciBmdW5jdGlvbiBmb3IgdGhlIGxpZ2h0ZW4gc2FzcyBmdW5jdGlvbiB3aXRoIGEgZGVmYXVsdCBkZWdyZWUgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtDb2xvcn0gJHNldHRpbmctY29sb3JcbiAqIEBwYXJhbSB7TnVtYmVyfSAkZGVncmVlIFsxMF1cbiAqL1xuLyoqXG4gKiBTZXRzIGZvbnQtc2l6ZSBwcm9wZXJ0eSBmcm9tIGZvbnQgc2l6ZSBzZXR0aW5ncyBtYXAgLSAkc2V0dGluZy1mb250LXNpemUgYWNjb3JkaW5nIHRvIHRoZSBwYXNzZWQgbWFwIGtleS5cbiAqIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkc2l6ZVxuICovXG4vKipcbiAqIFNldHMgZm9udC13ZWlnaHQgcHJvcGVydHkgZnJvbSBmb250IHdlaWdodCBzZXR0aW5ncyBtYXAgLSAkc2V0dGluZy1mb250LXdlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHBhc3NlZCBtYXAga2V5LlxuICogQHBhcmFtIHtTdHJpbmd9ICR3ZWlnaHRcbiAqL1xuLyoqXG4gKiBTZXRzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IGZyb20gbGluZS1oZWlnaHQgc2V0dGluZ3MgbWFwIC0gJHNldHRpbmctZm9udC1saW5lLWhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHBhc3NlZCBtYXAga2V5LlxuICogQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICRoZWlnaHRcbiAqL1xuLyoqXG4gKiBQb3ZpZGVzIHRyYW5zaXRpb24gcHJvcGVydHkgY29uZmlndXJlZCBieSB0aGUgcGFzc2VkIHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0ge1N0cmluZ30gJHByb3BzXG4gKiBAcGFyYW0ge051bWJlcn0gJGR1cmF0aW9uIFskc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1kdXJhdGlvbl1cbiAqIEBwYXJhbSB7U3RyaW5nfSAkZWFzZSBbJHNldHRpbmctZWZmZWN0LWRlZmF1bHQtZWFzZV1cbiAqL1xuLyoqXG4gKiBGb3JjZXMgZWxlbWVudCB2aXNpYmlsaXR5LlxuICovXG4vKipcbiAqIEZvcmNlcyBlbGVtZW50IGludmlzaWJpbGl0eS5cbiAqL1xuLyoqXG4gKiBQcm92aWRlcyBnbG9iYWwgY2xhc3MgbmFtZXMgd2l0aCBzcGFjaW5nIHByb3BlcnRpZXMgc2V0IGZyb20gJHNldHRpbmctc3BhY2luZyBtYXAuXG4gKiBAcGFyYW0ge1N0cmluZ30gJG5hbWUgTWFpbiBzZWxlY3RvciBuYW1lLlxuICogQHBhcmFtIHtMaXN0fSAkc2lkZXMgW1tdXSBMaXN0IG9mIHNpZGVzIHRvIHNldCBwcm9wZXJ0aWVzLlxuICovXG4vKipcbiAqIFJldHVybnMgMCBvciB0aGUgZmlyc3QgdmFsdWUgZnJvbSB0aGUgJGVkZ2VzIGxpc3QuXG4gKiBAcGFyYW0ge0xpc3R9ICRlZGdlcyBbJHNldHRpbmctYnJlYWtwb2ludHNdIExpc3QgbGVuZ3RoIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDIuXG4gKiBAcmV0dXJuIHtCYXNlfVxuICovXG4vKipcbiAqIFJldHVybnMgbnVsbCBvciB0aGUgbGFzdCB2YWx1ZSBmcm9tIHRoZSAkZWRnZXMgbGlzdC5cbiAqIEBwYXJhbSB7TGlzdH0gJGVkZ2VzIFskc2V0dGluZy1icmVha3BvaW50c10gTGlzdCBsZW5ndGggbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMi5cbiAqIEByZXR1cm4ge0Jhc2V9XG4gKi9cbi8qKlxuICogU2V0cyBzY3JlZW4gbWVkaWEgcXVlcnkgd2l0aCBtaW4td2lkdGggc2V0IHRvICRtaW4gcGFyYW1ldGVyLlxuICogQHBhcmFtICRtaW4ge051bWJlcn0gWzBdXG4gKiBAY29udGVudCBFeHRlbmRzIG1peGluIHdpdGggcHJvcGVydGllcyBmb3IgbWVkaWEgcXVlcnkuXG4gKi9cbi8qKlxuICogU2V0cyBzY3JlZW4gbWVkaWEgcXVlcnkgd2l0aCBicmVha3BvaW50cyByYW5nZSBwYXNzZWQgYXMgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXVxuICogQHBhcmFtIHtOdW1iZXJ9ICRtYXggWyRzZXR0aW5nLWdyaWQtbWF4LXdpZHRoXVxuICogQGNvbnRlbnQgRXh0ZW5kcyBtaXhpbiB3aXRoIHByb3BlcnRpZXMgZm9yIG1lZGlhIHF1ZXJ5LlxuICovXG4vKipcbiAqIFNldHMgc2NyZWVuIG1lZGlhIHF1ZXJ5IHdpdGggbWF4LXdpZHRoIHNldCB0byAkbWF4IHBhcmFtZXRlci5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFskc2V0dGluZy1ncmlkLW1heC13aWR0aF1cbiAqIEBjb250ZW50IEV4dGVuZHMgbWl4aW4gd2l0aCBwcm9wZXJ0aWVzIGZvciBtZWRpYSBxdWVyeS5cbiAqL1xuLyoqXG4gKiBTZXRzIHNjcmVlbiBtZWRpYSBxdWVyeSB3aXRoIGJyZWFrcG9pbnRzIHJhbmdlIHBhc3NlZCB0byBwYXJhbWV0ZXJzIG9yXG4gKiB3aXRoIG1pbi13aWR0aCBxdWVyeSBpZiBvbmx5IG9uZSBwYXJhbWV0ZXIgaXMgcGFzc2VkLlxuICogQHBhcmFtIHtOdW1iZXJ9ICRtYXggWyRzZXR0aW5nLWdyaWQtbWF4LXdpZHRoXVxuICogQGNvbnRlbnQgRXh0ZW5kcyBtaXhpbiB3aXRoIHByb3BlcnRpZXMgZm9yIG1lZGlhIHF1ZXJ5LlxuICovXG4vKipcbiAqIFJldHVybnMgY29sdW1uIHJhdGlvIGluIHJlbGF0aW9uIHRvIGNvbHVtbnMgY291bnQuXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtblxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFskc2V0dGluZy1ncmlkLWNvbHVtbnNdXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbi8qKlxuICogQWRkcyBjbGVhcmluZyBmb3IgZWxlbWVudCB3aXRoIGZsb2F0ZWQgY2hpbGQgZWxlbWVudHMuXG4gKi9cbi8qKlxuICogQWRkcyBhIGJveC1zaGFkb3cgd2l0aCBiYXNpYyB2YWx1ZXMuXG4gKi9cbi8qKlxuICogQ2hlY2tzIHBhcmFtZXRlciBvbiBwcmVzZW5jZSBpbiB0aGUgYmxhY2tsaXN0IG9mIGltcG9ydHMgc2V0dGluZyBsaXN0LlxuICogQHBhcmFtIHtMaXN0fSAka2V5d29yZHNcbiAqIEBjb250ZW50IEV4dGVuZHMgbWl4aW4gd2l0aCBwcm9wZXJ0aWVzIGlmICRrZXl3b3JkcyBpcyBub3Qgb24gdGhlIGJsYWNrbGlzdC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYWdlbnQtd2lkZ2V0LWFnZW50LWNvbnRyb2wtYmFyIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGFnZW50LXdpZGdldC1hZ2VudC1uYXZpZ2F0aW9uIG1peGluIGluc3RlYWQuXG4gKi9cbi5zdW1tYXJ5LW92ZXJ2aWV3X19ncmFuZC10b3RhbC1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBjbXMtc2VhcmNoLXBhZ2Utc29ydCBtaXhpbiBpbnN0ZWFkLlxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBjb21wYW55LXBhZ2UtYnVzaW5lc3MtdW5pdC1jaGFydC1pdGVtIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGNvbXBhbnktdXNlci1hZ2VudC13aWRnZXQtY29tcGFueS11c2VyLWxpc3QgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgZmlsZS1tYW5hZ2VyLXdpZGdldC1maWxlLWRvd25sb2FkLWxpbmsgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgcHJpY2UtcHJvZHVjdC12b2x1bWUtd2lkZ2V0LXZvbHVtZS1wcmljZSBtaXhpbiBpbnN0ZWFkLlxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBwcmljZS1wcm9kdWN0LXZvbHVtZS13aWRnZXQtdm9sdW1lLXByaWNlLXRhYmxlIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHByb2R1Y3Qtb3B0aW9uLXdpZGdldC1zaG9wcGluZy1saXN0LXByb2R1Y3Qtb3B0aW9uLWxpc3QgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgcHJvZHVjdC1wYWNrYWdpbmctdW5pdC13aWRnZXQtcGFja2FnaW5nLXVuaXQtY2FydCBtaXhpbiBpbnN0ZWFkLlxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBwcm9kdWN0LXNlYXJjaC13aWRnZXQtcHJvZHVjdC1xdWljay1hZGQtZm9ybSBtaXhpbiBpbnN0ZWFkLlxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBwcm9kdWN0LXJldmlldy13aWRnZXQtcmF0aW5nLXNlbGVjdG9yIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGNvbmZpZ3VyYWJsZS1idW5kbGUtd2lkZ2V0LW9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGNvbmZpZ3VyYWJsZS1idW5kbGUtd2lkZ2V0LW9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlLXByb2R1Y3QgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLmNvbGxhcHNpYmxlLWxpc3RfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGNvbG9yOiAjMWViZWEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29sbGFwc2libGUtbGlzdF9fYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uY29sbGFwc2libGUtbGlzdF9fYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1zaG93KTtcbn1cbi5jb2xsYXBzaWJsZS1saXN0X19idXR0b24tLXNob3duOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1oaWRlKTtcbn1cbi5jb2xsYXBzaWJsZS1saXN0X19idXR0b24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIGZlLXNuaWZmZXI6ZGlzYWJsZWQgY29ycmVjdC1zY3NzLWNvbXBvbmVudC1zdHJ1Y3R1cmUgKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHNob3AtdWktcXVvdGUtc3RhdHVzLWNvbG9yIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRhYnMtd2lkZ2V0LXNlYXJjaC10YWJzIG1peGluIGluc3RlYWQuXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQ29udGluZW50YWxTdGFnU2FucztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvY29udGluZW50YWxzdGFnc2Fucy1ib29rLXdlYi1lb3QtZGF0YS5lb3QpLCB1cmwoLi4vZm9udHMvY29udGluZW50YWxzdGFnc2Fucy1ib29rLXdlYi10dGYtZGF0YS50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvY29udGluZW50YWxzdGFnc2Fucy1ib29rLXdlYi13b2ZmLWRhdGEud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL2NvbnRpbmVudGFsc3RhZ3NhbnMtYm9vay13ZWItc3ZnLWRhdGEuc3ZnKSBmb3JtYXQoXCJzdmdcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IENvbnRpbmVudGFsU3RhZ1NhbnNNZWRpdW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL2NvbnRpbmVudGFsc3RhZ3NhbnMtbWVkLXdlYi1lb3QtZGF0YS5lb3QpLCB1cmwoLi4vZm9udHMvY29udGluZW50YWxzdGFnc2Fucy1tZWQtd2ViLXR0Zi1kYXRhLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy9jb250aW5lbnRhbHN0YWdzYW5zLW1lZC13ZWItd29mZi1kYXRhLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9jb250aW5lbnRhbHN0YWdzYW5zLW1lZC13ZWItc3ZnLWRhdGEuc3ZnKSBmb3JtYXQoXCJzdmdcIik7XG59XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IENvbnRpbmVudGFsU3RhZ1NhbnMsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMWVtIDA7XG59XG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG5hIHtcbiAgZm9udC1mYW1pbHk6IENvbnRpbmVudGFsU3RhZ1NhbnNNZWRpdW0sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmYTUwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciB7XG4gIGNvbG9yOiAjZTM4NzAyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZhNTAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNmI2YjZiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYnV0dG9uOjphZnRlciB7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW46IDAgMnB4IDJweCAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMnB4LCAycHgpO1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogOTg0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnLXdyYXBwZXItc21hbGwtanBnLWRhdGEuanBnKSByaWdodCB0b3AgcmVwZWF0LXk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5jb250YWluZXJfX3NlY3Rpb24ge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLmNvbnRhaW5lcl9fc2VjdGlvbi0tY29udGVudCB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5jb250YWluZXJfX3NlY3Rpb24tLWZ1bGxXaWR0aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4uY29udGFpbmVyX193cmFwcGVyIHtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuLmNvbnRhaW5lcl9fd3JhcHBlci0tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG4uY29udGFpbmVyX193cmFwcGVyLS1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzM4cHgpIHtcbiAgLmNvbnRhaW5lcl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMCAyLjhlbTtcbiAgfVxuICAuY29udGFpbmVyX19zZWN0aW9uLS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzZW0gMi44ZW07XG4gIH1cbiAgLmNvbnRhaW5lcl9fc2VjdGlvbi0tZnVsbFdpZHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jb250YWluZXJfX3dyYXBwZXItLWNvbnRlbnQge1xuICAgIG1hcmdpbjogNGVtIDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODRweCkge1xuICAuY29udGFpbmVyX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDMuNmVtO1xuICB9XG4gIC5jb250YWluZXJfX3NlY3Rpb24tLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDNlbSAzLjZlbTtcbiAgfVxuICAuY29udGFpbmVyX19zZWN0aW9uLS1mdWxsV2lkdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLml0ZW1TbGlkZXIge1xuICBtYXJnaW46IDAgLTE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG59XG4uaXRlbVNsaWRlci5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBtYXJnaW46IDAgMTVweCAxMHB4IDE1cHg7XG59XG4uaXRlbVNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuLml0ZW1TbGlkZXIgLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICBsZWZ0OiAwO1xufVxuLml0ZW1TbGlkZXItLWxvZ28ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDA7XG59XG4uaXRlbVNsaWRlci0tbG9nby5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBtYXJnaW46IDAgMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3MzhweCkge1xuICAuaXRlbVNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0xN3B4O1xuICB9XG4gIC5pdGVtU2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMTdweDtcbiAgfVxuICAuaXRlbVNsaWRlci0tbG9nbyAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0zMnB4O1xuICB9XG4gIC5pdGVtU2xpZGVyLS1sb2dvIC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMzJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4NHB4KSB7XG4gIC5pdGVtU2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTMwcHg7XG4gIH1cbiAgLml0ZW1TbGlkZXIgLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0zMHB4O1xuICB9XG4gIC5pdGVtU2xpZGVyLS1sb2dvIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTQ1cHg7XG4gIH1cbiAgLml0ZW1TbGlkZXItLWxvZ28gLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC00NXB4O1xuICB9XG59XG5cbi5iYW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAyNHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmJhbm5lcl9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5iYW5uZXJfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDczOHB4KSB7XG4gIC5iYW5uZXJfX2NvbnRlbnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDJlbSAyLjhlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNGVtKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIC5iYW5uZXJfX2NvbnRlbnQgPiA6Zmlyc3QtY2hpbGQ6bm90KGEpIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmJhbm5lcl9fY29udGVudCA+IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5iYW5uZXJfX2NvbnRlbnQgPiBhOm50aC1jaGlsZCgzKSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuYmFubmVyX19jb250ZW50LS1saWdodEJnIHtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjc1KTtcbiAgfVxuICAuYmFubmVyX19jb250ZW50LS1kYXJrQmcge1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNzUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5iYW5uZXJfX2NvbnRlbnQtLXJpZ2h0QWxpZ25lZCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmJhbm5lcl9fY29udGVudC0tY2VudGVyQWxpZ25lZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODRweCkge1xuICAuYmFubmVyX19jb250ZW50IHtcbiAgICBtYXJnaW46IDJlbSAzLjZlbTtcbiAgICBtYXgtd2lkdGg6IDMzJTtcbiAgfVxufVxuXG4udGVhc2VyIHtcbiAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1heC13aWR0aDogNjA5cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRlYXNlcjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udGVhc2VyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRlYXNlci0tYmlnIC50ZWFzZXJfX2NvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRlYXNlcl9fd3JhcHBlciB7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LWZhbWlseTogQ29udGluZW50YWxTdGFnU2FucywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG4udGVhc2VyX193cmFwcGVyOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50ZWFzZXJfX2ltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnRlYXNlcl9fY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi50ZWFzZXJfX2NvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRlYXNlcl9fbGluayB7XG4gIGZvbnQtZmFtaWx5OiBDb250aW5lbnRhbFN0YWdTYW5zTWVkaXVtLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNmZmE1MDA7XG59XG4udGVhc2VyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNlMzg3MDI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDczOHB4KSB7XG4gIC50ZWFzZXIge1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnRlYXNlcjpudGgtY2hpbGQobiszKSB7XG4gICAgbWFyZ2luLXRvcDogMjhweDtcbiAgfVxuICAudGVhc2VyX19jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTg0cHgpIHtcbiAgLnRlYXNlciB7XG4gICAgbWF4LXdpZHRoOiAyNzJweDtcbiAgfVxuICAudGVhc2VyLS1iaWcge1xuICAgIG1heC13aWR0aDogNTc1cHg7XG4gIH1cbiAgLnRlYXNlci0tYmlnIC50ZWFzZXJfX3dyYXBwZXIgPiA6Zmlyc3QtY2hpbGQ6bm90KGltZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRlYXNlci0tYmlnIC50ZWFzZXJfX2NvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC50ZWFzZXItLWJpZyAudGVhc2VyX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSA1NHB4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNzUpO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAudGVhc2VyLS1iaWcgLnRlYXNlcl9fY29udGVudC0tZGFyayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjc1KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAudGVhc2VyLS1iaWcgLnRlYXNlcl9fbGluayB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhNTAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLnRlYXNlci0tYmlnIC50ZWFzZXJfX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICM2YjZiNmI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC50ZWFzZXItLWJpZyAudGVhc2VyX19saW5rOjphZnRlciB7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBtYXJnaW46IDAgMnB4IDJweCAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgycHgsIDJweCk7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLnByb21vQmFyIHtcbiAgYmFja2dyb3VuZDogI2ZmYTUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZzogMS4yZW0gMCAxZW0gMDtcbiAgYm94LXNoYWRvdzogLTVlbSAwIDAgMCAjZmZhNTAwLCA1ZW0gMCAwIDAgI2ZmYTUwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5wcm9tb0JhciBwIHtcbiAgbWFyZ2luOiAwO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnByb21vQmFyIGEge1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucHJvbW9CYXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuLnByb21vQmFyIGE6OmFmdGVyIHtcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbjogMCAycHggMnB4IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgycHgsIDJweCk7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJvZHVjdFRpbGUge1xuICB3aWR0aDogMzMuMzMzJTtcbiAgbWFyZ2luOiAwIDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlLWluLW91dDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5wcm9kdWN0VGlsZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5wcm9kdWN0VGlsZV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogMSAwIDEwMCU7XG59XG4ucHJvZHVjdFRpbGVfX2ltYWdlV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnByb2R1Y3RUaWxlX19pbWFnZVdyYXBwZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cbi5wcm9kdWN0VGlsZV9fY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiBDb250aW5lbnRhbFN0YWdTYW5zTWVkaXVtLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbn1cbi5wcm9kdWN0VGlsZV9fbmFtZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM2YjZiNmI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZmxleC1ncm93OiAxO1xufVxuLnByb2R1Y3RUaWxlX19wcmljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmYTUwMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mYXFJdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mYXFJdGVtLS1vcGVuIC5mYXFJdGVtX19jb250ZW50IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cbi5mYXFJdGVtLS1vcGVuIC5mYXFJdGVtX190b2dnbGU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAxMXB4KTtcbn1cbi5mYXFJdGVtX190aXRsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG4uZmFxSXRlbV9fdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJhY2tncm91bmQ6ICNmZmE1MDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmE1MDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxMHB4O1xufVxuLmZhcUl0ZW1fX3RvZ2dsZTo6YmVmb3JlLCAuZmFxSXRlbV9fdG9nZ2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgMTNweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuLmZhcUl0ZW1fX3RvZ2dsZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDExcHgpIHJvdGF0ZSg5MGRlZyk7XG59XG4uZmFxSXRlbV9fY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLCAuc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc2xpY2stdHJhY2s6OmJlZm9yZSwgLnNsaWNrLXRyYWNrOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnNsaWNrLXRyYWNrOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cbi5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9cnRsXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnNsaWNrLWFycm93IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNsaWNrLWFycm93OjphZnRlciwgLnNsaWNrLWFycm93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIHRyYW5zZm9ybTogcm90YXRlKDU4ZGVnKSB0cmFuc2xhdGUoNDAlLCA1cHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cbi5zbGljay1hcnJvdzo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNThkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMjFweCk7XG59XG4uc2xpY2stYXJyb3c6aG92ZXIge1xuICBjb2xvcjogI2ZmYTUwMDtcbn1cbi5zbGljay1hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAxMHB4O1xufVxuLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICBsZWZ0OiAxMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcbn1cblxuLnNsaWNrLWRvdHRlZCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zbGljay1kb3RzIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcGFkZGluZzogMDtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjNmI2YjZiO1xuICBiYWNrZ3JvdW5kOiAjNmI2YjZiO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBjb2xvcjogI2ZmYTUwMDtcbiAgYmFja2dyb3VuZDogI2ZmYTUwMDtcbn0iXSwic291cmNlUm9vdCI6IiJ9*/