/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/Pyz/Yves/ShopUi/Theme/default/styles/util.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/**
 * 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 ajax dynamic loader.
 */
/**
 * 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 z-index value for the skip to content link context.
 */
/**
 * Defines z-index value for layer under main content.
 */
/**
 * 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.
 */
/**
 * @param {Color|String} $value
 * @param {Number} $degree [10]
 */
/**
 * @param {Color|String} $value
 * @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.
 */
/**
 * Forces element invisibility with accessibility support.
 */
/**
 * Forces element visibility with accessibility support.
 */
/**
 * 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.
 */
/**
 * 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]
 */
/**
 * @deprecated Use agent-widget-agent-navigation mixin instead.
 */
/**
 * @deprecated Use agent-widget-agent-control-bar 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 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-review-widget-rating-selector mixin instead.
 */
/**
 * @deprecated Use product-search-widget-product-quick-add-form 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: #00afb4;
  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;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-wrap: pretty;
  font-size: 1rem;
  max-width: 40rem;
  margin: 2.8rem auto;
}
.empty-state__icon {
  width: 5.62rem;
  height: 5.62rem;
  margin-bottom: 1.75rem;
  color: #00afb4;
}
.empty-state__title {
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0 0 1rem;
}
.empty-state__description {
  margin: 0 0 1.75rem;
}

/* fe-sniffer:disabled correct-scss-component-structure */
/**
 * @deprecated Use shop-ui-quote-status-color mixin instead.
 */
/**
 * @deprecated Use tabs-widget-search-tabs mixin instead.
 */
/**
 * Provides global class names for spacings.
 */
/**
 * Provides global class names for text styling.
 */
/**
 * Provides class name for text styling with color property specified by parameters.
 * @param {String} $action Sets class name postfix.
 * @param {Color} $setting-color-action Sets color property.
 * @content Extendable mixin.
 */
/**
 * Provides global class names for the elements' float alignment.
 */
/**
 * Provides global class names for display behavior with additional responsive modifiers.
 */
.text-small {
  font-size: 0.875rem;
}

.text-big {
  font-size: 1.25rem;
}

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

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

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

.text-alt {
  color: #ff4859;
}

.text-secondary {
  color: #595959;
}

.text-break {
  word-break: break-word;
}

.text-info {
  color: #f0ede6;
}

.text-warning {
  color: #f37849;
}

.text-success {
  color: #4ac38e;
}

.text-alert {
  color: #cb3d49;
}

.text-middle {
  vertical-align: middle;
}

.text-secondary {
  color: #333;
}

.spacing {
  margin: 0.5rem;
}
.spacing--biggest {
  margin: 2rem;
}
.spacing--bigger {
  margin: 1.5rem;
}
.spacing--big {
  margin: 1rem;
}
.spacing--small {
  margin: 0.25rem;
}
.spacing--reset {
  margin: 0;
}

.spacing--inner {
  margin: 0;
  padding: 0.5rem;
}
.spacing--inner.spacing--biggest {
  margin: 0;
  padding: 2rem;
}

.spacing--inner.spacing--bigger {
  margin: 0;
  padding: 1.5rem;
}

.spacing--inner.spacing--big {
  margin: 0;
  padding: 1rem;
}

.spacing--inner.spacing--small {
  margin: 0;
  padding: 0.25rem;
}

.spacing--inner.spacing--reset {
  margin: 0;
  padding: 0;
}

.spacing-top {
  margin-top: 0.5rem;
}
.spacing-top--biggest {
  margin-top: 2rem;
}
.spacing-top--bigger {
  margin-top: 1.5rem;
}
.spacing-top--big {
  margin-top: 1rem;
}
.spacing-top--small {
  margin-top: 0.25rem;
}
.spacing-top--reset {
  margin-top: 0;
}

.spacing-top--inner {
  margin-top: 0;
  padding-top: 0.5rem;
}
.spacing-top--inner.spacing-top--biggest {
  margin-top: 0;
  padding-top: 2rem;
}

.spacing-top--inner.spacing-top--bigger {
  margin-top: 0;
  padding-top: 1.5rem;
}

.spacing-top--inner.spacing-top--big {
  margin-top: 0;
  padding-top: 1rem;
}

.spacing-top--inner.spacing-top--small {
  margin-top: 0;
  padding-top: 0.25rem;
}

.spacing-top--inner.spacing-top--reset {
  margin-top: 0;
  padding-top: 0;
}

.spacing-bottom {
  margin-bottom: 0.5rem;
}
.spacing-bottom--biggest {
  margin-bottom: 2rem;
}
.spacing-bottom--bigger {
  margin-bottom: 1.5rem;
}
.spacing-bottom--big {
  margin-bottom: 1rem;
}
.spacing-bottom--small {
  margin-bottom: 0.25rem;
}
.spacing-bottom--reset {
  margin-bottom: 0;
}

.spacing-bottom--inner {
  margin-bottom: 0;
  padding-bottom: 0.5rem;
}
.spacing-bottom--inner.spacing-bottom--biggest {
  margin-bottom: 0;
  padding-bottom: 2rem;
}

.spacing-bottom--inner.spacing-bottom--bigger {
  margin-bottom: 0;
  padding-bottom: 1.5rem;
}

.spacing-bottom--inner.spacing-bottom--big {
  margin-bottom: 0;
  padding-bottom: 1rem;
}

.spacing-bottom--inner.spacing-bottom--small {
  margin-bottom: 0;
  padding-bottom: 0.25rem;
}

.spacing-bottom--inner.spacing-bottom--reset {
  margin-bottom: 0;
  padding-bottom: 0;
}

.spacing-left {
  margin-left: 0.5rem;
}
.spacing-left--biggest {
  margin-left: 2rem;
}
.spacing-left--bigger {
  margin-left: 1.5rem;
}
.spacing-left--big {
  margin-left: 1rem;
}
.spacing-left--small {
  margin-left: 0.25rem;
}
.spacing-left--reset {
  margin-left: 0;
}

.spacing-left--inner {
  margin-left: 0;
  padding-left: 0.5rem;
}
.spacing-left--inner.spacing-left--biggest {
  margin-left: 0;
  padding-left: 2rem;
}

.spacing-left--inner.spacing-left--bigger {
  margin-left: 0;
  padding-left: 1.5rem;
}

.spacing-left--inner.spacing-left--big {
  margin-left: 0;
  padding-left: 1rem;
}

.spacing-left--inner.spacing-left--small {
  margin-left: 0;
  padding-left: 0.25rem;
}

.spacing-left--inner.spacing-left--reset {
  margin-left: 0;
  padding-left: 0;
}

.spacing-right {
  margin-right: 0.5rem;
}
.spacing-right--biggest {
  margin-right: 2rem;
}
.spacing-right--bigger {
  margin-right: 1.5rem;
}
.spacing-right--big {
  margin-right: 1rem;
}
.spacing-right--small {
  margin-right: 0.25rem;
}
.spacing-right--reset {
  margin-right: 0;
}

.spacing-right--inner {
  margin-right: 0;
  padding-right: 0.5rem;
}
.spacing-right--inner.spacing-right--biggest {
  margin-right: 0;
  padding-right: 2rem;
}

.spacing-right--inner.spacing-right--bigger {
  margin-right: 0;
  padding-right: 1.5rem;
}

.spacing-right--inner.spacing-right--big {
  margin-right: 0;
  padding-right: 1rem;
}

.spacing-right--inner.spacing-right--small {
  margin-right: 0;
  padding-right: 0.25rem;
}

.spacing-right--inner.spacing-right--reset {
  margin-right: 0;
  padding-right: 0;
}

.spacing-x {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.spacing-x--biggest {
  margin-left: 2rem;
  margin-right: 2rem;
}
.spacing-x--bigger {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.spacing-x--big {
  margin-left: 1rem;
  margin-right: 1rem;
}
.spacing-x--small {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.spacing-x--reset {
  margin-left: 0;
  margin-right: 0;
}

.spacing-x--inner {
  margin-left: 0;
  padding-left: 0.5rem;
  margin-right: 0;
  padding-right: 0.5rem;
}
.spacing-x--inner.spacing-x--biggest {
  margin-left: 0;
  padding-left: 2rem;
  margin-right: 0;
  padding-right: 2rem;
}

.spacing-x--inner.spacing-x--bigger {
  margin-left: 0;
  padding-left: 1.5rem;
  margin-right: 0;
  padding-right: 1.5rem;
}

.spacing-x--inner.spacing-x--big {
  margin-left: 0;
  padding-left: 1rem;
  margin-right: 0;
  padding-right: 1rem;
}

.spacing-x--inner.spacing-x--small {
  margin-left: 0;
  padding-left: 0.25rem;
  margin-right: 0;
  padding-right: 0.25rem;
}

.spacing-x--inner.spacing-x--reset {
  margin-left: 0;
  padding-left: 0;
  margin-right: 0;
  padding-right: 0;
}

.spacing-y {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.spacing-y--biggest {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.spacing-y--bigger {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.spacing-y--big {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.spacing-y--small {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.spacing-y--reset {
  margin-top: 0;
  margin-bottom: 0;
}

.spacing-y--inner {
  margin-top: 0;
  padding-top: 0.5rem;
  margin-bottom: 0;
  padding-bottom: 0.5rem;
}
.spacing-y--inner.spacing-y--biggest {
  margin-top: 0;
  padding-top: 2rem;
  margin-bottom: 0;
  padding-bottom: 2rem;
}

.spacing-y--inner.spacing-y--bigger {
  margin-top: 0;
  padding-top: 1.5rem;
  margin-bottom: 0;
  padding-bottom: 1.5rem;
}

.spacing-y--inner.spacing-y--big {
  margin-top: 0;
  padding-top: 1rem;
  margin-bottom: 0;
  padding-bottom: 1rem;
}

.spacing-y--inner.spacing-y--small {
  margin-top: 0;
  padding-top: 0.25rem;
  margin-bottom: 0;
  padding-bottom: 0.25rem;
}

.spacing-y--inner.spacing-y--reset {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.clear::after {
  content: "";
  display: table;
  clear: both;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.float-none {
  float: none;
}

.is-hidden {
  display: none;
}
@media only screen and (min-width: 0) and (max-width: 549px) {
  .is-hidden-sm-only {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 769px) {
  .is-hidden-sm-md {
    display: none;
  }
}
@media only screen and (min-width: 0) and (max-width: 969px) {
  .is-hidden-sm-lg {
    display: none;
  }
}
@media only screen and (min-width: 0) {
  .is-hidden-sm-xl {
    display: none;
  }
}
@media only screen and (min-width: 550px) and (max-width: 769px) {
  .is-hidden-md-only {
    display: none;
  }
}
@media only screen and (min-width: 550px) and (max-width: 969px) {
  .is-hidden-md-lg {
    display: none;
  }
}
@media only screen and (min-width: 550px) {
  .is-hidden-md-xl {
    display: none;
  }
}
@media only screen and (min-width: 770px) and (max-width: 969px) {
  .is-hidden-lg-only {
    display: none;
  }
}
@media only screen and (min-width: 770px) {
  .is-hidden-lg-xl {
    display: none;
  }
}
@media only screen and (min-width: 970px) {
  .is-hidden-xl-only {
    display: none;
  }
}

.is-visible {
  pointer-events: all;
  visibility: visible;
  opacity: 1;
}

.is-invisible {
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}

.is-scrollable {
  overflow: auto;
}

.is-not-scrollable {
  overflow: hidden;
}

.is-scrollable-x {
  overflow-x: auto;
}

.is-not-scrollable-x {
  overflow-x: hidden;
}

.is-scrollable-y {
  overflow-y: auto;
}

.is-not-scrollable-y {
  overflow-y: hidden;
}

.is-position-relative {
  position: relative;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jc3MveXZlc19kZWZhdWx0LnV0aWwuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQVNBOztFQUFBO0FDOUZBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBZUE7O0VBQUE7QUFTQTs7RUFBQTtBQ3ZDQTs7RUFBQTtBQUtBOztFQUFBO0FDTEE7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQUtBOztFQUFBO0FBS0E7O0VBQUE7QUM1REE7O0VBQUE7QUNBQTs7RUFBQTtBQ0FBOztFQUFBO0FBS0E7O0VBQUE7QUFLQTs7RUFBQTtBQ1ZBOztFQUFBO0FDQUE7O0VBQUE7QUNHQTs7O0VBQUE7QUFZQTs7O0VBQUE7QUNmQTs7O0VBQUE7QUFVQTs7O0VBQUE7QUFVQTs7O0VBQUE7QUNwQkE7Ozs7O0VBQUE7QUNBQTs7RUFBQTtBQVdBOztFQUFBO0FBV0E7O0VBQUE7QUFVQTs7RUFBQTtBQ2hDQTs7OztFQUFBO0FDQUE7Ozs7RUFBQTtBQWFBOzs7O0VBQUE7QUFhQTs7OztFQUFBO0FBV0E7Ozs7O0VBQUE7QUFZQTs7OztFQUFBO0FBV0E7Ozs7O0VBQUE7QUM1REE7Ozs7O0VBQUE7QUNBQTs7RUFBQTtBQWFBOztFQUFBO0FDYkE7Ozs7RUFBQTtBQ0FBOzs7OztFQUFBO0FDdUJBOztFQUFBO0FDZEE7O0VBQUE7QUNQUTtFQUNJO0VBQ0E7QUNvUFo7O0FDOU9BOztFQUFBO0FDOENBOztFQUFBO0FDeEJBOztFQUFBO0FDRkE7O0VBQUE7QUNmQTs7RUFBQTtBQzhEQTs7RUFBQTtBQzNEQTs7RUFBQTtBQ0xBOztFQUFBO0FDY0E7O0VBQUE7QUN6QlE7RUFDSSx3Q2hDa0RnQjtFZ0NqRGhCLGNDU1M7RURSVDtBVm9SWjtBVWxSWTtFQUNJO0FWb1JoQjtBVWpSWTtFQUNJO0FWbVJoQjtBVS9RZ0I7RUFDSTtBVmlScEI7QVU1UVE7RUFDSTtBVjhRWjs7QVlwU0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FadVNSO0FZclNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY0RGUztBWHlTckI7QVlwU1E7RUFDSTtFQUNBO0VBQ0E7QVpzU1o7QVluU1E7RUFDSTtBWnFTWjs7QWE5VEE7QUFpQ0E7O0VBQUE7QUNNQTs7RUFBQTtBQ3ZDQTs7RUFBQTtBQ0FBOztFQUFBO0FBMkNBOzs7OztFQUFBO0FDM0NBOztFQUFBO0FDQUE7O0VBQUE7QUZJSTtFNUJDQTtBWXNWSjs7QWdCblZJO0U1QkhBO0FZMFZKOztBZ0JuVkk7RUFDSTtBaEJzVlI7O0FnQm5WSTtFQUNJO0FoQnNWUjs7QWdCblZJO0VBQ0k7QWhCc1ZSOztBZ0JuVkk7RUFDSSxjTFhZO0FYaVdwQjs7QWdCblZJO0VBQ0ksY3RDY2U7QXNCd1V2Qjs7QWdCblZJO0VBQ0k7QWhCc1ZSOztBZ0JyVUk7RUFDSSxjTHZCZ0I7QVgrVnhCOztBZ0J6VUk7RUFDSSxjTHZCZ0I7QVhtV3hCOztBZ0I3VUk7RUFDSSxjTHZCZ0I7QVh1V3hCOztBZ0JqVkk7RUFDSSxjTHZCZ0I7QVgyV3hCOztBbUJ0WUk7RUFDSTtBbkJ5WVI7O0FtQnRZSTtFQUNJLFdSRWU7QVh1WXZCOztBVHBZSTtFQUlnQixjNkJmRjtBcEJtWmxCO0FUN1hnQjtFQUVRLFk2QnhCTjtBcEJzWmxCO0FUaFlnQjtFQUVRLGM2QnhCTjtBcEJ5WmxCO0FUbllnQjtFQUVRLFk2QnhCTjtBcEI0WmxCO0FUdFlnQjtFQUVRLGU2QnhCTjtBcEIrWmxCO0FUellnQjtFQUVRLFM2QnhCTjtBcEJrYWxCOztBVDNYSTtFQUlnQjtFQUNBLGU2QjVDRjtBcEJ1YWxCO0FUblh5QjtFQUVEO0VBQ0EsYTZCdkROO0FwQjJhbEI7O0FUdlh5QjtFQUVEO0VBQ0EsZTZCdkROO0FwQmdibEI7O0FUNVh5QjtFQUVEO0VBQ0EsYTZCdkROO0FwQnFibEI7O0FUall5QjtFQUVEO0VBQ0EsZ0I2QnZETjtBcEIwYmxCOztBVHRZeUI7RUFFRDtFQUNBLFU2QnZETjtBcEIrYmxCOztBVHBiSTtFQU9vQixrQjZCbEJOO0FwQm1jbEI7QVQ3YWdCO0VBS1ksZ0I2QjNCVjtBcEJzY2xCO0FUaGJnQjtFQUtZLGtCNkIzQlY7QXBCeWNsQjtBVG5iZ0I7RUFLWSxnQjZCM0JWO0FwQjRjbEI7QVR0YmdCO0VBS1ksbUI2QjNCVjtBcEIrY2xCO0FUemJnQjtFQUtZLGE2QjNCVjtBcEJrZGxCOztBVDNhSTtFQVFvQjtFQUNBLG1CNkJoRE47QXBCdWRsQjtBVG5heUI7RUFNRztFQUNBLGlCNkIzRFY7QXBCMmRsQjs7QVR2YXlCO0VBTUc7RUFDQSxtQjZCM0RWO0FwQmdlbEI7O0FUNWF5QjtFQU1HO0VBQ0EsaUI2QjNEVjtBcEJxZWxCOztBVGpieUI7RUFNRztFQUNBLG9CNkIzRFY7QXBCMGVsQjs7QVR0YnlCO0VBTUc7RUFDQSxjNkIzRFY7QXBCK2VsQjs7QVRwZUk7RUFPb0IscUI2QmxCTjtBcEJtZmxCO0FUN2RnQjtFQUtZLG1CNkIzQlY7QXBCc2ZsQjtBVGhlZ0I7RUFLWSxxQjZCM0JWO0FwQnlmbEI7QVRuZWdCO0VBS1ksbUI2QjNCVjtBcEI0ZmxCO0FUdGVnQjtFQUtZLHNCNkIzQlY7QXBCK2ZsQjtBVHplZ0I7RUFLWSxnQjZCM0JWO0FwQmtnQmxCOztBVDNkSTtFQVFvQjtFQUNBLHNCNkJoRE47QXBCdWdCbEI7QVRuZHlCO0VBTUc7RUFDQSxvQjZCM0RWO0FwQjJnQmxCOztBVHZkeUI7RUFNRztFQUNBLHNCNkIzRFY7QXBCZ2hCbEI7O0FUNWR5QjtFQU1HO0VBQ0Esb0I2QjNEVjtBcEJxaEJsQjs7QVRqZXlCO0VBTUc7RUFDQSx1QjZCM0RWO0FwQjBoQmxCOztBVHRleUI7RUFNRztFQUNBLGlCNkIzRFY7QXBCK2hCbEI7O0FUcGhCSTtFQU9vQixtQjZCbEJOO0FwQm1pQmxCO0FUN2dCZ0I7RUFLWSxpQjZCM0JWO0FwQnNpQmxCO0FUaGhCZ0I7RUFLWSxtQjZCM0JWO0FwQnlpQmxCO0FUbmhCZ0I7RUFLWSxpQjZCM0JWO0FwQjRpQmxCO0FUdGhCZ0I7RUFLWSxvQjZCM0JWO0FwQitpQmxCO0FUemhCZ0I7RUFLWSxjNkIzQlY7QXBCa2pCbEI7O0FUM2dCSTtFQVFvQjtFQUNBLG9CNkJoRE47QXBCdWpCbEI7QVRuZ0J5QjtFQU1HO0VBQ0Esa0I2QjNEVjtBcEIyakJsQjs7QVR2Z0J5QjtFQU1HO0VBQ0Esb0I2QjNEVjtBcEJna0JsQjs7QVQ1Z0J5QjtFQU1HO0VBQ0Esa0I2QjNEVjtBcEJxa0JsQjs7QVRqaEJ5QjtFQU1HO0VBQ0EscUI2QjNEVjtBcEIwa0JsQjs7QVR0aEJ5QjtFQU1HO0VBQ0EsZTZCM0RWO0FwQitrQmxCOztBVHBrQkk7RUFPb0Isb0I2QmxCTjtBcEJtbEJsQjtBVDdqQmdCO0VBS1ksa0I2QjNCVjtBcEJzbEJsQjtBVGhrQmdCO0VBS1ksb0I2QjNCVjtBcEJ5bEJsQjtBVG5rQmdCO0VBS1ksa0I2QjNCVjtBcEI0bEJsQjtBVHRrQmdCO0VBS1kscUI2QjNCVjtBcEIrbEJsQjtBVHprQmdCO0VBS1ksZTZCM0JWO0FwQmttQmxCOztBVDNqQkk7RUFRb0I7RUFDQSxxQjZCaEROO0FwQnVtQmxCO0FUbmpCeUI7RUFNRztFQUNBLG1CNkIzRFY7QXBCMm1CbEI7O0FUdmpCeUI7RUFNRztFQUNBLHFCNkIzRFY7QXBCZ25CbEI7O0FUNWpCeUI7RUFNRztFQUNBLG1CNkIzRFY7QXBCcW5CbEI7O0FUamtCeUI7RUFNRztFQUNBLHNCNkIzRFY7QXBCMG5CbEI7O0FUdGtCeUI7RUFNRztFQUNBLGdCNkIzRFY7QXBCK25CbEI7O0FUcG5CSTtFQU9vQixtQjZCbEJOO0U3QmtCTSxvQjZCbEJOO0FwQm9vQmxCO0FUOW1CZ0I7RUFLWSxpQjZCM0JWO0U3QjJCVSxrQjZCM0JWO0FwQndvQmxCO0FUbG5CZ0I7RUFLWSxtQjZCM0JWO0U3QjJCVSxvQjZCM0JWO0FwQjRvQmxCO0FUdG5CZ0I7RUFLWSxpQjZCM0JWO0U3QjJCVSxrQjZCM0JWO0FwQmdwQmxCO0FUMW5CZ0I7RUFLWSxvQjZCM0JWO0U3QjJCVSxxQjZCM0JWO0FwQm9wQmxCO0FUOW5CZ0I7RUFLWSxjNkIzQlY7RTdCMkJVLGU2QjNCVjtBcEJ3cEJsQjs7QVRqbkJJO0VBUW9CO0VBQ0Esb0I2QmhETjtFN0IrQ007RUFDQSxxQjZCaEROO0FwQitwQmxCO0FUM21CeUI7RUFNRztFQUNBLGtCNkIzRFY7RTdCMERVO0VBQ0EsbUI2QjNEVjtBcEJxcUJsQjs7QVRqbkJ5QjtFQU1HO0VBQ0Esb0I2QjNEVjtFN0IwRFU7RUFDQSxxQjZCM0RWO0FwQjRxQmxCOztBVHhuQnlCO0VBTUc7RUFDQSxrQjZCM0RWO0U3QjBEVTtFQUNBLG1CNkIzRFY7QXBCbXJCbEI7O0FUL25CeUI7RUFNRztFQUNBLHFCNkIzRFY7RTdCMERVO0VBQ0Esc0I2QjNEVjtBcEIwckJsQjs7QVR0b0J5QjtFQU1HO0VBQ0EsZTZCM0RWO0U3QjBEVTtFQUNBLGdCNkIzRFY7QXBCaXNCbEI7O0FUdHJCSTtFQU9vQixrQjZCbEJOO0U3QmtCTSxxQjZCbEJOO0FwQnNzQmxCO0FUaHJCZ0I7RUFLWSxnQjZCM0JWO0U3QjJCVSxtQjZCM0JWO0FwQjBzQmxCO0FUcHJCZ0I7RUFLWSxrQjZCM0JWO0U3QjJCVSxxQjZCM0JWO0FwQjhzQmxCO0FUeHJCZ0I7RUFLWSxnQjZCM0JWO0U3QjJCVSxtQjZCM0JWO0FwQmt0QmxCO0FUNXJCZ0I7RUFLWSxtQjZCM0JWO0U3QjJCVSxzQjZCM0JWO0FwQnN0QmxCO0FUaHNCZ0I7RUFLWSxhNkIzQlY7RTdCMkJVLGdCNkIzQlY7QXBCMHRCbEI7O0FUbnJCSTtFQVFvQjtFQUNBLG1CNkJoRE47RTdCK0NNO0VBQ0Esc0I2QmhETjtBcEJpdUJsQjtBVDdxQnlCO0VBTUc7RUFDQSxpQjZCM0RWO0U3QjBEVTtFQUNBLG9CNkIzRFY7QXBCdXVCbEI7O0FUbnJCeUI7RUFNRztFQUNBLG1CNkIzRFY7RTdCMERVO0VBQ0Esc0I2QjNEVjtBcEI4dUJsQjs7QVQxckJ5QjtFQU1HO0VBQ0EsaUI2QjNEVjtFN0IwRFU7RUFDQSxvQjZCM0RWO0FwQnF2QmxCOztBVGpzQnlCO0VBTUc7RUFDQSxvQjZCM0RWO0U3QjBEVTtFQUNBLHVCNkIzRFY7QXBCNHZCbEI7O0FUeHNCeUI7RUFNRztFQUNBLGM2QjNEVjtFN0IwRFU7RUFDQSxpQjZCM0RWO0FwQm13QmxCOztBTi92Qkk7RUFDSTtFQUNBO0VBQ0E7QU1rd0JSOztBaUJqd0JJO0VBQ0k7QWpCb3dCUjs7QWlCandCSTtFQUNJO0FqQm93QlI7O0FpQmp3Qkk7RUFDSTtBakJvd0JSOztBa0JqeEJJO0VBQ0k7QWxCb3hCUjtBUjd1Qkk7RTBCakNRO0lBT1k7RWxCMndCdEI7QUFDRjtBUmx2Qkk7RTBCaEJnQjtJQU9ZO0VsQit2QjlCO0FBQ0Y7QVJ2dkJJO0UwQmhCZ0I7SUFPWTtFbEJvd0I5QjtBQUNGO0FSeHdCSTtFMEJKZ0I7SUFHWTtFbEI2d0I5QjtBQUNGO0FSandCSTtFMEJqQ1E7SUFPWTtFbEIreEJ0QjtBQUNGO0FSdHdCSTtFMEJoQmdCO0lBT1k7RWxCbXhCOUI7QUFDRjtBUnZ4Qkk7RTBCSmdCO0lBR1k7RWxCNHhCOUI7QUFDRjtBUmh4Qkk7RTBCakNRO0lBT1k7RWxCOHlCdEI7QUFDRjtBUmp5Qkk7RTBCSmdCO0lBR1k7RWxCc3lCOUI7QUFDRjtBUnR5Qkk7RTBCckJRO0lBR1k7RWxCNHpCdEI7QUFDRjs7QWtCL3hCSTtFNUJ4Q0E7RUFDQTtFQUNBO0FVMjBCSjs7QWtCanlCSTtFNUJqQ0E7RUFDQTtFQUNBO0FVczBCSjs7QWtCbnlCSTtFQUNJO0FsQnN5QlI7O0FrQm55Qkk7RUFDSTtBbEJzeUJSOztBa0JueUJJO0VBQ0k7QWxCc3lCUjs7QWtCbnlCSTtFQUNJO0FsQnN5QlI7O0FrQm55Qkk7RUFDSTtBbEJzeUJSOztBa0JueUJJO0VBQ0k7QWxCc3lCUjs7QWtCbnlCSTtFQUNJO0FsQnN5QlIsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvc2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9zZXR0aW5ncy9fZm9udC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvc2V0dGluZ3MvX2VmZmVjdC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvc2V0dGluZ3MvX3otaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL3Nob3AtdWkvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9zZXR0aW5ncy9fYnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvc2V0dGluZ3MvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL3Nob3AtdWkvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL3NldHRpbmdzL19pbXBvcnQuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL3Nob3AtdWkvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL2hlbHBlcnMvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL19jb2xvci5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvaGVscGVycy9fZm9udC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvaGVscGVycy9fZWZmZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL19icmVha3BvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL191aS5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvaGVscGVycy9faW1wb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vc3JjL1B5ei9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy9oZWxwZXJzL19lZmZlY3Quc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL2FnZW50LXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9BZ2VudFdpZGdldC9UaGVtZS9kZWZhdWx0L2NvbXBvbmVudHMvbW9sZWN1bGVzL2FnZW50LW5hdmlnYXRpb24vYWdlbnQtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3AvYWdlbnQtd2lkZ2V0L3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL0FnZW50V2lkZ2V0L1RoZW1lL2RlZmF1bHQvY29tcG9uZW50cy9vcmdhbmlzbXMvYWdlbnQtY29udHJvbC1iYXIvYWdlbnQtY29udHJvbC1iYXIuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL2NoZWNrb3V0LXBhZ2Uvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvQ2hlY2tvdXRQYWdlL1RoZW1lL2RlZmF1bHQvY29tcG9uZW50cy9tb2xlY3VsZXMvc3VtbWFyeS1vdmVydmlldy9zdW1tYXJ5LW92ZXJ2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vc3JjL1B5ei9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy91dGlsLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9jbXMtc2VhcmNoLXBhZ2Uvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvQ21zU2VhcmNoUGFnZS9UaGVtZS9kZWZhdWx0L2NvbXBvbmVudHMvbW9sZWN1bGVzL3NvcnQvc29ydC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3AvZmlsZS1tYW5hZ2VyLXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9GaWxlTWFuYWdlcldpZGdldC9UaGVtZS9kZWZhdWx0L2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZpbGUtZG93bmxvYWQtbGluay9maWxlLWRvd25sb2FkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL3ByaWNlLXByb2R1Y3Qtdm9sdW1lLXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9QcmljZVByb2R1Y3RWb2x1bWVXaWRnZXQvVGhlbWUvZGVmYXVsdC9jb21wb25lbnRzL21vbGVjdWxlcy92b2x1bWUtcHJpY2Uvdm9sdW1lLXByaWNlLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9wcmljZS1wcm9kdWN0LXZvbHVtZS13aWRnZXQvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvUHJpY2VQcm9kdWN0Vm9sdW1lV2lkZ2V0L1RoZW1lL2RlZmF1bHQvY29tcG9uZW50cy9tb2xlY3VsZXMvdm9sdW1lLXByaWNlLXRhYmxlL3ZvbHVtZS1wcmljZS10YWJsZS5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3AvcHJvZHVjdC1vcHRpb24td2lkZ2V0L3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Byb2R1Y3RPcHRpb25XaWRnZXQvVGhlbWUvZGVmYXVsdC9jb21wb25lbnRzL21vbGVjdWxlcy9zaG9wcGluZy1saXN0LXByb2R1Y3Qtb3B0aW9uLWxpc3Qvc2hvcHBpbmctbGlzdC1wcm9kdWN0LW9wdGlvbi1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9wcm9kdWN0LXJldmlldy13aWRnZXQvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvUHJvZHVjdFJldmlld1dpZGdldC9UaGVtZS9kZWZhdWx0L2NvbXBvbmVudHMvbW9sZWN1bGVzL3JhdGluZy1zZWxlY3Rvci9yYXRpbmctc2VsZWN0b3Iuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL3Byb2R1Y3Qtc2VhcmNoLXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9Qcm9kdWN0U2VhcmNoV2lkZ2V0L1RoZW1lL2RlZmF1bHQvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZHVjdC1xdWljay1hZGQtZm9ybS9wcm9kdWN0LXF1aWNrLWFkZC1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zYWxlcy1jb25maWd1cmFibGUtYnVuZGxlLXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9TYWxlc0NvbmZpZ3VyYWJsZUJ1bmRsZVdpZGdldC9UaGVtZS9kZWZhdWx0L2NvbXBvbmVudHMvbW9sZWN1bGVzL29yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlL29yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zYWxlcy1jb25maWd1cmFibGUtYnVuZGxlLXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9TYWxlc0NvbmZpZ3VyYWJsZUJ1bmRsZVdpZGdldC9UaGVtZS9kZWZhdWx0L2NvbXBvbmVudHMvbW9sZWN1bGVzL29yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlLXByb2R1Y3Qvb3JkZXItY29uZmlndXJlZC1idW5kbGUtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9jb21wb25lbnRzL21vbGVjdWxlcy9jb2xsYXBzaWJsZS1saXN0L2NvbGxhcHNpYmxlLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi9zcmMvUHl6L1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL3NldHRpbmdzL19jb2xvci5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9jb21wb25lbnRzL21vbGVjdWxlcy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9jb21wb25lbnRzL21vbGVjdWxlcy9xdW90ZS1zdGF0dXMvcXVvdGUtc3RhdHVzLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC90YWJzLXdpZGdldC9zcmMvU3ByeWtlclNob3AvWXZlcy9UYWJzV2lkZ2V0L1RoZW1lL2RlZmF1bHQvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VhcmNoLXRhYnMvc2VhcmNoLXRhYnMuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi92ZW5kb3Ivc3ByeWtlci1zaG9wL3Nob3AtdWkvc3JjL1NwcnlrZXJTaG9wL1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL3V0aWxzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy91dGlscy9fdGV4dC5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3ZlbmRvci9zcHJ5a2VyLXNob3Avc2hvcC11aS9zcmMvU3ByeWtlclNob3AvWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvdXRpbHMvX2Zsb2F0LnNjc3MiLCJ3ZWJwYWNrOi8vc3ByeWtlci1iMmMtZGVtby1zaG9wLy4vdmVuZG9yL3NwcnlrZXItc2hvcC9zaG9wLXVpL3NyYy9TcHJ5a2VyU2hvcC9ZdmVzL1Nob3BVaS9UaGVtZS9kZWZhdWx0L3N0eWxlcy91dGlscy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovL3NwcnlrZXItYjJjLWRlbW8tc2hvcC8uL3NyYy9QeXovWXZlcy9TaG9wVWkvVGhlbWUvZGVmYXVsdC9zdHlsZXMvdXRpbHMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly9zcHJ5a2VyLWIyYy1kZW1vLXNob3AvLi9zcmMvUHl6L1l2ZXMvU2hvcFVpL1RoZW1lL2RlZmF1bHQvc3R5bGVzL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWZpbmVzIHRoZSBtYWluIGNvbG9yIG9mIHRoZSBzaG9wIHRoZW1lLiBVc2FnZTogcHJpbWFyeSBlbGVtZW50cycgYmFja2dyb3VuZCBhbmQgY29sb3IuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLW1haW46IHZhcigtLWJhY2tncm91bmQtYnJhbmQtcHJpbWFyeSwgIzE0NzliZCkgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBhbHRlcm5hdGl2ZSBjb2xvciBvZiB0aGUgc2hvcCB0aGVtZS4gVXNhZ2U6IHNlY29uZGFyeSBlbGVtZW50cycgYmFja2dyb3VuZCBhbmQgY29sb3IuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLWFsdDogdmFyKC0tYmFja2dyb3VuZC1icmFuZC1zdWJ0bGUsICNlMjY5NGEpICFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmluZXMgd2hpdGUgY29sb3IuIFVzYWdlOiBub3QgdHJhbnNwYXJlbnQgZWxlbWVudHMnIGJhY2tncm91bmQgb2YgZGVmYXVsdCBiYWNrZ3JvdW5kLlxuICovXG4kc2V0dGluZy1jb2xvci13aGl0ZTogI2ZmZmZmZiAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIGEgbGlnaHQgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgYmFja2dyb3VuZCwgYm9yZGVycyBhbmQgdGV4dC5cbiAqL1xuJHNldHRpbmctY29sb3ItbGlnaHQ6ICNkYWRhZGEgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBhIGxpZ2h0ZXIgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgYmFja2dyb3VuZCwgYm9yZGVycyBhbmQgdGV4dC5cbiAqL1xuJHNldHRpbmctY29sb3ItbGlnaHRlcjogI2YwZjBmMCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBsaWdodGVzdCBzaGFkZSBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzJyBiYWNrZ3JvdW5kLCBib3JkZXJzIGFuZCB0ZXh0LlxuICovXG4kc2V0dGluZy1jb2xvci1saWdodGVzdDogI2Y0ZjRmNCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzaGFkZSBvZiB0aGUgYmxhY2sgY29sb3IuIFVzYWdlOiBhcyBhIGJhc2Ugb2YgYmxhY2sgY29sb3IgZm9yIHNlbWktdHJhbnNwYXJlbnQgZWxlbWVudHMuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLWJsYWNrOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmluZXMgYSBkYXJrIHNoYWRlIGNvbG9yLiBVc2FnZTogZWxlbWVudHMnIHRleHQgY29sb3IgdmFyaWFudC5cbiAqL1xuJHNldHRpbmctY29sb3ItZGFyazogI2JiYmJiYiAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIGEgZGFya2VyIHNoYWRlIGNvbG9yLiBVc2FnZTogZWxlbWVudHMnIHRleHQgY29sb3IgdmFyaWFudC5cbiAqL1xuJHNldHRpbmctY29sb3ItZGFya2VyOiAjNTk1OTU5ICFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIGRhcmtlc3Qgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4kc2V0dGluZy1jb2xvci1kYXJrZXN0OiAjMzMzMzMzICFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmluZXMgYSB0cmFuc3BhcmVudCBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzJyBiYWNrZ3JvdW5kLCBib3JkZXIuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKCRzZXR0aW5nLWNvbG9yLXdoaXRlLCAwKSAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBtYWluIGJhY2tncm91bmQgY29sb3IuIFVzYWdlOiBib2R5IGFuZCBzaWRlLWRyYXdlciBiYWNrZ3JvdW5kLlxuICovXG4kc2V0dGluZy1jb2xvci1iZzogJHNldHRpbmctY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgbWFpbiBjb2xvciBvZiB0ZXh0LiBVc2FnZTogZGVmYXVsdCBnbG9iYWwgdGV4dCBjb2xvci5cbiAqL1xuJHNldHRpbmctY29sb3ItdGV4dDogJHNldHRpbmctY29sb3ItZGFya2VzdCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCBnbG9iYWwgYm9yZGVyIGNvbG9yIGZvciB0aGUgaW5wdXQgZWxlbWVudHMuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLWlucHV0LWJvcmRlcjogJHNldHRpbmctY29sb3ItbGlnaHQgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBhIGRlZmF1bHQgZ2xvYmFsIGJvcmRlciBjb2xvciBmb3IgdGhlIGlucHV0IGVsZW1lbnRzIG9uIGZvY3VzIGV2ZW50LlxuICovXG4kc2V0dGluZy1jb2xvci1pbnB1dC1ib3JkZXItZm9jdXM6ICRzZXR0aW5nLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBhIHNoYWRvdyBzaGFkZSBhbmQgdHJhbnNwYXJlbmN5IGZvciB0aGUgc2hhZG93ZWQgZWxlbWVudHMuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLXNoYWRvdzogcmdiYSgkc2V0dGluZy1jb2xvci1ibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCBvdmVybGF5IGNvbG9yLiBVc2FnZTogZWxlbWVudHMgd2l0aCBvdmVybGF5IC0gc2lkZS1kcmF3ZXIsIHBvcHVwcyBldGMuXG4gKi9cbiRzZXR0aW5nLWNvbG9yLW92ZXJsYXk6IHJnYmEoJHNldHRpbmctY29sb3ItYmxhY2ssIDAuMykgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBhIGRlZmF1bHQgaW1hZ2Ugb3ZlcmxheSBjb2xvci4gVXNhZ2U6IGltYWdlcyB3aXRoIG92ZXJsYXkgLSBsYXp5LWltYWdlLlxuICovXG4kc2V0dGluZy1jb2xvci1pbWFnZS1vdmVybGF5OiByZ2JhKCRzZXR0aW5nLWNvbG9yLWJsYWNrLCAwLjA1KSAhZGVmYXVsdDtcblxuJHNldHRpbmctY29sb3ItbGlnaHQtYmx1ZTogI2VhZjFmYTtcblxuJHNldHRpbmctY29sb3ItYmx1ZTogIzAwNjRiNDtcblxuLyoqXG4gKiBEZWZpbmVzIGFjdGlvbiBjb2xvcnMgbWFwLlxuICovXG4kc2V0dGluZy1jb2xvci1hY3Rpb25zOiAoXG4gICAgc3VjY2VzczogIzJjODE2OCxcbiAgICB3YXJuaW5nOiAjZjI5MTMzLFxuICAgIGFsZXJ0OiAjYjIxNzFhLFxuKSAhZGVmYXVsdDtcbiIsIi8qKlxuICogRGVmaW5lcyBmb250IGZhbWlseSBzZXR0aW5nLiBVc2FnZTogYm9keSBnbG9iYWwgZm9udCBzdHlsZXMuXG4gKi9cbiRzZXR0aW5nLWZvbnQtZmFtaWx5OiAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmluZXMgZm9udCBmYW1pbHkgc2V0dGluZyBmb3IgY29kZS4gQ2FuIGJlIHVzZWQgZm9yIGNvZGUgYW5kIHByZSBlbGVtZW50cy5cbiAqL1xuJHNldHRpbmctZm9udC1mYW1pbHktY29kZTogJ01lbmxvJywgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmluZXMgYmFzaWMgZm9udCBzaXplLiBVc2FnZTogZ2xvYmFsIGJhc2ljIGZvbnQgc2l6ZS5cbiAqL1xuJHNldHRpbmctZm9udC1zaXplLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8qKlxuICogRm9udCBzaXplIHZhbHVlcyBtYXAuIFVzYWdlOiBtaXhpbnMgcHJvdmlkaW5nIHN0eWxlcyBmb3IgaGVhZGluZ3MsIHRleHQgZWxlbWVudHMgZXRjLlxuICovXG4kc2V0dGluZy1mb250LXNpemU6IChcbiAgICAxOiAzOHB4LFxuICAgIDI6IDM0cHgsXG4gICAgMzogMzBweCxcbiAgICA0OiAyNnB4LFxuICAgIDU6IDIycHgsXG4gICAgNjogMThweCxcbiAgICBiaWc6IDE2cHgsXG4gICAgZGVmYXVsdDogMTRweCxcbiAgICBzbWFsbDogMTJweCxcbikgIWRlZmF1bHQ7XG5cbi8qKlxuICogRm9udCB3ZWlnaHQgdmFsdWVzIG1hcC4gVXNhZ2U6IG1peGluIHRvIHNldCBmb250IHdlaWdodCBwcm9wZXJ0eS5cbiAqL1xuJHNldHRpbmctZm9udC13ZWlnaHQ6IChcbiAgICBsaWdodDogMzAwLFxuICAgIHJlZ3VsYXI6IDQwMCxcbiAgICBib2xkOiA5MDAsXG4pICFkZWZhdWx0O1xuXG4vKipcbiAqIEZvbnQgbGluZSBoZWlnaHQgdmFsdWVzIG1hcC4gVXNhZ2U6IG1peGlucyBwcm92aWRpbmcgc3R5bGVzIGZvciBoZWFkaW5ncywgdGV4dCBlbGVtZW50cyBldGMuXG4gKi9cbiRzZXR0aW5nLWZvbnQtbGluZS1oZWlnaHQ6IChcbiAgICAxOiAxLjEsXG4gICAgMjogMS4yLFxuICAgIDM6IDEuNCxcbiAgICA0OiAxLjQsXG4gICAgNTogMS40LFxuICAgIDY6IDEuNCxcbiAgICBkZWZhdWx0OiAxLjUsXG4gICAgdGlnaHQ6IDEuMSxcbikgIWRlZmF1bHQ7XG4iLCIvKipcbiAqIERlZmluZXMgYSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciB0aGUgYW5pbWF0aW9uIGVmZmVjdHMuIFVzYWdlOiBtaXhpbnMgcHJvdmlkaW5nIGFuaW1hdGlvbiBwcm9wZXJ0aWVzLlxuICovXG4kc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1kdXJhdGlvbjogMjUwbXMgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBhIGRlZmF1bHQgdGltaW5nIGZ1bmN0aW9uIGZvciB0aGUgYW5pbWF0aW9uIGVmZmVjdHMuIFVzYWdlOiBtaXhpbnMgcHJvdmlkaW5nIGFuaW1hdGlvbiBwcm9wZXJ0aWVzLlxuICovXG4kc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1lYXNlOiBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiIsIi8qKlxuICogRGVmaW5lcyBkZWZhdWx0IHotaW5kZXggdmFsdWUuXG4gKi9cbiRzZXR0aW5nLXppLWVsZW1lbnQ6IDEgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciBhamF4IGR5bmFtaWMgbG9hZGVyLlxuICovXG4kc2V0dGluZy16aS1hamF4LWR5bmFtaWMtbG9hZGVyOiAzMDAgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgZmxvYXRpbmcgZWxlbWVudHMuXG4gKi9cbiRzZXR0aW5nLXppLWVsZW1lbnQtZmxvYXRpbmc6IDM1MCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBoZWFkZXIgY29udGV4dC5cbiAqL1xuJHNldHRpbmctemktaGVhZGVyOiA0MDAgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgc2lkZSBkcmF3ZXIgY29udGV4dC5cbiAqL1xuJHNldHRpbmctemktc2lkZS1kcmF3ZXI6IDUwMCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBwb3B1cC5cbiAqL1xuJHNldHRpbmctemktcG9wdXA6IDU1MCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBvdmVybGF5LlxuICovXG4kc2V0dGluZy16aS1vdmVybGF5OiA1NTAgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgbm90aWZpY2F0aW9uIGFyZWEgY29udGV4dC5cbiAqL1xuJHNldHRpbmctemktbm90aWZpY2F0aW9uLWFyZWE6IDYwMCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBzZWFyY2ggc3VnZ2VzdGlvbnMgY29udGV4dC5cbiAqL1xuJHNldHRpbmctemktc2VhcmNoLXN1Z2dlc3Rpb25zOiA3MDAgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgYWpheCBsb2FkZXIuXG4gKi9cbiRzZXR0aW5nLXppLWFqYXgtbG9hZGVyOiA3NTAgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgdG9wIG5hdmlnYXRpb24gY29udGV4dC5cbiAqL1xuJHNldHRpbmctemktbmF2aWdhdGlvbi10b3A6IDgwMCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBza2lwIHRvIGNvbnRlbnQgbGluayBjb250ZXh0LlxuICovXG4kc2V0dGluZy16aS1za2lwLWxpbms6IDkwMCAhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIGxheWVyIHVuZGVyIG1haW4gY29udGVudC5cbiAqL1xuJHNldHRpbmctemktdW5kZXItbGF5ZXI6IC0xICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBEZWZpbmVzIHNwYWNpbmcgdmFsdWVzIG1hcC4gVXNhZ2U6IHNwYWNpbmcgaGVscGVycyBhbmQgbWl4aW5zLlxuICovXG4kc2V0dGluZy1zcGFjaW5nOiAoXG4gICAgYmlnOiAxcmVtLFxuICAgIGRlZmF1bHQ6IDAuNXJlbSxcbiAgICBzbWFsbDogMC4yNXJlbSxcbiAgICByZXNldDogMCxcbikgIWRlZmF1bHQ7XG4iLCIvKipcbiAqIERlZmluZXMgYnJlYWtwb2ludHMnIHZhbHVlcyBmb3IgcmVzcG9uc2l2ZS5cbiAqL1xuJHNldHRpbmctYnJlYWtwb2ludHM6IChcbiAgICBzbTogKFxuICAgICAgICAwLFxuICAgICAgICA1NDlweCxcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIDU1MHB4LFxuICAgICAgICA3NjlweCxcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIDc3MHB4LFxuICAgICAgICA5NjlweCxcbiAgICApLFxuICAgIHhsOiAoXG4gICAgICAgIDk3MHB4LFxuICAgICksXG4pICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBEZWZpbmVzIGdyaWQgc3lzdGVtIGNvbHVtbnMgY291bnQuXG4gKi9cbiRzZXR0aW5nLWdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBncmlkIGNvbnRhaW5lciBtYXggd2lkdGguXG4gKi9cbiRzZXR0aW5nLWdyaWQtbWF4LXdpZHRoOiAxMTYwcHggIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmaW5lcyBndXR0ZXJzJyBzaXplIGZvciBncmlkIFwid2l0aC1ndXR0ZXJcIiBtb2RpZmllci5cbiAqL1xuJHNldHRpbmctZ3JpZC1ndXR0ZXI6IDAgIWRlZmF1bHQ7XG4iLCIvKipcbiAqIERlZmluZXMgaW1wb3J0IGJsYWNrbGlzdC4gVXNhZ2U6IGltcG9ydCBoZWxwZXIuXG4gKi9cbiRzZXR0aW5nLWltcG9ydC1ibGFja2xpc3Q6ICgpO1xuIiwiLyoqXG4gKiBQcm92aWRlcyBsaXN0IG9mIHByb3BlcmllcyBmb3IgcmVzZXQgdXNhZ2UuXG4gKi9cbkBtaXhpbiBoZWxwZXItcmVzZXQge1xuICAgIC8vIGh0dHBzOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3L1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRzZXR0aW5nLWNvbG9yLXdoaXRlLCAwKTtcblxuICAgIEBjb250ZW50O1xufVxuIiwiQHVzZSAnc2Fzczpjb2xvcic7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vKipcbiAqIEBwYXJhbSB7Q29sb3J8U3RyaW5nfSAkdmFsdWVcbiAqIEBwYXJhbSB7TnVtYmVyfSAkZGVncmVlIFsxMF1cbiAqL1xuQGZ1bmN0aW9uIGhlbHBlci1jb2xvci1kYXJrKCR2YWx1ZSwgJGRlZ3JlZTogMTApIHtcbiAgICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ2NvbG9yJyB7XG4gICAgICAgIEByZXR1cm4gZGFya2VuKCR2YWx1ZSwgJGRlZ3JlZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiB1bnF1b3RlKCdjb2xvci1taXgoaW4gc3JnYiwgI3skdmFsdWV9ICN7MTAwIC0gJGRlZ3JlZX0lLCBibGFjayknKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NvbG9yfFN0cmluZ30gJHZhbHVlXG4gKiBAcGFyYW0ge051bWJlcn0gJGRlZ3JlZSBbMTBdXG4gKi9cbkBmdW5jdGlvbiBoZWxwZXItY29sb3ItbGlnaHQoJHZhbHVlLCAkZGVncmVlOiAzNSkge1xuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnY29sb3InIHtcbiAgICAgICAgQHJldHVybiBsaWdodGVuKCR2YWx1ZSwgJGRlZ3JlZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiB1bnF1b3RlKCdjb2xvci1taXgoaW4gc3JnYiwgI3skdmFsdWV9ICN7MTAwIC0gJGRlZ3JlZX0lLCB3aGl0ZSknKTtcbn1cbiIsIi8qKlxuICogU2V0cyBmb250LXNpemUgcHJvcGVydHkgZnJvbSBmb250IHNpemUgc2V0dGluZ3MgbWFwIC0gJHNldHRpbmctZm9udC1zaXplIGFjY29yZGluZyB0byB0aGUgcGFzc2VkIG1hcCBrZXkuXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHNpemVcbiAqL1xuQG1peGluIGhlbHBlci1mb250LXNpemUoJHNpemUpIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJHNldHRpbmctZm9udC1zaXplLCAkc2l6ZSk7XG5cbiAgICBAY29udGVudDtcbn1cblxuLyoqXG4gKiBTZXRzIGZvbnQtd2VpZ2h0IHByb3BlcnR5IGZyb20gZm9udCB3ZWlnaHQgc2V0dGluZ3MgbWFwIC0gJHNldHRpbmctZm9udC13ZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSBwYXNzZWQgbWFwIGtleS5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0XG4gKi9cbkBtaXhpbiBoZWxwZXItZm9udC13ZWlnaHQoJHdlaWdodCkge1xuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRzZXR0aW5nLWZvbnQtd2VpZ2h0LCAkd2VpZ2h0KTtcblxuICAgIEBjb250ZW50O1xufVxuXG4vKipcbiAqIFNldHMgbGluZS1oZWlnaHQgcHJvcGVydHkgZnJvbSBsaW5lLWhlaWdodCBzZXR0aW5ncyBtYXAgLSAkc2V0dGluZy1mb250LWxpbmUtaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgcGFzc2VkIG1hcCBrZXkuXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJGhlaWdodFxuICovXG5AbWl4aW4gaGVscGVyLWZvbnQtbGluZS1oZWlnaHQoJGhlaWdodCkge1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRzZXR0aW5nLWZvbnQtbGluZS1oZWlnaHQsICRoZWlnaHQpO1xuXG4gICAgQGNvbnRlbnQ7XG59XG4iLCIvKipcbiAqIFBvdmlkZXMgdHJhbnNpdGlvbiBwcm9wZXJ0eSBjb25maWd1cmVkIGJ5IHRoZSBwYXNzZWQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkcHJvcHNcbiAqIEBwYXJhbSB7TnVtYmVyfSAkZHVyYXRpb24gWyRzZXR0aW5nLWVmZmVjdC1kZWZhdWx0LWR1cmF0aW9uXVxuICogQHBhcmFtIHtTdHJpbmd9ICRlYXNlIFskc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1lYXNlXVxuICovXG5AbWl4aW4gaGVscGVyLWVmZmVjdC10cmFuc2l0aW9uKFxuICAgICRwcm9wczogb3BhY2l0eSB2aXNpYmlsaXR5LFxuICAgICRkdXJhdGlvbjogJHNldHRpbmctZWZmZWN0LWRlZmF1bHQtZHVyYXRpb24sXG4gICAgJGVhc2U6ICRzZXR0aW5nLWVmZmVjdC1kZWZhdWx0LWVhc2Vcbikge1xuICAgICR0cmFuc2l0aW9uOiBudWxsO1xuXG4gICAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAgICAgJHRyYW5zaXRpb246XG4gICAgICAgICAgICAkcHJvcCAkZHVyYXRpb24gJGVhc2UsXG4gICAgICAgICAgICAkdHJhbnNpdGlvbjtcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICBAY29udGVudDtcbn1cbiIsIi8qKlxuICogRm9yY2VzIGVsZW1lbnQgdmlzaWJpbGl0eS5cbiAqL1xuQG1peGluIGhlbHBlci12aXNpYmlsaXR5LXZpc2libGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGNvbnRlbnQ7XG59XG5cbi8qKlxuICogRm9yY2VzIGVsZW1lbnQgaW52aXNpYmlsaXR5LlxuICovXG5AbWl4aW4gaGVscGVyLXZpc2liaWxpdHktaW52aXNpYmxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBjb250ZW50O1xufVxuXG4vKipcbiAqIEZvcmNlcyBlbGVtZW50IGludmlzaWJpbGl0eSB3aXRoIGFjY2Vzc2liaWxpdHkgc3VwcG9ydC5cbiAqL1xuQG1peGluIGhlbHBlci1hY2Nlc3NpYmxlLXZpc2liaWxpdHktaW52aXNpYmxlIHtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGNvbnRlbnQ7XG59XG5cbi8qKlxuICogRm9yY2VzIGVsZW1lbnQgdmlzaWJpbGl0eSB3aXRoIGFjY2Vzc2liaWxpdHkgc3VwcG9ydC5cbiAqL1xuQG1peGluIGhlbHBlci1hY2Nlc3NpYmxlLXZpc2liaWxpdHktdmlzaWJsZSB7XG4gICAgY2xpcDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgIEBjb250ZW50O1xufVxuIiwiLyoqXG4gKiBQcm92aWRlcyBnbG9iYWwgY2xhc3MgbmFtZXMgd2l0aCBzcGFjaW5nIHByb3BlcnRpZXMgc2V0IGZyb20gJHNldHRpbmctc3BhY2luZyBtYXAuXG4gKiBAcGFyYW0ge1N0cmluZ30gJG5hbWUgTWFpbiBzZWxlY3RvciBuYW1lLlxuICogQHBhcmFtIHtMaXN0fSAkc2lkZXMgW1tdXSBMaXN0IG9mIHNpZGVzIHRvIHNldCBwcm9wZXJ0aWVzLlxuICovXG5AbWl4aW4gaGVscGVyLXNwYWNpbmcoJG5hbWUsICRzaWRlczogW10pIHtcbiAgICBAaW5jbHVkZSBoZWxwZXItc3BhY2luZy1vdXRlcigkbmFtZSwgJHNpZGVzKTtcbiAgICBAaW5jbHVkZSBoZWxwZXItc3BhY2luZy1pbm5lcigkbmFtZSwgJHNpZGVzKTtcbn1cblxuQG1peGluIGhlbHBlci1zcGFjaW5nLW91dGVyKCRuYW1lLCAkc2lkZXMpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBlYWNoICRzcGFjaW5nLW5hbWUsICRzcGFjaW5nLXZhbHVlIGluICRzZXR0aW5nLXNwYWNpbmcge1xuICAgICAgICAgICAgQGlmICRzcGFjaW5nLW5hbWUgPT0gJ2RlZmF1bHQnIHtcbiAgICAgICAgICAgICAgICBAaWYgbGVuZ3RoKCRzaWRlcykgPT0gMCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctdmFsdWU7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBlYWNoICRzaWRlIGluICRzaWRlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tI3skc2lkZX06ICRzcGFjaW5nLXZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJi0tI3skc3BhY2luZy1uYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiBsZW5ndGgoJHNpZGVzKSA9PSAwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHNpZGUgaW4gJHNpZGVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tI3skc2lkZX06ICRzcGFjaW5nLXZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVscGVyLXNwYWNpbmctaW5uZXIoJG5hbWUsICRzaWRlcykge1xuICAgICN7JG5hbWV9LS1pbm5lciB7XG4gICAgICAgIEBlYWNoICRzcGFjaW5nLW5hbWUsICRzcGFjaW5nLXZhbHVlIGluICRzZXR0aW5nLXNwYWNpbmcge1xuICAgICAgICAgICAgQGlmICRzcGFjaW5nLW5hbWUgPT0gJ2RlZmF1bHQnIHtcbiAgICAgICAgICAgICAgICBAaWYgbGVuZ3RoKCRzaWRlcykgPT0gMCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdmFsdWU7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBlYWNoICRzaWRlIGluICRzaWRlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tI3skc2lkZX06IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLSN7JHNpZGV9OiAkc3BhY2luZy12YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBhdC1yb290ICN7JG5hbWV9LS1pbm5lciN7JG5hbWV9LS0jeyRzcGFjaW5nLW5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIGxlbmd0aCgkc2lkZXMpID09IDAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHNpZGUgaW4gJHNpZGVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tI3skc2lkZX06IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy0jeyRzaWRlfTogJHNwYWNpbmctdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvKipcbiAqIFJldHVybnMgMCBvciB0aGUgZmlyc3QgdmFsdWUgZnJvbSB0aGUgJGVkZ2VzIGxpc3QuXG4gKiBAcGFyYW0ge0xpc3R9ICRlZGdlcyBbJHNldHRpbmctYnJlYWtwb2ludHNdIExpc3QgbGVuZ3RoIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDIuXG4gKiBAcmV0dXJuIHtCYXNlfVxuICovXG5AZnVuY3Rpb24gaGVscGVyLWJyZWFrcG9pbnQtZWRnZS1taW4oJGVkZ2VzKSB7XG4gICAgQGlmIGxlbmd0aCgkZWRnZXMpID4gMCB7XG4gICAgICAgIEByZXR1cm4gbnRoKCRlZGdlcywgMSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAwO1xufVxuXG4vKipcbiAqIFJldHVybnMgbnVsbCBvciB0aGUgbGFzdCB2YWx1ZSBmcm9tIHRoZSAkZWRnZXMgbGlzdC5cbiAqIEBwYXJhbSB7TGlzdH0gJGVkZ2VzIFskc2V0dGluZy1icmVha3BvaW50c10gTGlzdCBsZW5ndGggbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMi5cbiAqIEByZXR1cm4ge0Jhc2V9XG4gKi9cbkBmdW5jdGlvbiBoZWxwZXItYnJlYWtwb2ludC1lZGdlLW1heCgkZWRnZXMpIHtcbiAgICBAaWYgbGVuZ3RoKCRlZGdlcykgPiAxIHtcbiAgICAgICAgQHJldHVybiBudGgoJGVkZ2VzLCAyKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogU2V0cyBzY3JlZW4gbWVkaWEgcXVlcnkgd2l0aCBtaW4td2lkdGggc2V0IHRvICRtaW4gcGFyYW1ldGVyLlxuICogQHBhcmFtICRtaW4ge051bWJlcn0gWzBdXG4gKiBAY29udGVudCBFeHRlbmRzIG1peGluIHdpdGggcHJvcGVydGllcyBmb3IgbWVkaWEgcXVlcnkuXG4gKi9cbkBtaXhpbiBoZWxwZXItYnJlYWtwb2ludC1tZWRpYS1taW4oJG1pbjogMCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogU2V0cyBzY3JlZW4gbWVkaWEgcXVlcnkgd2l0aCBicmVha3BvaW50cyByYW5nZSBwYXNzZWQgYXMgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXVxuICogQHBhcmFtIHtOdW1iZXJ9ICRtYXggWyRzZXR0aW5nLWdyaWQtbWF4LXdpZHRoXVxuICogQGNvbnRlbnQgRXh0ZW5kcyBtaXhpbiB3aXRoIHByb3BlcnRpZXMgZm9yIG1lZGlhIHF1ZXJ5LlxuICovXG5AbWl4aW4gaGVscGVyLWJyZWFrcG9pbnQtbWVkaWEtYmV0d2VlbigkbWluOiAwLCAkbWF4OiAkc2V0dGluZy1ncmlkLW1heC13aWR0aCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFNldHMgc2NyZWVuIG1lZGlhIHF1ZXJ5IHdpdGggbWF4LXdpZHRoIHNldCB0byAkbWF4IHBhcmFtZXRlci5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFskc2V0dGluZy1ncmlkLW1heC13aWR0aF1cbiAqIEBjb250ZW50IEV4dGVuZHMgbWl4aW4gd2l0aCBwcm9wZXJ0aWVzIGZvciBtZWRpYSBxdWVyeS5cbiAqL1xuQG1peGluIGhlbHBlci1icmVha3BvaW50LW1lZGlhLW1heCgkbWF4OiAkc2V0dGluZy1ncmlkLW1heC13aWR0aCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogU2V0cyBzY3JlZW4gbWVkaWEgcXVlcnkgd2l0aCBicmVha3BvaW50cyByYW5nZSBwYXNzZWQgdG8gcGFyYW1ldGVycyBvclxuICogd2l0aCBtaW4td2lkdGggcXVlcnkgaWYgb25seSBvbmUgcGFyYW1ldGVyIGlzIHBhc3NlZC5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFskc2V0dGluZy1ncmlkLW1heC13aWR0aF1cbiAqIEBjb250ZW50IEV4dGVuZHMgbWl4aW4gd2l0aCBwcm9wZXJ0aWVzIGZvciBtZWRpYSBxdWVyeS5cbiAqL1xuQG1peGluIGhlbHBlci1icmVha3BvaW50KCRtaW4tYnAsICRtYXgtYnA6IG51bGwpIHtcbiAgICAkZWRnZXMtbWluOiBtYXAtZ2V0KCRzZXR0aW5nLWJyZWFrcG9pbnRzLCAkbWluLWJwKTtcbiAgICAkZWRnZS1taW46IGhlbHBlci1icmVha3BvaW50LWVkZ2UtbWluKCRlZGdlcy1taW4pO1xuXG4gICAgQGlmICRtYXgtYnAgPT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIGhlbHBlci1icmVha3BvaW50LW1lZGlhLW1pbigkZWRnZS1taW4pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICRlZGdlcy1tYXg6IG1hcC1nZXQoJHNldHRpbmctYnJlYWtwb2ludHMsICRtYXgtYnApO1xuICAgICAgICAkZWRnZS1tYXg6IGhlbHBlci1icmVha3BvaW50LWVkZ2UtbWF4KCRlZGdlcy1tYXgpO1xuXG4gICAgICAgIEBpZiAkZWRnZS1tYXggPT0gbnVsbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWxwZXItYnJlYWtwb2ludC1tZWRpYS1taW4oJGVkZ2UtbWluKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVscGVyLWJyZWFrcG9pbnQtbWVkaWEtYmV0d2VlbigkZWRnZS1taW4sICRlZGdlLW1heCkge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBSZXR1cm5zIGNvbHVtbiByYXRpbyBpbiByZWxhdGlvbiB0byBjb2x1bW5zIGNvdW50LlxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbJHNldHRpbmctZ3JpZC1jb2x1bW5zXVxuICogQHJldHVybiB7TnVtYmVyfVxuICovXG5AZnVuY3Rpb24gaGVscGVyLWdyaWQtc3BhbigkY29sdW1uLCAkY29sdW1uczogJHNldHRpbmctZ3JpZC1jb2x1bW5zKSB7XG4gICAgQHJldHVybiBjYWxjKCgxMDAlIC8gI3skY29sdW1uc30pICogI3skY29sdW1ufSk7XG59XG4iLCIvKipcbiAqIEFkZHMgY2xlYXJpbmcgZm9yIGVsZW1lbnQgd2l0aCBmbG9hdGVkIGNoaWxkIGVsZW1lbnRzLlxuICovXG5AbWl4aW4gaGVscGVyLXVpLWNsZWFyZml4IHtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG59XG5cbi8qKlxuICogQWRkcyBhIGJveC1zaGFkb3cgd2l0aCBiYXNpYyB2YWx1ZXMuXG4gKi9cbkBtaXhpbiBoZWxwZXItdWktc2hhZG93KCkge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAxcHggJHNldHRpbmctY29sb3Itc2hhZG93O1xuXG4gICAgQGNvbnRlbnQ7XG59XG4iLCIvKipcbiAqIENoZWNrcyBwYXJhbWV0ZXIgb24gcHJlc2VuY2UgaW4gdGhlIGJsYWNrbGlzdCBvZiBpbXBvcnRzIHNldHRpbmcgbGlzdC5cbiAqIEBwYXJhbSB7TGlzdH0gJGtleXdvcmRzXG4gKiBAY29udGVudCBFeHRlbmRzIG1peGluIHdpdGggcHJvcGVydGllcyBpZiAka2V5d29yZHMgaXMgbm90IG9uIHRoZSBibGFja2xpc3QuXG4gKi9cbkBtaXhpbiBoZWxwZXItaW1wb3J0KCRrZXl3b3Jkcy4uLikge1xuICAgICRpc0JsYWNrbGlzdGVkOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXl3b3JkIGluICRrZXl3b3JkcyB7XG4gICAgICAgIEBpZiBpbmRleCgkc2V0dGluZy1pbXBvcnQtYmxhY2tsaXN0LCAka2V5d29yZCkgIT0gbnVsbCB7XG4gICAgICAgICAgICAkaXNCbGFja2xpc3RlZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBub3QgJGlzQmxhY2tsaXN0ZWQge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvKipcbiAqIFBvdmlkZXMgdHJhbnNpdGlvbiBwcm9wZXJ0eSBjb25maWd1cmVkIGJ5IHRoZSBwYXNzZWQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkcHJvcHNcbiAqIEBwYXJhbSB7TnVtYmVyfSAkZHVyYXRpb24gWyRzZXR0aW5nLWVmZmVjdC1kZWZhdWx0LWR1cmF0aW9uXVxuICogQHBhcmFtIHtTdHJpbmd9ICRlYXNlIFskc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1lYXNlXVxuICovXG5AbWl4aW4gaGVscGVyLWVmZmVjdC10cmFuc2l0aW9uKFxuICAgICRwcm9wczogb3BhY2l0eSB2aXNpYmlsaXR5LFxuICAgICRkdXJhdGlvbjogJHNldHRpbmctZWZmZWN0LWRlZmF1bHQtZHVyYXRpb24sXG4gICAgJGVhc2U6ICRzZXR0aW5nLWVmZmVjdC1kZWZhdWx0LWVhc2Vcbikge1xuICAgICR0cmFuc2l0aW9uOiBudWxsO1xuXG4gICAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAgICAgJHRyYW5zaXRpb246XG4gICAgICAgICAgICAkcHJvcCAkZHVyYXRpb24gJGVhc2UsXG4gICAgICAgICAgICAkdHJhbnNpdGlvbjtcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICAucGFnZS1sb2FkaW5nICYge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuIiwiQG1peGluIGFnZW50LXdpZGdldC1hZ2VudC1uYXZpZ2F0aW9uKCRuYW1lOiAnLmFnZW50LW5hdmlnYXRpb24nKSB7XG4gICAgI3skbmFtZX0ge1xuICAgICAgICAmX19kcm9wZG93biA+ICZfX2Ryb3Bkb3duLWl0ZW1bcG9zaXRpb24tcmlnaHRdIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2FyZXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYWdlbnQtd2lkZ2V0LWFnZW50LW5hdmlnYXRpb24gbWl4aW4gaW5zdGVhZC5cbiAqL1xuQG1peGluIGFnZW50LW5hdmlnYXRpb24oJG5hbWU6ICcuYWdlbnQtbmF2aWdhdGlvbicpIHtcbiAgICBAaW5jbHVkZSBhZ2VudC13aWRnZXQtYWdlbnQtbmF2aWdhdGlvbigpO1xuXG4gICAgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCJAbWl4aW4gYWdlbnQtd2lkZ2V0LWFnZW50LWNvbnRyb2wtYmFyKCRuYW1lOiAnLmFnZW50LWNvbnRyb2wtYmFyJykge1xuICAgICN7JG5hbWV9IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAkc2V0dGluZy16aS1oZWFkZXIgKyAxO1xuXG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYWdlbnQtd2lkZ2V0LWFnZW50LWNvbnRyb2wtYmFyIG1peGluIGluc3RlYWQuXG4gKi9cbkBtaXhpbiBhZ2VudC1jb250cm9sLWJhcigkbmFtZTogJy5hZ2VudC1jb250cm9sLWJhcicpIHtcbiAgICBAaW5jbHVkZSBhZ2VudC13aWRnZXQtYWdlbnQtY29udHJvbC1iYXIoKTtcblxuICAgICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiQG1peGluIGNoZWNrb3V0LXBhZ2Utc3VtbWFyeS1vdmVydmlldygkbmFtZTogJy5zdW1tYXJ5LW92ZXJ2aWV3Jykge1xuICAgICN7JG5hbWV9IHtcbiAgICAgICAgJl9fZ3JhbmQtdG90YWwtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBjaGVja291dC1wYWdlLXN1bW1hcnktb3ZlcnZpZXcoKTtcbiIsIi8qKlxuICogRGVmaW5lcyB0aGUgbWFpbiBjb2xvciBvZiB0aGUgc2hvcCB0aGVtZS4gVXNhZ2U6IHByaW1hcnkgZWxlbWVudHMnIGJhY2tncm91bmQgYW5kIGNvbG9yLlxuICovXG4vKipcbiAqIERlZmluZXMgYWx0ZXJuYXRpdmUgY29sb3Igb2YgdGhlIHNob3AgdGhlbWUuIFVzYWdlOiBzZWNvbmRhcnkgZWxlbWVudHMnIGJhY2tncm91bmQgYW5kIGNvbG9yLlxuICovXG4vKipcbiAqIERlZmluZXMgd2hpdGUgY29sb3IuIFVzYWdlOiBub3QgdHJhbnNwYXJlbnQgZWxlbWVudHMnIGJhY2tncm91bmQgb2YgZGVmYXVsdCBiYWNrZ3JvdW5kLlxuICovXG4vKipcbiAqIERlZmluZXMgYSBsaWdodCBzaGFkZSBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzJyBiYWNrZ3JvdW5kLCBib3JkZXJzIGFuZCB0ZXh0LlxuICovXG4vKipcbiAqIERlZmluZXMgYSBsaWdodGVyIHNoYWRlIGNvbG9yLiBVc2FnZTogZWxlbWVudHMnIGJhY2tncm91bmQsIGJvcmRlcnMgYW5kIHRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB0aGUgbGlnaHRlc3Qgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgYmFja2dyb3VuZCwgYm9yZGVycyBhbmQgdGV4dC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHRoZSBzaGFkZSBvZiB0aGUgYmxhY2sgY29sb3IuIFVzYWdlOiBhcyBhIGJhc2Ugb2YgYmxhY2sgY29sb3IgZm9yIHNlbWktdHJhbnNwYXJlbnQgZWxlbWVudHMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBhIGRhcmsgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4vKipcbiAqIERlZmluZXMgYSBkYXJrZXIgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4vKipcbiAqIERlZmluZXMgdGhlIGRhcmtlc3Qgc2hhZGUgY29sb3IuIFVzYWdlOiBlbGVtZW50cycgdGV4dCBjb2xvciB2YXJpYW50LlxuICovXG4vKipcbiAqIERlZmluZXMgYSB0cmFuc3BhcmVudCBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzJyBiYWNrZ3JvdW5kLCBib3JkZXIuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB0aGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yLiBVc2FnZTogYm9keSBhbmQgc2lkZS1kcmF3ZXIgYmFja2dyb3VuZC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHRoZSBtYWluIGNvbG9yIG9mIHRleHQuIFVzYWdlOiBkZWZhdWx0IGdsb2JhbCB0ZXh0IGNvbG9yLlxuICovXG4vKipcbiAqIERlZmluZXMgYSBkZWZhdWx0IGdsb2JhbCBib3JkZXIgY29sb3IgZm9yIHRoZSBpbnB1dCBlbGVtZW50cy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCBnbG9iYWwgYm9yZGVyIGNvbG9yIGZvciB0aGUgaW5wdXQgZWxlbWVudHMgb24gZm9jdXMgZXZlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBhIHNoYWRvdyBzaGFkZSBhbmQgdHJhbnNwYXJlbmN5IGZvciB0aGUgc2hhZG93ZWQgZWxlbWVudHMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBhIGRlZmF1bHQgb3ZlcmxheSBjb2xvci4gVXNhZ2U6IGVsZW1lbnRzIHdpdGggb3ZlcmxheSAtIHNpZGUtZHJhd2VyLCBwb3B1cHMgZXRjLlxuICovXG4vKipcbiAqIERlZmluZXMgYSBkZWZhdWx0IGltYWdlIG92ZXJsYXkgY29sb3IuIFVzYWdlOiBpbWFnZXMgd2l0aCBvdmVybGF5IC0gbGF6eS1pbWFnZS5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGFjdGlvbiBjb2xvcnMgbWFwLlxuICovXG4vKipcbiAqIERlZmluZXMgZm9udCBmYW1pbHkgc2V0dGluZy4gVXNhZ2U6IGJvZHkgZ2xvYmFsIGZvbnQgc3R5bGVzLlxuICovXG4vKipcbiAqIERlZmluZXMgZm9udCBmYW1pbHkgc2V0dGluZyBmb3IgY29kZS4gQ2FuIGJlIHVzZWQgZm9yIGNvZGUgYW5kIHByZSBlbGVtZW50cy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGJhc2ljIGZvbnQgc2l6ZS4gVXNhZ2U6IGdsb2JhbCBiYXNpYyBmb250IHNpemUuXG4gKi9cbi8qKlxuICogRm9udCBzaXplIHZhbHVlcyBtYXAuIFVzYWdlOiBtaXhpbnMgcHJvdmlkaW5nIHN0eWxlcyBmb3IgaGVhZGluZ3MsIHRleHQgZWxlbWVudHMgZXRjLlxuICovXG4vKipcbiAqIEZvbnQgd2VpZ2h0IHZhbHVlcyBtYXAuIFVzYWdlOiBtaXhpbiB0byBzZXQgZm9udCB3ZWlnaHQgcHJvcGVydHkuXG4gKi9cbi8qKlxuICogRm9udCBsaW5lIGhlaWdodCB2YWx1ZXMgbWFwLiBVc2FnZTogbWl4aW5zIHByb3ZpZGluZyBzdHlsZXMgZm9yIGhlYWRpbmdzLCB0ZXh0IGVsZW1lbnRzIGV0Yy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCBkdXJhdGlvbiB2YWx1ZSBmb3IgdGhlIGFuaW1hdGlvbiBlZmZlY3RzLiBVc2FnZTogbWl4aW5zIHByb3ZpZGluZyBhbmltYXRpb24gcHJvcGVydGllcy5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGEgZGVmYXVsdCB0aW1pbmcgZnVuY3Rpb24gZm9yIHRoZSBhbmltYXRpb24gZWZmZWN0cy4gVXNhZ2U6IG1peGlucyBwcm92aWRpbmcgYW5pbWF0aW9uIHByb3BlcnRpZXMuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBkZWZhdWx0IHotaW5kZXggdmFsdWUuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciBhamF4IGR5bmFtaWMgbG9hZGVyLlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIGZsb2F0aW5nIGVsZW1lbnRzLlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIGhlYWRlciBjb250ZXh0LlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIHNpZGUgZHJhd2VyIGNvbnRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgcG9wdXAuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgb3ZlcmxheS5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIHRoZSBub3RpZmljYXRpb24gYXJlYSBjb250ZXh0LlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIHNlYXJjaCBzdWdnZXN0aW9ucyBjb250ZXh0LlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIGFqYXggbG9hZGVyLlxuICovXG4vKipcbiAqIERlZmluZXMgei1pbmRleCB2YWx1ZSBmb3IgdGhlIHRvcCBuYXZpZ2F0aW9uIGNvbnRleHQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyB6LWluZGV4IHZhbHVlIGZvciB0aGUgc2tpcCB0byBjb250ZW50IGxpbmsgY29udGV4dC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHotaW5kZXggdmFsdWUgZm9yIGxheWVyIHVuZGVyIG1haW4gY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHNwYWNpbmcgdmFsdWVzIG1hcC4gVXNhZ2U6IHNwYWNpbmcgaGVscGVycyBhbmQgbWl4aW5zLlxuICovXG4vKipcbiAqIERlZmluZXMgYnJlYWtwb2ludHMnIHZhbHVlcyBmb3IgcmVzcG9uc2l2ZS5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGdyaWQgc3lzdGVtIGNvbHVtbnMgY291bnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBncmlkIGNvbnRhaW5lciBtYXggd2lkdGguXG4gKi9cbi8qKlxuICogRGVmaW5lcyBndXR0ZXJzJyBzaXplIGZvciBncmlkIFwid2l0aC1ndXR0ZXJcIiBtb2RpZmllci5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGltcG9ydCBibGFja2xpc3QuIFVzYWdlOiBpbXBvcnQgaGVscGVyLlxuICovXG4vKipcbiAqIFByb3ZpZGVzIGxpc3Qgb2YgcHJvcGVyaWVzIGZvciByZXNldCB1c2FnZS5cbiAqL1xuLyoqXG4gKiBAcGFyYW0ge0NvbG9yfFN0cmluZ30gJHZhbHVlXG4gKiBAcGFyYW0ge051bWJlcn0gJGRlZ3JlZSBbMTBdXG4gKi9cbi8qKlxuICogQHBhcmFtIHtDb2xvcnxTdHJpbmd9ICR2YWx1ZVxuICogQHBhcmFtIHtOdW1iZXJ9ICRkZWdyZWUgWzEwXVxuICovXG4vKipcbiAqIFNldHMgZm9udC1zaXplIHByb3BlcnR5IGZyb20gZm9udCBzaXplIHNldHRpbmdzIG1hcCAtICRzZXR0aW5nLWZvbnQtc2l6ZSBhY2NvcmRpbmcgdG8gdGhlIHBhc3NlZCBtYXAga2V5LlxuICogQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICRzaXplXG4gKi9cbi8qKlxuICogU2V0cyBmb250LXdlaWdodCBwcm9wZXJ0eSBmcm9tIGZvbnQgd2VpZ2h0IHNldHRpbmdzIG1hcCAtICRzZXR0aW5nLWZvbnQtd2VpZ2h0IGFjY29yZGluZyB0byB0aGUgcGFzc2VkIG1hcCBrZXkuXG4gKiBAcGFyYW0ge1N0cmluZ30gJHdlaWdodFxuICovXG4vKipcbiAqIFNldHMgbGluZS1oZWlnaHQgcHJvcGVydHkgZnJvbSBsaW5lLWhlaWdodCBzZXR0aW5ncyBtYXAgLSAkc2V0dGluZy1mb250LWxpbmUtaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgcGFzc2VkIG1hcCBrZXkuXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJGhlaWdodFxuICovXG4vKipcbiAqIFBvdmlkZXMgdHJhbnNpdGlvbiBwcm9wZXJ0eSBjb25maWd1cmVkIGJ5IHRoZSBwYXNzZWQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkcHJvcHNcbiAqIEBwYXJhbSB7TnVtYmVyfSAkZHVyYXRpb24gWyRzZXR0aW5nLWVmZmVjdC1kZWZhdWx0LWR1cmF0aW9uXVxuICogQHBhcmFtIHtTdHJpbmd9ICRlYXNlIFskc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1lYXNlXVxuICovXG4vKipcbiAqIEZvcmNlcyBlbGVtZW50IHZpc2liaWxpdHkuXG4gKi9cbi8qKlxuICogRm9yY2VzIGVsZW1lbnQgaW52aXNpYmlsaXR5LlxuICovXG4vKipcbiAqIEZvcmNlcyBlbGVtZW50IGludmlzaWJpbGl0eSB3aXRoIGFjY2Vzc2liaWxpdHkgc3VwcG9ydC5cbiAqL1xuLyoqXG4gKiBGb3JjZXMgZWxlbWVudCB2aXNpYmlsaXR5IHdpdGggYWNjZXNzaWJpbGl0eSBzdXBwb3J0LlxuICovXG4vKipcbiAqIFByb3ZpZGVzIGdsb2JhbCBjbGFzcyBuYW1lcyB3aXRoIHNwYWNpbmcgcHJvcGVydGllcyBzZXQgZnJvbSAkc2V0dGluZy1zcGFjaW5nIG1hcC5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSBNYWluIHNlbGVjdG9yIG5hbWUuXG4gKiBAcGFyYW0ge0xpc3R9ICRzaWRlcyBbW11dIExpc3Qgb2Ygc2lkZXMgdG8gc2V0IHByb3BlcnRpZXMuXG4gKi9cbi8qKlxuICogUmV0dXJucyAwIG9yIHRoZSBmaXJzdCB2YWx1ZSBmcm9tIHRoZSAkZWRnZXMgbGlzdC5cbiAqIEBwYXJhbSB7TGlzdH0gJGVkZ2VzIFskc2V0dGluZy1icmVha3BvaW50c10gTGlzdCBsZW5ndGggbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMi5cbiAqIEByZXR1cm4ge0Jhc2V9XG4gKi9cbi8qKlxuICogUmV0dXJucyBudWxsIG9yIHRoZSBsYXN0IHZhbHVlIGZyb20gdGhlICRlZGdlcyBsaXN0LlxuICogQHBhcmFtIHtMaXN0fSAkZWRnZXMgWyRzZXR0aW5nLWJyZWFrcG9pbnRzXSBMaXN0IGxlbmd0aCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyLlxuICogQHJldHVybiB7QmFzZX1cbiAqL1xuLyoqXG4gKiBTZXRzIHNjcmVlbiBtZWRpYSBxdWVyeSB3aXRoIG1pbi13aWR0aCBzZXQgdG8gJG1pbiBwYXJhbWV0ZXIuXG4gKiBAcGFyYW0gJG1pbiB7TnVtYmVyfSBbMF1cbiAqIEBjb250ZW50IEV4dGVuZHMgbWl4aW4gd2l0aCBwcm9wZXJ0aWVzIGZvciBtZWRpYSBxdWVyeS5cbiAqL1xuLyoqXG4gKiBTZXRzIHNjcmVlbiBtZWRpYSBxdWVyeSB3aXRoIGJyZWFrcG9pbnRzIHJhbmdlIHBhc3NlZCBhcyBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdXG4gKiBAcGFyYW0ge051bWJlcn0gJG1heCBbJHNldHRpbmctZ3JpZC1tYXgtd2lkdGhdXG4gKiBAY29udGVudCBFeHRlbmRzIG1peGluIHdpdGggcHJvcGVydGllcyBmb3IgbWVkaWEgcXVlcnkuXG4gKi9cbi8qKlxuICogU2V0cyBzY3JlZW4gbWVkaWEgcXVlcnkgd2l0aCBtYXgtd2lkdGggc2V0IHRvICRtYXggcGFyYW1ldGVyLlxuICogQHBhcmFtIHtOdW1iZXJ9ICRtYXggWyRzZXR0aW5nLWdyaWQtbWF4LXdpZHRoXVxuICogQGNvbnRlbnQgRXh0ZW5kcyBtaXhpbiB3aXRoIHByb3BlcnRpZXMgZm9yIG1lZGlhIHF1ZXJ5LlxuICovXG4vKipcbiAqIFNldHMgc2NyZWVuIG1lZGlhIHF1ZXJ5IHdpdGggYnJlYWtwb2ludHMgcmFuZ2UgcGFzc2VkIHRvIHBhcmFtZXRlcnMgb3JcbiAqIHdpdGggbWluLXdpZHRoIHF1ZXJ5IGlmIG9ubHkgb25lIHBhcmFtZXRlciBpcyBwYXNzZWQuXG4gKiBAcGFyYW0ge051bWJlcn0gJG1heCBbJHNldHRpbmctZ3JpZC1tYXgtd2lkdGhdXG4gKiBAY29udGVudCBFeHRlbmRzIG1peGluIHdpdGggcHJvcGVydGllcyBmb3IgbWVkaWEgcXVlcnkuXG4gKi9cbi8qKlxuICogUmV0dXJucyBjb2x1bW4gcmF0aW8gaW4gcmVsYXRpb24gdG8gY29sdW1ucyBjb3VudC5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1uXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgWyRzZXR0aW5nLWdyaWQtY29sdW1uc11cbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuLyoqXG4gKiBBZGRzIGNsZWFyaW5nIGZvciBlbGVtZW50IHdpdGggZmxvYXRlZCBjaGlsZCBlbGVtZW50cy5cbiAqL1xuLyoqXG4gKiBBZGRzIGEgYm94LXNoYWRvdyB3aXRoIGJhc2ljIHZhbHVlcy5cbiAqL1xuLyoqXG4gKiBDaGVja3MgcGFyYW1ldGVyIG9uIHByZXNlbmNlIGluIHRoZSBibGFja2xpc3Qgb2YgaW1wb3J0cyBzZXR0aW5nIGxpc3QuXG4gKiBAcGFyYW0ge0xpc3R9ICRrZXl3b3Jkc1xuICogQGNvbnRlbnQgRXh0ZW5kcyBtaXhpbiB3aXRoIHByb3BlcnRpZXMgaWYgJGtleXdvcmRzIGlzIG5vdCBvbiB0aGUgYmxhY2tsaXN0LlxuICovXG4vKipcbiAqIFBvdmlkZXMgdHJhbnNpdGlvbiBwcm9wZXJ0eSBjb25maWd1cmVkIGJ5IHRoZSBwYXNzZWQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkcHJvcHNcbiAqIEBwYXJhbSB7TnVtYmVyfSAkZHVyYXRpb24gWyRzZXR0aW5nLWVmZmVjdC1kZWZhdWx0LWR1cmF0aW9uXVxuICogQHBhcmFtIHtTdHJpbmd9ICRlYXNlIFskc2V0dGluZy1lZmZlY3QtZGVmYXVsdC1lYXNlXVxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBhZ2VudC13aWRnZXQtYWdlbnQtbmF2aWdhdGlvbiBtaXhpbiBpbnN0ZWFkLlxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBhZ2VudC13aWRnZXQtYWdlbnQtY29udHJvbC1iYXIgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLnN1bW1hcnktb3ZlcnZpZXdfX2dyYW5kLXRvdGFsLXByaWNlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGNtcy1zZWFyY2gtcGFnZS1zb3J0IG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGZpbGUtbWFuYWdlci13aWRnZXQtZmlsZS1kb3dubG9hZC1saW5rIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHByaWNlLXByb2R1Y3Qtdm9sdW1lLXdpZGdldC12b2x1bWUtcHJpY2UgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgcHJpY2UtcHJvZHVjdC12b2x1bWUtd2lkZ2V0LXZvbHVtZS1wcmljZS10YWJsZSBtaXhpbiBpbnN0ZWFkLlxuICovXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBwcm9kdWN0LW9wdGlvbi13aWRnZXQtc2hvcHBpbmctbGlzdC1wcm9kdWN0LW9wdGlvbi1saXN0IG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHByb2R1Y3QtcmV2aWV3LXdpZGdldC1yYXRpbmctc2VsZWN0b3IgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgcHJvZHVjdC1zZWFyY2gtd2lkZ2V0LXByb2R1Y3QtcXVpY2stYWRkLWZvcm0gbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgY29uZmlndXJhYmxlLWJ1bmRsZS13aWRnZXQtb3JkZXItY29uZmlndXJlZC1idW5kbGUgbWl4aW4gaW5zdGVhZC5cbiAqL1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgY29uZmlndXJhYmxlLWJ1bmRsZS13aWRnZXQtb3JkZXItY29uZmlndXJlZC1idW5kbGUtcHJvZHVjdCBtaXhpbiBpbnN0ZWFkLlxuICovXG4uY29sbGFwc2libGUtbGlzdF9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgY29sb3I6ICMwMGFmYjQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jb2xsYXBzaWJsZS1saXN0X19idXR0b246aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jb2xsYXBzaWJsZS1saXN0X19idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLXNob3cpO1xufVxuLmNvbGxhcHNpYmxlLWxpc3RfX2J1dHRvbi0tc2hvd246OmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLWhpZGUpO1xufVxuLmNvbGxhcHNpYmxlLWxpc3RfX2J1dHRvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmVtcHR5LXN0YXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXgtd2lkdGg6IDQwcmVtO1xuICBtYXJnaW46IDIuOHJlbSBhdXRvO1xufVxuLmVtcHR5LXN0YXRlX19pY29uIHtcbiAgd2lkdGg6IDUuNjJyZW07XG4gIGhlaWdodDogNS42MnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgY29sb3I6ICMwMGFmYjQ7XG59XG4uZW1wdHktc3RhdGVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuLmVtcHR5LXN0YXRlX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMCAwIDEuNzVyZW07XG59XG5cbi8qIGZlLXNuaWZmZXI6ZGlzYWJsZWQgY29ycmVjdC1zY3NzLWNvbXBvbmVudC1zdHJ1Y3R1cmUgKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHNob3AtdWktcXVvdGUtc3RhdHVzLWNvbG9yIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRhYnMtd2lkZ2V0LXNlYXJjaC10YWJzIG1peGluIGluc3RlYWQuXG4gKi9cbi8qKlxuICogUHJvdmlkZXMgZ2xvYmFsIGNsYXNzIG5hbWVzIGZvciBzcGFjaW5ncy5cbiAqL1xuLyoqXG4gKiBQcm92aWRlcyBnbG9iYWwgY2xhc3MgbmFtZXMgZm9yIHRleHQgc3R5bGluZy5cbiAqL1xuLyoqXG4gKiBQcm92aWRlcyBjbGFzcyBuYW1lIGZvciB0ZXh0IHN0eWxpbmcgd2l0aCBjb2xvciBwcm9wZXJ0eSBzcGVjaWZpZWQgYnkgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkYWN0aW9uIFNldHMgY2xhc3MgbmFtZSBwb3N0Zml4LlxuICogQHBhcmFtIHtDb2xvcn0gJHNldHRpbmctY29sb3ItYWN0aW9uIFNldHMgY29sb3IgcHJvcGVydHkuXG4gKiBAY29udGVudCBFeHRlbmRhYmxlIG1peGluLlxuICovXG4vKipcbiAqIFByb3ZpZGVzIGdsb2JhbCBjbGFzcyBuYW1lcyBmb3IgdGhlIGVsZW1lbnRzJyBmbG9hdCBhbGlnbm1lbnQuXG4gKi9cbi8qKlxuICogUHJvdmlkZXMgZ2xvYmFsIGNsYXNzIG5hbWVzIGZvciBkaXNwbGF5IGJlaGF2aW9yIHdpdGggYWRkaXRpb25hbCByZXNwb25zaXZlIG1vZGlmaWVycy5cbiAqL1xuLnRleHQtc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4udGV4dC1iaWcge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWFsdCB7XG4gIGNvbG9yOiAjZmY0ODU5O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzU5NTk1OTtcbn1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4udGV4dC1pbmZvIHtcbiAgY29sb3I6ICNmMGVkZTY7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2YzNzg0OTtcbn1cblxuLnRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjNGFjMzhlO1xufVxuXG4udGV4dC1hbGVydCB7XG4gIGNvbG9yOiAjY2IzZDQ5O1xufVxuXG4udGV4dC1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzMzMztcbn1cblxuLnNwYWNpbmcge1xuICBtYXJnaW46IDAuNXJlbTtcbn1cbi5zcGFjaW5nLS1iaWdnZXN0IHtcbiAgbWFyZ2luOiAycmVtO1xufVxuLnNwYWNpbmctLWJpZ2dlciB7XG4gIG1hcmdpbjogMS41cmVtO1xufVxuLnNwYWNpbmctLWJpZyB7XG4gIG1hcmdpbjogMXJlbTtcbn1cbi5zcGFjaW5nLS1zbWFsbCB7XG4gIG1hcmdpbjogMC4yNXJlbTtcbn1cbi5zcGFjaW5nLS1yZXNldCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNwYWNpbmctLWlubmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG4uc3BhY2luZy0taW5uZXIuc3BhY2luZy0tYmlnZ2VzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLnNwYWNpbmctLWlubmVyLnNwYWNpbmctLWJpZ2dlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMS41cmVtO1xufVxuXG4uc3BhY2luZy0taW5uZXIuc3BhY2luZy0tYmlnIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uc3BhY2luZy0taW5uZXIuc3BhY2luZy0tc21hbGwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG59XG5cbi5zcGFjaW5nLS1pbm5lci5zcGFjaW5nLS1yZXNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNwYWNpbmctdG9wIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuLnNwYWNpbmctdG9wLS1iaWdnZXN0IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbi5zcGFjaW5nLXRvcC0tYmlnZ2VyIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuLnNwYWNpbmctdG9wLS1iaWcge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLnNwYWNpbmctdG9wLS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG4uc3BhY2luZy10b3AtLXJlc2V0IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnNwYWNpbmctdG9wLS1pbm5lciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG4uc3BhY2luZy10b3AtLWlubmVyLnNwYWNpbmctdG9wLS1iaWdnZXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDJyZW07XG59XG5cbi5zcGFjaW5nLXRvcC0taW5uZXIuc3BhY2luZy10b3AtLWJpZ2dlciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG5cbi5zcGFjaW5nLXRvcC0taW5uZXIuc3BhY2luZy10b3AtLWJpZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuXG4uc3BhY2luZy10b3AtLWlubmVyLnNwYWNpbmctdG9wLS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xufVxuXG4uc3BhY2luZy10b3AtLWlubmVyLnNwYWNpbmctdG9wLS1yZXNldCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uc3BhY2luZy1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4uc3BhY2luZy1ib3R0b20tLWJpZ2dlc3Qge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLnNwYWNpbmctYm90dG9tLS1iaWdnZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4uc3BhY2luZy1ib3R0b20tLWJpZyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uc3BhY2luZy1ib3R0b20tLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cbi5zcGFjaW5nLWJvdHRvbS0tcmVzZXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc3BhY2luZy1ib3R0b20tLWlubmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cbi5zcGFjaW5nLWJvdHRvbS0taW5uZXIuc3BhY2luZy1ib3R0b20tLWJpZ2dlc3Qge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLnNwYWNpbmctYm90dG9tLS1pbm5lci5zcGFjaW5nLWJvdHRvbS0tYmlnZ2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cblxuLnNwYWNpbmctYm90dG9tLS1pbm5lci5zcGFjaW5nLWJvdHRvbS0tYmlnIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi5zcGFjaW5nLWJvdHRvbS0taW5uZXIuc3BhY2luZy1ib3R0b20tLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG5cbi5zcGFjaW5nLWJvdHRvbS0taW5uZXIuc3BhY2luZy1ib3R0b20tLXJlc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5zcGFjaW5nLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuLnNwYWNpbmctbGVmdC0tYmlnZ2VzdCB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuLnNwYWNpbmctbGVmdC0tYmlnZ2VyIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbn1cbi5zcGFjaW5nLWxlZnQtLWJpZyB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLnNwYWNpbmctbGVmdC0tc21hbGwge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cbi5zcGFjaW5nLWxlZnQtLXJlc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5zcGFjaW5nLWxlZnQtLWlubmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLnNwYWNpbmctbGVmdC0taW5uZXIuc3BhY2luZy1sZWZ0LS1iaWdnZXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxuLnNwYWNpbmctbGVmdC0taW5uZXIuc3BhY2luZy1sZWZ0LS1iaWdnZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG5cbi5zcGFjaW5nLWxlZnQtLWlubmVyLnNwYWNpbmctbGVmdC0tYmlnIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLnNwYWNpbmctbGVmdC0taW5uZXIuc3BhY2luZy1sZWZ0LS1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5zcGFjaW5nLWxlZnQtLWlubmVyLnNwYWNpbmctbGVmdC0tcmVzZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc3BhY2luZy1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuLnNwYWNpbmctcmlnaHQtLWJpZ2dlc3Qge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07XG59XG4uc3BhY2luZy1yaWdodC0tYmlnZ2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG4uc3BhY2luZy1yaWdodC0tYmlnIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLnNwYWNpbmctcmlnaHQtLXNtYWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuLnNwYWNpbmctcmlnaHQtLXJlc2V0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uc3BhY2luZy1yaWdodC0taW5uZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cbi5zcGFjaW5nLXJpZ2h0LS1pbm5lci5zcGFjaW5nLXJpZ2h0LS1iaWdnZXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuXG4uc3BhY2luZy1yaWdodC0taW5uZXIuc3BhY2luZy1yaWdodC0tYmlnZ2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5zcGFjaW5nLXJpZ2h0LS1pbm5lci5zcGFjaW5nLXJpZ2h0LS1iaWcge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5zcGFjaW5nLXJpZ2h0LS1pbm5lci5zcGFjaW5nLXJpZ2h0LS1zbWFsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbn1cblxuLnNwYWNpbmctcmlnaHQtLWlubmVyLnNwYWNpbmctcmlnaHQtLXJlc2V0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uc3BhY2luZy14IHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG4uc3BhY2luZy14LS1iaWdnZXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gIG1hcmdpbi1yaWdodDogMnJlbTtcbn1cbi5zcGFjaW5nLXgtLWJpZ2dlciB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xufVxuLnNwYWNpbmcteC0tYmlnIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbi5zcGFjaW5nLXgtLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cbi5zcGFjaW5nLXgtLXJlc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnNwYWNpbmcteC0taW5uZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLnNwYWNpbmcteC0taW5uZXIuc3BhY2luZy14LS1iaWdnZXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuXG4uc3BhY2luZy14LS1pbm5lci5zcGFjaW5nLXgtLWJpZ2dlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5zcGFjaW5nLXgtLWlubmVyLnNwYWNpbmcteC0tYmlnIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuXG4uc3BhY2luZy14LS1pbm5lci5zcGFjaW5nLXgtLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4uc3BhY2luZy14LS1pbm5lci5zcGFjaW5nLXgtLXJlc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uc3BhY2luZy15IHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4uc3BhY2luZy15LS1iaWdnZXN0IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5zcGFjaW5nLXktLWJpZ2dlciB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLnNwYWNpbmcteS0tYmlnIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5zcGFjaW5nLXktLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cbi5zcGFjaW5nLXktLXJlc2V0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNwYWNpbmcteS0taW5uZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuLnNwYWNpbmcteS0taW5uZXIuc3BhY2luZy15LS1iaWdnZXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4uc3BhY2luZy15LS1pbm5lci5zcGFjaW5nLXktLWJpZ2dlciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG5cbi5zcGFjaW5nLXktLWlubmVyLnNwYWNpbmcteS0tYmlnIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4uc3BhY2luZy15LS1pbm5lci5zcGFjaW5nLXktLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xufVxuXG4uc3BhY2luZy15LS1pbm5lci5zcGFjaW5nLXktLXJlc2V0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uY2xlYXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5mbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNTQ5cHgpIHtcbiAgLmlzLWhpZGRlbi1zbS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA3NjlweCkge1xuICAuaXMtaGlkZGVuLXNtLW1kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA5NjlweCkge1xuICAuaXMtaGlkZGVuLXNtLWxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmlzLWhpZGRlbi1zbS14bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTBweCkgYW5kIChtYXgtd2lkdGg6IDc2OXB4KSB7XG4gIC5pcy1oaWRkZW4tbWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTBweCkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gIC5pcy1oaWRkZW4tbWQtbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgLmlzLWhpZGRlbi1tZC14bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzBweCkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gIC5pcy1oaWRkZW4tbGctb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzBweCkge1xuICAuaXMtaGlkZGVuLWxnLXhsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3MHB4KSB7XG4gIC5pcy1oaWRkZW4teGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaXMtdmlzaWJsZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5pcy1pbnZpc2libGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaXMtc2Nyb2xsYWJsZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uaXMtbm90LXNjcm9sbGFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtc2Nyb2xsYWJsZS14IHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmlzLW5vdC1zY3JvbGxhYmxlLXgge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5pcy1zY3JvbGxhYmxlLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uaXMtbm90LXNjcm9sbGFibGUteSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLmlzLXBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufSIsIkBtaXhpbiBjbXMtc2VhcmNoLXBhZ2Utc29ydCgkbmFtZTogJy5zb3J0Jykge1xuICAgICN7JG5hbWV9IHtcbiAgICAgICAgJl9fY29sOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBjbXMtc2VhcmNoLXBhZ2Utc29ydCBtaXhpbiBpbnN0ZWFkLlxuICovXG5AbWl4aW4gY21zLXBhZ2Utc29ydCgkbmFtZTogJy5zb3J0Jykge1xuICAgIEBpbmNsdWRlIGNtcy1zZWFyY2gtcGFnZS1zb3J0KCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiBmaWxlLW1hbmFnZXItd2lkZ2V0LWZpbGUtZG93bmxvYWQtbGluaygkbmFtZTogJy5maWxlLWRvd25sb2FkLWxpbmsnKSB7XG4gICAgI3skbmFtZX0ge1xuICAgICAgICAmLS1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA4LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICYtLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc2V0dGluZy1mb250LXNpemUsICdzbWFsbCcpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1kYXJrZXI7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaGVscGVyLWNvbG9yLWxpZ2h0KG1hcC1nZXQoJHNldHRpbmctY29sb3ItYWN0aW9ucywgJ2FsZXJ0JyksIDU3KTtcbiAgICAgICAgICAgIGNvbG9yOiBoZWxwZXItY29sb3ItbGlnaHQobWFwLWdldCgkc2V0dGluZy1jb2xvci1hY3Rpb25zLCAnYWxlcnQnKSwgMjApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbmFtZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICYtLWljb24ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNnJlbTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19leHRlbnNpb24ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NpemUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGZpbGUtbWFuYWdlci13aWRnZXQtZmlsZS1kb3dubG9hZC1saW5rIG1peGluIGluc3RlYWQuXG4gKi9cbkBtaXhpbiBmaWxlLWRvd25sb2FkLWxpbmsoJG5hbWU6ICcuZmlsZS1kb3dubG9hZC1saW5rJykge1xuICAgIEBpbmNsdWRlIGZpbGUtbWFuYWdlci13aWRnZXQtZmlsZS1kb3dubG9hZC1saW5rKCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiBwcmljZS1wcm9kdWN0LXZvbHVtZS13aWRnZXQtdm9sdW1lLXByaWNlKCRuYW1lOiAnLnZvbHVtZS1wcmljZScpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGhlbHBlci1mb250LXNpemUoYmlnKTtcblxuICAgICAgICAmX19hbW91bnQge1xuICAgICAgICAgICAgJi0tb3JpZ2luYWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlbHBlci1mb250LXNpemUoc21hbGwpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1kYXJrO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGFnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1hbHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgICAgICYtLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHB1bHNlLWhpZ2hsaWdodCAwLjRzIGxpbmVhciAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBwcmljZS1wcm9kdWN0LXZvbHVtZS13aWRnZXQtdm9sdW1lLXByaWNlIG1peGluIGluc3RlYWQuXG4gKi9cbkBtaXhpbiBzaG9wLXVpLXZvbHVtZS1wcmljZSgkbmFtZTogJy52b2x1bWUtcHJpY2UnKSB7XG4gICAgQGluY2x1ZGUgcHJpY2UtcHJvZHVjdC12b2x1bWUtd2lkZ2V0LXZvbHVtZS1wcmljZSgpO1xuXG4gICAgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCJAbWl4aW4gcHJpY2UtcHJvZHVjdC12b2x1bWUtd2lkZ2V0LXZvbHVtZS1wcmljZS10YWJsZSgkbmFtZTogJy52b2x1bWUtcHJpY2UtdGFibGUnKSB7XG4gICAgI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBoZWxwZXItZm9udC1zaXplKGJpZyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgICAgICAmX190YWJsZSxcbiAgICAgICAgJl9fdGl0bGUsXG4gICAgICAgICZfX2NlbGwge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNldHRpbmctY29sb3ItZGFya2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGFibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVscGVyLWZvbnQtc2l6ZShzbWFsbCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2VsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgcHJpY2UtcHJvZHVjdC12b2x1bWUtd2lkZ2V0LXZvbHVtZS1wcmljZS10YWJsZSBtaXhpbiBpbnN0ZWFkLlxuICovXG5AbWl4aW4gc2hvcC11aS12b2x1bWUtcHJpY2UtdGFibGUoJG5hbWU6ICcudm9sdW1lLXByaWNlLXRhYmxlJykge1xuICAgIEBpbmNsdWRlIHByaWNlLXByb2R1Y3Qtdm9sdW1lLXdpZGdldC12b2x1bWUtcHJpY2UtdGFibGUoKTtcblxuICAgICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiJHNob3BwaW5nLWxpc3QtcHJvZHVjdC1vcHRpb24tbGlzdC1wYWRkaW5nOiBtYXAtZ2V0KCRzZXR0aW5nLXNwYWNpbmcsICdzbWFsbCcpO1xuXG5AbWl4aW4gcHJvZHVjdC1vcHRpb24td2lkZ2V0LXNob3BwaW5nLWxpc3QtcHJvZHVjdC1vcHRpb24tbGlzdCgkbmFtZTogJy5zaG9wcGluZy1saXN0LXByb2R1Y3Qtb3B0aW9uLWxpc3QnKSB7XG4gICAgI3skbmFtZX0ge1xuICAgICAgICBtYXJnaW46IDAgKC0kc2hvcHBpbmctbGlzdC1wcm9kdWN0LW9wdGlvbi1saXN0LXBhZGRpbmcpO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkc2hvcHBpbmctbGlzdC1wcm9kdWN0LW9wdGlvbi1saXN0LXBhZGRpbmcgbWFwLWdldCgkc2V0dGluZy1zcGFjaW5nLCAnZGVmYXVsdCcpO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgcHJvZHVjdC1vcHRpb24td2lkZ2V0LXNob3BwaW5nLWxpc3QtcHJvZHVjdC1vcHRpb24tbGlzdCBtaXhpbiBpbnN0ZWFkLlxuICovXG5AbWl4aW4gc2hvcHBpbmctbGlzdC1wcm9kdWN0LW9wdGlvbi1saXN0KCRuYW1lOiAnLnNob3BwaW5nLWxpc3QtcHJvZHVjdC1vcHRpb24tbGlzdCcpIHtcbiAgICBAaW5jbHVkZSBwcm9kdWN0LW9wdGlvbi13aWRnZXQtc2hvcHBpbmctbGlzdC1wcm9kdWN0LW9wdGlvbi1saXN0KCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIiRwcm9kdWN0LXJldmlldy1yYXRpbmctc2VsZWN0b3ItaWNvbi1zaXplOiAyMHB4O1xuXG5AbWl4aW4gcHJvZHVjdC1yZXZpZXctd2lkZ2V0LXJhdGluZy1zZWxlY3RvcigkbmFtZTogJy5yYXRpbmctc2VsZWN0b3InKSB7XG4gICAgI3skbmFtZX0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJl9fc3RlcHMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdGVwIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRwcm9kdWN0LXJldmlldy1yYXRpbmctc2VsZWN0b3ItaWNvbi1zaXplfSAvIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taGFsZiB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygjey0kcHJvZHVjdC1yZXZpZXctcmF0aW5nLXNlbGVjdG9yLWljb24tc2l6ZX0gLyAyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7JHByb2R1Y3QtcmV2aWV3LXJhdGluZy1zZWxlY3Rvci1pY29uLXNpemV9IC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3RhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWxwZXItZWZmZWN0LXRyYW5zaXRpb24oY29sb3IsIDEwMG1zKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJHByb2R1Y3QtcmV2aWV3LXJhdGluZy1zZWxlY3Rvci1pY29uLXNpemU7XG4gICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtcmV2aWV3LXJhdGluZy1zZWxlY3Rvci1pY29uLXNpemU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkcHJvZHVjdC1yZXZpZXctcmF0aW5nLXNlbGVjdG9yLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHByb2R1Y3QtcmV2aWV3LXJhdGluZy1zZWxlY3Rvci1pY29uLXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJHNldHRpbmctY29sb3ItZGFyaztcblxuICAgICAgICAgICAgJi0taGFsZi1sZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCN7JHByb2R1Y3QtcmV2aWV3LXJhdGluZy1zZWxlY3Rvci1pY29uLXNpemV9IC8gMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWhhbGYtcmlnaHQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3stJHByb2R1Y3QtcmV2aWV3LXJhdGluZy1zZWxlY3Rvci1pY29uLXNpemV9IC8gMik7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3RlcDpob3ZlciA+ICZfX3N0YXIsXG4gICAgICAgICZfX3N0ZXA6aG92ZXIgfiAmX19zdGVwID4gJl9fc3RhciB7XG4gICAgICAgICAgICBjb2xvcjogJHNldHRpbmctY29sb3ItbWFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N0ZXAtLWFjdGl2ZSA+ICZfX3N0YXIge1xuICAgICAgICAgICAgY29sb3I6ICRzZXR0aW5nLWNvbG9yLWFsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJlYWRvbmx5IHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBwcm9kdWN0LXJldmlldy13aWRnZXQtcmF0aW5nLXNlbGVjdG9yIG1peGluIGluc3RlYWQuXG4gKi9cbkBtaXhpbiBwcm9kdWN0LXJldmlldy1yYXRpbmctc2VsZWN0b3IoJG5hbWU6ICcucGFja2FnaW5nLXVuaXQtY2FydCcpIHtcbiAgICBAaW5jbHVkZSBwcm9kdWN0LXJldmlldy13aWRnZXQtcmF0aW5nLXNlbGVjdG9yKCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiBwcm9kdWN0LXNlYXJjaC13aWRnZXQtcHJvZHVjdC1xdWljay1hZGQtZm9ybSgkbmFtZTogJy5wcm9kdWN0LXF1aWNrLWFkZC1mb3JtJykge1xuICAgICN7JG5hbWV9IHtcbiAgICAgICAgJi0tcm93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHNldHRpbmctc3BhY2luZywgJ2RlZmF1bHQnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZXR0aW5nLWNvbG9yLWxpZ2h0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAmLS1yb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlbHBlci1mb250LXNpemUoZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHByb2R1Y3Qtc2VhcmNoLXdpZGdldC1wcm9kdWN0LXF1aWNrLWFkZC1mb3JtIG1peGluIGluc3RlYWQuXG4gKi9cbkBtaXhpbiBwcm9kdWN0LXF1aWNrLWFkZC13aWRnZXQtcHJvZHVjdC1xdWljay1hZGQtZm9ybSgkbmFtZTogJy5wcm9kdWN0LXF1aWNrLWFkZC1mb3JtJykge1xuICAgIEBpbmNsdWRlIHByb2R1Y3Qtc2VhcmNoLXdpZGdldC1wcm9kdWN0LXF1aWNrLWFkZC1mb3JtKCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiBzYWxlcy1jb25maWd1cmFibGUtYnVuZGxlLXdpZGdldC1vcmRlci1jb25maWd1cmVkLWJ1bmRsZSgkbmFtZTogJy5vcmRlci1jb25maWd1cmVkLWJ1bmRsZScpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2V0dGluZy1jb2xvci1saWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAmX19jb2wge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgY29uZmlndXJhYmxlLWJ1bmRsZS13aWRnZXQtb3JkZXItY29uZmlndXJlZC1idW5kbGUgbWl4aW4gaW5zdGVhZC5cbiAqL1xuQG1peGluIGNvbmZpZ3VyYWJsZS1idW5kbGUtd2lkZ2V0LW9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlKCRuYW1lOiAnLm9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlJykge1xuICAgIEBpbmNsdWRlIHNhbGVzLWNvbmZpZ3VyYWJsZS1idW5kbGUtd2lkZ2V0LW9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlKCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiBzYWxlcy1jb25maWd1cmFibGUtYnVuZGxlLXdpZGdldC1vcmRlci1jb25maWd1cmVkLWJ1bmRsZS1wcm9kdWN0KCRuYW1lOiAnLm9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlLXByb2R1Y3QnKSB7XG4gICAgI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2V0dGluZy1jb2xvci1saWdodGVzdDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZXR0aW5nLWNvbG9yLWxpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29sIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnVsbGV0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGNvbmZpZ3VyYWJsZS1idW5kbGUtd2lkZ2V0LW9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlLXByb2R1Y3QgbWl4aW4gaW5zdGVhZC5cbiAqL1xuQG1peGluIGNvbmZpZ3VyYWJsZS1idW5kbGUtd2lkZ2V0LW9yZGVyLWNvbmZpZ3VyZWQtYnVuZGxlLXByb2R1Y3QoJG5hbWU6ICcub3JkZXItY29uZmlndXJlZC1idW5kbGUtcHJvZHVjdCcpIHtcbiAgICBAaW5jbHVkZSBzYWxlcy1jb25maWd1cmFibGUtYnVuZGxlLXdpZGdldC1vcmRlci1jb25maWd1cmVkLWJ1bmRsZS1wcm9kdWN0KCk7XG5cbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiBzaG9wLXVpLWNvbGxhcHNpYmxlLWxpc3QoJG5hbWU6ICcuY29sbGFwc2libGUtbGlzdCcpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2V0dGluZy1jb2xvci10cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1tYWluO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zaG93KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tc2hvd24ge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWhpZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIkc2V0dGluZy1jb2xvci15ZWxsb3c6ICNmZmJmMWM7XG4kc2V0dGluZy1jb2xvci1ibHVlOiAjNWUzZGZmO1xuXG4kc2V0dGluZy1jb2xvci1ncmF5LTE6ICNmNWY1ZjU7XG4kc2V0dGluZy1jb2xvci1ncmF5LTI6ICNlZGVkZWQ7XG4kc2V0dGluZy1jb2xvci1ncmF5LTM6ICNkZWRlZGU7XG4kc2V0dGluZy1jb2xvci1ncmF5LTQ6ICM1NTU7XG4kc2V0dGluZy1jb2xvci1ncmF5LTU6ICM0NDQ7XG4kc2V0dGluZy1jb2xvci1ncmF5LTY6ICMzMzM7XG4kc2V0dGluZy1jb2xvci1ibGFjazogIzExMTtcblxuJHNldHRpbmctY29sb3ItaW5mbzogI2YwZWRlNjtcblxuJHNldHRpbmctY29sb3ItbWFpbjogIzAwYWZiNDtcbiRzZXR0aW5nLWNvbG9yLWFsdDogI2ZmNDg1OTtcbiRzZXR0aW5nLWNvbG9yLXRleHQ6ICRzZXR0aW5nLWNvbG9yLWJsYWNrO1xuJHNldHRpbmctY29sb3ItaW5wdXQtYm9yZGVyOiAkc2V0dGluZy1jb2xvci1pbmZvO1xuJHNldHRpbmctY29sb3ItaW5wdXQtYm9yZGVyLWZvY3VzOiAkc2V0dGluZy1jb2xvci1ncmF5LTM7XG5cbiRzZXR0aW5nLWNvbG9yLWFscGhhLTE6IHJnYmEoJHNldHRpbmctY29sb3ItYmxhY2ssIDAuMDUpO1xuJHNldHRpbmctY29sb3ItYWxwaGEtMjogcmdiYSgkc2V0dGluZy1jb2xvci1tYWluLCAwLjEpO1xuJHNldHRpbmctY29sb3ItYWxwaGEtMzogcmdiYSgkc2V0dGluZy1jb2xvci1ibGFjaywgMC41KTtcbiRzZXR0aW5nLWNvbG9yLWFscGhhLTU6IHJnYmEoJHNldHRpbmctY29sb3ItZ3JheS02LCAwLjQpO1xuJHNldHRpbmctY29sb3ItYWxwaGEtNjogcmdiYSgkc2V0dGluZy1jb2xvci1ncmF5LTMsIDAuNSk7XG4kc2V0dGluZy1jb2xvci1hbHBoYS03OiByZ2JhKCRzZXR0aW5nLWNvbG9yLWdyYXktMywgMC43NSk7XG4kc2V0dGluZy1jb2xvci1hbHBoYS04OiByZ2JhKCRzZXR0aW5nLWNvbG9yLWJsYWNrLCAwLjI0KTtcbiRzZXR0aW5nLWNvbG9yLWFscGhhLTk6IHJnYmEoJHNldHRpbmctY29sb3ItbWFpbiwgMC40KTtcblxuJHNldHRpbmctY29sb3ItYWN0aW9uczogKFxuICAgIGluZm86ICRzZXR0aW5nLWNvbG9yLWluZm8sXG4gICAgd2FybmluZzogI2YzNzg0OSxcbiAgICBzdWNjZXNzOiAjNGFjMzhlLFxuICAgIGFsZXJ0OiAjY2IzZDQ5LFxuKTtcblxuJHNldHRpbmctY29sb3Itc3RhdHVzZXM6IChcbiAgICBzY2hlbWUtMS10ZXh0OiAjMDBiMmI1LFxuICAgIHNjaGVtZS0xLWJhY2tnb3VuZDogI2U5ZjdmNyxcbiAgICBzY2hlbWUtMi10ZXh0OiAjYjdiMWE1LFxuICAgIHNjaGVtZS0yLWJhY2tnb3VuZDogI2YwZWRlNixcbiAgICBzY2hlbWUtMy10ZXh0OiAkc2V0dGluZy1jb2xvci1ncmF5LTQsXG4gICAgc2NoZW1lLTMtYmFja2dvdW5kOiAkc2V0dGluZy1jb2xvci1ncmF5LTIsXG4gICAgc2NoZW1lLTQtdGV4dDogI2ZmMmE1NCxcbiAgICBzY2hlbWUtNC1iYWNrZ291bmQ6ICNmNmRlZTAsXG4gICAgc2NoZW1lLTUtdGV4dDogIzAwMCxcbiAgICBzY2hlbWUtNS1iYWNrZ291bmQ6ICRzZXR0aW5nLWNvbG9yLWdyYXktMSxcbik7XG4iLCJAbWl4aW4gc2hvcC11aS1lbXB0eS1zdGF0ZSgkbmFtZTogJy5lbXB0eS1zdGF0ZScpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICAgICAgbWFyZ2luOiAyLjhyZW0gYXV0bztcblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA1LjYycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA1LjYycmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1tYWluO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLyogZmUtc25pZmZlcjpkaXNhYmxlZCBjb3JyZWN0LXNjc3MtY29tcG9uZW50LXN0cnVjdHVyZSAqL1xuQG1peGluIHNob3AtdWktcXVvdGUtc3RhdHVzKCRuYW1lOiAnLnF1b3RlLXN0YXR1cycpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gbWFwLWdldCgkc2V0dGluZy1zcGFjaW5nLCAnYmlnJyk7XG5cbiAgICAgICAgJi0td2FpdGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdGF0dXMtY29sb3IoJ3dhcm5pbmcnLCAwLjMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXBwcm92ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3RhdHVzLWNvbG9yKCdzdWNjZXNzJywgMC4zKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlY2xpbmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN0YXR1cy1jb2xvcignYWxlcnQnLCAwLjMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgcGFkZGluZzogMC4xNXJlbSBtYXAtZ2V0KCRzZXR0aW5nLXNwYWNpbmcsICdkZWZhdWx0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBzaG9wLXVpLXF1b3RlLXN0YXR1cy1jb2xvcigkYWN0aW9uLWNvbG9yLCAkb3BhY2l0eTogMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoaGVscGVyLWNvbG9yLWxpZ2h0KG1hcC1nZXQoJHNldHRpbmctY29sb3ItYWN0aW9ucywgJGFjdGlvbi1jb2xvciksIDEwKSwgJG9wYWNpdHkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRzZXR0aW5nLWNvbG9yLWFjdGlvbnMsICRhY3Rpb24tY29sb3IpO1xuXG4gICAgQGNvbnRlbnQ7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHNob3AtdWktcXVvdGUtc3RhdHVzLWNvbG9yIG1peGluIGluc3RlYWQuXG4gKi9cbkBtaXhpbiBzdGF0dXMtY29sb3IoJGFjdGlvbi1jb2xvciwgJG9wYWNpdHk6IDEpIHtcbiAgICBAaW5jbHVkZSBzaG9wLXVpLXF1b3RlLXN0YXR1cy1jb2xvcigkYWN0aW9uLWNvbG9yLCAkb3BhY2l0eSk7XG5cbiAgICBAY29udGVudDtcbn1cbiIsIiRzZWFyY2gtdGFiLWJvcmRlcjogMXB4IHNvbGlkICRzZXR0aW5nLWNvbG9yLWxpZ2h0ZXI7XG5cbkBtaXhpbiB0YWJzLXdpZGdldC1zZWFyY2gtdGFicygkbmFtZTogJy5zZWFyY2gtdGFicycpIHtcbiAgICAjeyRuYW1lfSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzZWFyY2gtdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNlYXJjaC10YWItYm9yZGVyO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJHNlYXJjaC10YWItYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc2VhcmNoLXRhYi1ib3JkZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGhlbHBlci1icmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2V0dGluZy1jb2xvci13aGl0ZTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZXR0aW5nLWNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGFicy13aWRnZXQtc2VhcmNoLXRhYnMgbWl4aW4gaW5zdGVhZC5cbiAqL1xuQG1peGluIGNhdGFsb2ctcGFnZS1zZWFyY2gtdGFicygkbmFtZTogJy5zZWFyY2gtdGFicycpIHtcbiAgICBAaW5jbHVkZSB0YWJzLXdpZGdldC1zZWFyY2gtdGFicygpO1xuXG4gICAgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvKipcbiAqIFByb3ZpZGVzIGdsb2JhbCBjbGFzcyBuYW1lcyBmb3Igc3BhY2luZ3MuXG4gKi9cbkBtaXhpbiB1dGlsLXNwYWNpbmcoKSB7XG4gICAgQGluY2x1ZGUgaGVscGVyLXNwYWNpbmcoJy5zcGFjaW5nJyk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXNwYWNpbmcoJy5zcGFjaW5nLXRvcCcsIHRvcCk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXNwYWNpbmcoJy5zcGFjaW5nLWJvdHRvbScsIGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXNwYWNpbmcoJy5zcGFjaW5nLWxlZnQnLCBsZWZ0KTtcbiAgICBAaW5jbHVkZSBoZWxwZXItc3BhY2luZygnLnNwYWNpbmctcmlnaHQnLCByaWdodCk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXNwYWNpbmcoJy5zcGFjaW5nLXgnLCBsZWZ0IHJpZ2h0KTtcbiAgICBAaW5jbHVkZSBoZWxwZXItc3BhY2luZygnLnNwYWNpbmcteScsIHRvcCBib3R0b20pO1xuXG4gICAgQGNvbnRlbnQ7XG59XG4iLCIvKipcbiAqIFByb3ZpZGVzIGdsb2JhbCBjbGFzcyBuYW1lcyBmb3IgdGV4dCBzdHlsaW5nLlxuICovXG5AbWl4aW4gdXRpbC10ZXh0KCkge1xuICAgIC50ZXh0LXNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgaGVscGVyLWZvbnQtc2l6ZShzbWFsbCk7XG4gICAgfVxuXG4gICAgLnRleHQtYmlnIHtcbiAgICAgICAgQGluY2x1ZGUgaGVscGVyLWZvbnQtc2l6ZShiaWcpO1xuICAgIH1cblxuICAgIC50ZXh0LWxlZnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZXh0LWNlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGV4dC1yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZXh0LWFsdCB7XG4gICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1hbHQ7XG4gICAgfVxuXG4gICAgLnRleHQtc2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6ICRzZXR0aW5nLWNvbG9yLWRhcmtlcjtcbiAgICB9XG5cbiAgICAudGV4dC1icmVhayB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgQGVhY2ggJGFjdGlvbiwgJHNldHRpbmctY29sb3ItYWN0aW9uIGluICRzZXR0aW5nLWNvbG9yLWFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSB1dGlsLXRleHQtYWN0aW9uKCRhY3Rpb24sICRzZXR0aW5nLWNvbG9yLWFjdGlvbik7XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgY2xhc3MgbmFtZSBmb3IgdGV4dCBzdHlsaW5nIHdpdGggY29sb3IgcHJvcGVydHkgc3BlY2lmaWVkIGJ5IHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0ge1N0cmluZ30gJGFjdGlvbiBTZXRzIGNsYXNzIG5hbWUgcG9zdGZpeC5cbiAqIEBwYXJhbSB7Q29sb3J9ICRzZXR0aW5nLWNvbG9yLWFjdGlvbiBTZXRzIGNvbG9yIHByb3BlcnR5LlxuICogQGNvbnRlbnQgRXh0ZW5kYWJsZSBtaXhpbi5cbiAqL1xuQG1peGluIHV0aWwtdGV4dC1hY3Rpb24oJGFjdGlvbiwgJHNldHRpbmctY29sb3ItYWN0aW9uKSB7XG4gICAgLnRleHQtI3skYWN0aW9ufSB7XG4gICAgICAgIGNvbG9yOiAkc2V0dGluZy1jb2xvci1hY3Rpb247XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG59XG4iLCIvKipcbiAqIFByb3ZpZGVzIGdsb2JhbCBjbGFzcyBuYW1lcyBmb3IgdGhlIGVsZW1lbnRzJyBmbG9hdCBhbGlnbm1lbnQuXG4gKi9cbkBtaXhpbiB1dGlsLWZsb2F0KCkge1xuICAgIC5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGhlbHBlci11aS1jbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuZmxvYXQtbGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5mbG9hdC1yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAuZmxvYXQtbm9uZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuIiwiLyoqXG4gKiBQcm92aWRlcyBnbG9iYWwgY2xhc3MgbmFtZXMgZm9yIGRpc3BsYXkgYmVoYXZpb3Igd2l0aCBhZGRpdGlvbmFsIHJlc3BvbnNpdmUgbW9kaWZpZXJzLlxuICovXG5AbWl4aW4gdXRpbC12aXNpYmlsaXR5KCkge1xuICAgIC5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LWEsICRlZGdlcy1hIGluICRzZXR0aW5nLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICRlZGdlLW1pbjogaGVscGVyLWJyZWFrcG9pbnQtZWRnZS1taW4oJGVkZ2VzLWEpO1xuICAgICAgICAgICAgJGVkZ2UtbWF4OiBoZWxwZXItYnJlYWtwb2ludC1lZGdlLW1heCgkZWRnZXMtYSk7XG5cbiAgICAgICAgICAgICYtI3skYnJlYWtwb2ludC1hfS1vbmx5IHtcbiAgICAgICAgICAgICAgICBAaWYgJGVkZ2UtbWF4ID09IG51bGwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoZWxwZXItYnJlYWtwb2ludC1tZWRpYS1taW4oJGVkZ2UtbWluKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlbHBlci1icmVha3BvaW50LW1lZGlhLWJldHdlZW4oJGVkZ2UtbWluLCAkZWRnZS1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlYWNoICRicmVha3BvaW50LWIsICRlZGdlcy1iIGluICRzZXR0aW5nLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICAgICBAaWYgaGVscGVyLWJyZWFrcG9pbnQtZWRnZS1taW4oJGVkZ2VzLWIpID4gaGVscGVyLWJyZWFrcG9pbnQtZWRnZS1taW4oJGVkZ2VzLWEpIHtcbiAgICAgICAgICAgICAgICAgICAgJGVkZ2UtbWluOiBoZWxwZXItYnJlYWtwb2ludC1lZGdlLW1pbigkZWRnZXMtYSk7XG4gICAgICAgICAgICAgICAgICAgICRlZGdlLW1heDogaGVscGVyLWJyZWFrcG9pbnQtZWRnZS1tYXgoJGVkZ2VzLWIpO1xuXG4gICAgICAgICAgICAgICAgICAgICYtI3skYnJlYWtwb2ludC1hfS0jeyRicmVha3BvaW50LWJ9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkZWRnZS1tYXggPT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVscGVyLWJyZWFrcG9pbnQtbWVkaWEtbWluKCRlZGdlLW1pbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlbHBlci1icmVha3BvaW50LW1lZGlhLWJldHdlZW4oJGVkZ2UtbWluLCAkZWRnZS1tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtdmlzaWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlbHBlci12aXNpYmlsaXR5LXZpc2libGU7XG4gICAgfVxuXG4gICAgLmlzLWludmlzaWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlbHBlci12aXNpYmlsaXR5LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICAuaXMtc2Nyb2xsYWJsZSB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC5pcy1ub3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmlzLXNjcm9sbGFibGUteCB7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxuXG4gICAgLmlzLW5vdC1zY3JvbGxhYmxlLXgge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmlzLXNjcm9sbGFibGUteSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmlzLW5vdC1zY3JvbGxhYmxlLXkge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmlzLXBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuIiwiQGluY2x1ZGUgdXRpbC10ZXh0KCkge1xuICAgIC50ZXh0LW1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnRleHQtc2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6ICRzZXR0aW5nLWNvbG9yLWdyYXktNjtcbiAgICB9XG59XG4iLCIkc2V0dGluZy1zcGFjaW5nOiAoXG4gICAgYmlnZ2VzdDogMnJlbSxcbiAgICBiaWdnZXI6IDEuNXJlbSxcbiAgICBiaWc6IDFyZW0sXG4gICAgZGVmYXVsdDogMC41cmVtLFxuICAgIHNtYWxsOiAwLjI1cmVtLFxuICAgIHJlc2V0OiAwLFxuKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/