@charset "UTF-8";
/*!
	Theme Name: Goumet Supplies Theme
	Theme URI:
	Description: This is the theme created for Goumet Supplies
	Author: Khoozh
	Author URI:

	Version: 1.0.0

	Tags: one-column, two-columns, left-sidebar, right-sidebar, accessibility-ready, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

	Template: genesis

	License: GPL-2.0+
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* Table of Contents
sass/
|
|- abstracts/
|   |- _variables.scss    # Sass Variables
|   |- _functions.scss    # Sass Functions
|   |- _mixins.scss       # Sass Mixins
|   |- _placeholders.scss # Sass Placeholders
|
|- fonts/
|   |- _nucleo.scss       # Icon Pack
|
|– base/
|   |- _reset.scss        # Reset/normalize
|   |- _typography.scss   # Typography rules
|   |- _defaults.scss     # Genesis Defaults
|   |- _animations.scss   # Animations
|
|– components/
|   |- _graphics.scss            # Graphics
|   |- _buttons.scss             # Buttons
|   |- _widget.scss              # Genesis Default Widget and Plugins
|   |- _forms.scss               # Forms
|   |- _list-pagination.scss     # List and pagination
|   |- -title-divider.scss       # Title and dividers
|   |- _objects.scss             # Customised objects
|   |- _banners.scss             # Banners
|   |- _hero-slider.scss         # Hero Slider
|   |- _blocks.scss              # Blocks
|
|– layout/
|   |- _grid.scss         # Grid
|   |- _gs-structure-layout.scss # Genesis default structure and layout
|   |- _header.scss       # Header
|   |- _sidebar.scss      # Sidebar
|   |- _footer.scss       # Footer
|
|– pages/
|   |- _post-archive.scss        # Post archive styles
|   |- _post-single.scss         # Single Post Styles
|   |- _404-page.scss     		 # 404 Page
|
|– themes/
|   |- _khoozh.scss       # Default theme
|   |- _woocommerce.scss  # Woocommerce Styles
|
|– vendors/
|   |- _slick.scss        # Slick Slider
|   |- _slick-theme.scss  # Slick Slider Theme
|   |- _featherlight.scss # Featherlight Gallery
|
|- main.scss              # Main Sass file
*/
/* Variables
 ============================================= */
/* Body Text Styles */
/* Font Weight */
/* Colors */
/* Etc. */
/* Background pattern image link*/
@font-face {
  font-family: "Barlow";
  src: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/fonts/barlowcondensed-medium.woff2") format("woff2"), url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/fonts/barlowcondensed-medium.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Barlow";
  src: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/fonts/barlowcondensed-semibold.woff2") format("woff2"), url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/fonts/barlowcondensed-semibold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Barlow";
  src: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/fonts/barlowcondensed-bold.woff2") format("woff2"), url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/fonts/barlowcondensed-bold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
/* Mixins
 ============================================= */
/* Media Queries
 --------------------------------------------- */
/* Container
 --------------------------------------------- */
/* Image Aspect Ratio
 ---------------------------------------------
 <figure> // Apply image ratio to figure
   <img src=""/>
 </figure>
*/
/* Absolute
 --------------------------------------------- */
/* Gradient Fade
 --------------------------------------------- */
/* Badge / Tag label
 --------------------------------------------- */
/* Icons
 --------------------------------------------- */
table.cart .product-remove a:after, .wpcf7 form .wpcf7-response-output:before {
  display: inline-block;
  font: normal normal normal 1em/1 "baseicon";
  speak: none;
  text-transform: none;
  /* Better Font Rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Circle Object
 --------------------------------------------- */
/* Thumbnail Card
 ---------------------------------------------
<article class="thumbnail-card">
  <figure>
    <img src="">
  </figure>
  <div class="caption">
    <h4></h4>
    <p></p>
    <a href="#"></a>
  </div>
</article>
 */
/* Line Border
 --------------------------------------------- */
/* Child Margin
 --------------------------------------------- */
/* Clear Fix
--------------------------------------------- */
/* Functions
 ============================================= */
/* Placeholders
 ============================================= */
/* White Gradient
  --------------------------------------------- */
/* Transitions
 --------------------------------------------- */
#woocommerce-product-search-field, .interactive-cart-header .interactive-cart-close, .woocommerce-MyAccount-navigation-link a, .shop_table.woocommerce-checkout-review-order-table .variation, .menu-shop-menu-container a,
.widget_product_categories a, .hero-slider, input[type=checkbox] + *:after, .menu-primary > li.menu-item-has-children:before, .slick-dots li button:before {
  transition: all 0.3s ease-in-out;
}

/* Flexbox
 --------------------------------------------- */
.woocommerce-pagination .page-numbers, .woocommerce-info a,
.woocommerce-message a, .interactive-cart-summary > div, #cart-items, .widget_layered_nav_filters ul li a::before, table.cart .product-remove a, #sidebar-toggle-close, .social-media-menu span, .contact-detail .menu a, .floating-whatsapp-button, .lr-layout .inline-wrap, .lr-layout .post-single .entry-content, .post-single .lr-layout .entry-content, .lr-layout .post-archive .post-entry-list, .post-archive .lr-layout .post-entry-list, .logo-feature-gallery, .pagination, .wpcf7 form .wpcf7-response-output:before, .btn-icon-text i, #woocommerce-product-search-button, .header-widget-area a,
.header-widget-area button, .menu-toggle {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

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

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

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/themes/gourmet-supplies-theme/js/plugins/slick/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/themes/gourmet-supplies-theme/js/plugins/slick/fonts/slick.eot");
  src: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/themes/gourmet-supplies-theme/js/plugins/slick/fonts/slick.eot#iefix") format("embedded-opentype"), url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/themes/gourmet-supplies-theme/js/plugins/slick/fonts/slick.woff") format("woff"), url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/themes/gourmet-supplies-theme/js/plugins/slick/fonts/slick.ttf") format("truetype"), url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/themes/gourmet-supplies-theme/js/plugins/slick/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-next,
.slick-prev {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 2;
}
.slick-next:focus, .slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-next:focus:before, .slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
  opacity: 1;
}
.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
  opacity: 0.25;
}
.slick-next:before,
.slick-prev:before {
  font-family: "slick";
  font-size: 30px;
  line-height: 1;
  color: #ddd;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: 15px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -35px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: 15px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:focus, .slick-dots li button:hover {
  outline: none;
}
.slick-dots li button:focus:before, .slick-dots li button:hover:before {
  opacity: 1;
  font-size: 18px;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/**
 * Swiper 11.2.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 19, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

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

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

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

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

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

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

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

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

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
  line-height: 1.3;
  display: inline-block;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
  border: 0;
  cursor: pointer;
  background-color: transparent;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Box Sizing
 --------------------------------------------- */
html {
  box-sizing: border-box;
}

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

/* Typographical Elements
 --------------------------------------------- */
html {
  font-size: 56%;
  /* 10px browser default */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}
@media only screen and (min-width: 960px) {
  html {
    font-size: 62.5%;
  }
}

/* Chrome fix */
body > div {
  font-size: 14px;
  font-size: 1.4rem;
}

body {
  background-color: #fff;
  color: #333;
  font-family: "Barlow", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  margin: 0;
  overflow-x: hidden;
}

button,
input:focus,
input[type=button],
input[type=reset],
input[type=submit],
textarea:focus,
.button,
.gallery img {
  transition: all 0.2s ease-in-out;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

li {
  list-style-type: none;
}

hr {
  border: 0;
  border-collapse: collapse;
  border-top: 1px solid #eee;
  clear: both;
  margin: 30px 0;
}

b,
strong {
  font-weight: 700;
}

blockquote,
cite,
em,
i {
  font-style: italic;
}

mark {
  background: #ddd;
  color: #333;
}

blockquote {
  margin: 30px;
}

blockquote::before {
  content: "“";
  display: block;
  font-size: 30px;
  font-size: 3rem;
  height: 0;
  left: -20px;
  position: relative;
  top: -10px;
}

/* Headings
 --------------------------------------------- */
h1,
h2,
h3,
form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .checkout_coupon h4,
h4,
h5,
h6 {
  font-weight: 700;
  color: #02653c;
  line-height: 1.2;
  margin: 0 0 2rem;
}

h1 {
  font-size: 6rem;
  font-family: "Barlow", sans-serif;
}

h2 {
  font-size: 3.6rem;
  font-family: "Barlow", sans-serif;
}

h3, form.woocommerce-checkout .col-1 h4, form.woocommerce-checkout .checkout_coupon h4 {
  font-size: 2.4rem;
  font-family: "Barlow", sans-serif;
}

h4 {
  font-size: 1.8rem;
  font-weight: 400;
}

h5 {
  font-size: 1.6rem;
}

h6 {
  font-size: 1.3rem;
}

a {
  text-decoration: none;
  font-weight: 700;
  color: #005330;
}
a:hover {
  text-decoration: underline;
  color: #002012;
}

label {
  font-size: 1.5rem;
  color: hsl(0deg, 0%, 60%);
}

/* Text
 --------------------------------------------- */
p {
  font-size: 1.7rem;
  line-height: 2.5rem;
  margin: 0 0 15px;
}
p:last-child {
  margin-bottom: 0;
}
p.x-small, .site-footer > .wrap > p, .footer-widget-area p {
  font-size: 1.45rem;
  line-height: 1.2;
}
p.small, .woocommerce-privacy-policy-text p, .entry-content p.entry-meta, .post-entry-list p {
  font-size: 1.6rem;
  line-height: 1.2;
}
p.large {
  font-size: 2.1rem;
  line-height: 1.5;
}

/* Dark theme
 --------------------------------------------- */
.content-page .entry-content h2, .post-single .entry-content h2,
.content-page .entry-content h3,
.content-page .entry-content form.woocommerce-checkout .col-1 h4,
.content-page .entry-content form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .col-1 .content-page .entry-content h4,
form.woocommerce-checkout .checkout_coupon .content-page .entry-content h4,
.post-single .entry-content h3,
.post-single .entry-content form.woocommerce-checkout .col-1 h4,
.post-single .entry-content form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .col-1 .post-single .entry-content h4,
form.woocommerce-checkout .checkout_coupon .post-single .entry-content h4,
.content-page .entry-content h4,
.post-single .entry-content h4,
.content-page .entry-content h5,
.post-single .entry-content h5,
.content-page .entry-content h6,
.post-single .entry-content h6 {
  line-height: 1.25;
  margin-top: 4rem;
}
.content-page .entry-content li, .post-single .entry-content li,
.content-page .entry-content p,
.post-single .entry-content p {
  margin-bottom: 1.2em;
  line-height: 1.5;
  text-align: justify;
}
@media only screen and (max-width: 670px) {
  .content-page .entry-content li, .post-single .entry-content li,
.content-page .entry-content p,
.post-single .entry-content p {
    font-size: 1.8rem;
  }
}
.content-page .entry-content ul li, .post-single .entry-content ul li {
  list-style-type: disc;
}
.content-page .entry-content ol li, .post-single .entry-content ol li {
  list-style-type: decimal;
}

/* Defaults
 ============================================= */
/* Objects
 --------------------------------------------- */
.wp-caption,
embed,
iframe,
img,
object,
video {
  max-width: 100%;
}

img {
  height: auto;
  vertical-align: top;
}

figure {
  margin: 0;
}

/* Gallery
 --------------------------------------------- */
.gallery {
  overflow: hidden;
}
.gallery img {
  height: auto;
}
.gallery img:focus, .gallery img:hover {
  outline: none;
}

/* Tables
 --------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 2;
  margin-bottom: 40px;
  width: 100%;
}

tbody {
  border-bottom: 1px solid #eee;
}

td,
th {
  text-align: left;
}
td:first-child,
th:first-child {
  padding-left: 0;
}

td {
  border-top: 1px solid #eee;
  padding: 6px;
}

th {
  font-weight: 400;
  padding: 0 6px;
}

/* Screen Reader Text
 --------------------------------------------- */
.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-shortcut:focus,
.screen-reader-text:focus {
  background: #fff;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #333;
  display: block;
  font-size: 1em;
  font-weight: 700;
  height: auto;
  padding: 15px 23px 14px;
  text-decoration: none;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.more-link {
  position: relative;
}

/* Image release
 --------------------------------------------- */
.image-release, .contact-1_mapembed:after {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
  display: block;
}

/* Vertical align column objects
 --------------------------------------------- */
.vertical-center .wp-block-column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}

/* Animations
 ============================================= */
.fade-scale-before, .fade-left-before, .fade-right-before, .hidden {
  transition: all 0.5s ease-in-out;
  opacity: 0;
}

/* fade in top */
.hidden {
  transform: translateY(30px);
}

.shown {
  opacity: 1;
  transform: translateY(0px);
}

/* fade in right */
.fade-right-before {
  transform: translateX(-30px);
}

.fade-right {
  opacity: 1;
  transform: translateX(0px);
}

/* fade in left */
.fade-left-before {
  transform: translateX(30px);
}

.fade-left {
  opacity: 1;
  transform: translateX(0px);
}

/* fade in scale */
.fade-scale-before {
  transform: scale(0.9);
}

.fade-scale {
  opacity: 1;
  transform: scale(1);
}

/* Grid
 ============================================= */
/* Column Mixin
 --------------------------------------------- */
.woocommerce-lost-password .woocommerce, .woocommerce-order-pay .woocommerce, .woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order-details, .col-1, .checkout_coupon {
  padding: 0 5%;
}
@media only screen and (min-width: 960px) {
  .woocommerce-lost-password .woocommerce, .woocommerce-order-pay .woocommerce, .woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order-details, .col-1, .checkout_coupon {
    padding: 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }
}

.cols-2, .col2-set, .woocommerce-account.logged-in .woocommerce {
  display: flex;
  flex-flow: row wrap;
}
.cols-2 > *, .col2-set > *, .woocommerce-account.logged-in .woocommerce > * {
  width: 100%;
  margin-bottom: 30px;
}
@media only screen and (min-width: 670px) {
  .cols-2 > *, .col2-set > *, .woocommerce-account.logged-in .woocommerce > * {
    width: calc((100% - (30px * (2 - 1))) / 2);
    margin-right: 30px;
  }
  .cols-2 > *:nth-child(2n), .col2-set > *:nth-child(2n), .woocommerce-account.logged-in .woocommerce > *:nth-child(2n) {
    margin-right: 0;
  }
}

.cols-3 {
  display: flex;
  flex-flow: row wrap;
}
.cols-3 > * {
  width: 100%;
  margin-bottom: 30px;
}
@media only screen and (min-width: 670px) {
  .cols-3 > * {
    width: calc((100% - (30px * (3 - 1))) / 3);
    margin-right: 30px;
  }
  .cols-3 > *:nth-child(3n) {
    margin-right: 0;
  }
}

/* Column Layouts
 --------------------------------------------- */
@media only screen and (min-width: 670px) {
  .two-one > *:nth-child(1) {
    flex: 2 1 0;
  }
  .two-one > *:nth-child(2) {
    flex: 1 1 0;
  }
}

/* Wrapper
 --------------------------------------------- */
section.wrapper {
  width: 100%;
  padding: 50px 5%;
}
@media only screen and (min-width: 960px) {
  section.wrapper {
    padding: 80px 10%;
  }
}
section.wrapper-small {
  width: 100%;
  padding: 15px 5%;
}
@media only screen and (min-width: 960px) {
  section.wrapper-small {
    padding: 30px 10%;
  }
}
section.wrapper-large {
  width: 100%;
  padding: 80px 5%;
}
@media only screen and (min-width: 960px) {
  section.wrapper-large {
    padding: 120px 10%;
  }
}
section.wrapper-full {
  width: 100%;
  padding: 50px 0;
}
@media only screen and (min-width: 960px) {
  section.wrapper-full {
    padding: 80px 0;
  }
}

/* Genesis Structure and Layout
  ============================================== */
/* Site Container
 --------------------------------------------- */
.site-container {
  word-wrap: break-word;
  overflow: hidden;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  min-height: 100vh;
}

main.content {
  flex: 1 1 100%;
}

.site-header + * {
  margin-top: 81px;
}

/* Common Classes
------------------------------------------------------------------------------------------ */
/* Genesis
 --------------------------------------------- */
.after-entry,
.archive-description,
.author-box {
  margin-bottom: 40px;
}

.after-entry {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  padding: 20px 30px;
}

.after-entry .widget:last-of-type {
  margin-bottom: 0;
}

.breadcrumb {
  border-bottom: 1px solid #eee;
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 40px;
  padding-bottom: 10px;
}

.archive-description p:last-child,
.author-box p:last-child {
  margin-bottom: 0;
}

/* Search Form
 --------------------------------------------- */
.search-form {
  overflow: hidden;
}

.entry-content .search-form {
  margin-bottom: 40px;
  width: 50%;
}

.post-password-form input[type=submit],
.search-form input[type=submit] {
  margin-top: 10px;
}

.widget_search input[type=submit] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* Titles
 --------------------------------------------- */
.entry-title a,
.sidebar .widget-title a {
  color: #333;
  text-decoration: none;
}

.widget-title {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 20px;
}

/* WordPress
--------------------------------------------- */
a.aligncenter img {
  display: block;
  margin: 0 auto;
}

a.alignnone {
  display: inline-block;
}

a.alignleft,
a.alignnone,
a.alignright {
  max-width: 100%;
}

img.alignnone,
.alignnone {
  margin-bottom: 15px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
  margin: 0 20px 20px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
  margin: 0 0 20px 20px;
}

.gallery-caption,
.wp-caption-text {
  font-size: 14px;
  font-weight: 600;
  margin-top: 0.5em;
  margin-bottom: 1em;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
}

.entry-content p.wp-caption-text {
  margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
  margin: 0 0 30px;
}

/* Header Buttons
 --------------------------------------------- */
#woocommerce-product-search-button, .header-widget-area a,
.header-widget-area button, .menu-toggle {
  width: 40px;
  height: 40px;
  background-color: hsla(0deg, 0%, 0%, 0);
  border-radius: 50%;
  font-size: 17px;
  color: hsl(0deg, 0%, 40%);
  font-weight: 400;
  line-height: 1;
}
#woocommerce-product-search-button:hover, .header-widget-area a:hover,
.header-widget-area button:hover, .menu-toggle:hover,
#woocommerce-product-search-button a:hover,
.menu-toggle a:hover {
  text-decoration: none;
}
#woocommerce-product-search-button:hover, .header-widget-area a:hover,
.header-widget-area button:hover, .menu-toggle:hover {
  color: #00864d;
}

/* Skip Links
 --------------------------------------------- */
.genesis-skip-link {
  margin: 0;
}
.genesis-skip-link .skip-link-hidden {
  display: none;
  visibility: hidden;
}
.genesis-skip-link li {
  height: 0;
  list-style: none;
  width: 0;
}

/* Site Header
 --------------------------------------------- */
.site-header {
  position: fixed;
  z-index: 999;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  top: 0;
  width: 100%;
  border-top: 3px solid #00864d;
}
.site-header > .wrap {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  width: min(90%, 1400px);
  margin-inline: auto;
  /* Structure */
}
.site-header > .wrap > *.pre-header {
  flex: 0 0 100%;
}
@media only screen and (min-width: 960px) {
  .site-header > .wrap > *.title-area {
    flex: 0 0 auto;
  }
}
.site-header > .wrap > *.header-widget-area {
  flex: 1 1 0;
}
@media only screen and (min-width: 960px) {
  .site-header > .wrap > *.header-widget-area {
    flex: 0 0 auto;
  }
}
.site-header > .wrap > *.menu-toggle {
  flex: 1 1 0;
}

/* Title Area
 --------------------------------------------- */
.title-area {
  width: 200px;
  padding: 15px 0;
  order: 2;
  margin: 0 auto;
}
@media only screen and (min-width: 960px) {
  .title-area {
    order: 0;
    margin: 0;
  }
}
.title-area a {
  display: block;
  margin: 0 auto;
}

.site-description,
.wp-custom-logo .site-title {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* Responsive Menu
 --------------------------------------------- */
.menu .menu-item:focus {
  position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
  left: auto;
  opacity: 1;
}

.genesis-responsive-menu {
  position: relative;
  display: none;
}
@media only screen and (min-width: 960px) {
  .genesis-responsive-menu {
    display: inherit;
  }
}

/* Menu Toggle & Sub Menu Toggle */
.menu-toggle,
.sub-menu-toggle {
  background-color: transparent;
  border-width: 0;
  color: #00864d;
  display: block;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  visibility: visible;
}
@media only screen and (min-width: 960px) {
  .menu-toggle,
.sub-menu-toggle {
    display: none;
    visibility: hidden;
  }
}
.menu-toggle:focus, .menu-toggle:hover,
.sub-menu-toggle:focus,
.sub-menu-toggle:hover {
  background-color: transparent;
  border-width: 0;
}

/* Menu Toggle */
.menu-toggle {
  position: relative;
  z-index: 1000;
  overflow: hidden;
  padding: 0;
  order: 4;
  margin: 0;
  font-size: 0;
  text-align: right;
}
.menu-toggle::before {
  position: relative;
  text-rendering: auto;
  margin-right: 20px;
}
.menu-toggle.activated::before {
  content: "\f335";
}

/* Sub Menu Toggle */
.sub-menu-toggle {
  position: absolute;
  right: 5px;
  top: 15px;
  z-index: 100;
  text-align: center;
}
.sub-menu-toggle:before {
  display: inline-block;
  text-rendering: auto;
  transform: rotate(0);
  transition: transform 0.25s ease-in-out;
  color: #00864d;
}
.sub-menu-toggle.activated:before {
  transform: rotate(180deg);
  color: #00b96a;
}

/* Header Menu
 --------------------------------------------- */
.menu-primary > li:focus, .menu-primary > li:hover {
  background-color: #fff;
}
@media only screen and (min-width: 960px) {
  .menu-primary > li:focus, .menu-primary > li:hover {
    background-color: hsl(0deg, 0%, 96%);
    border-bottom: 3px solid #f05624;
  }
}
.menu-primary > li:focus a, .menu-primary > li:hover a {
  color: #02653c;
}

/* Header Menu Structure */
.nav-primary {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 80px;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
  overflow-y: scroll;
  display: none;
}
@media only screen and (min-width: 960px) {
  .nav-primary {
    position: relative;
    top: 0;
    height: auto;
    width: auto;
    background-color: transparent;
    display: flex;
    flex-flow: row wrap;
    align-self: stretch;
    overflow-y: visible;
    margin-left: auto;
  }
}
@media only screen and (min-width: 960px) {
  .nav-primary .wrap {
    height: 100%;
  }
}

/* Main Header Menu */
.menu-primary {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  line-height: 1;
  height: 100%;
  background-color: rgb(250, 250, 250);
  box-shadow: inset 0 0 20px 0 rgba(0, 0, 0, 0.1);
  /* Generic li style*/
  /* Generic nav link style */
  /* First level li */
  /* Level 2 Menu */
}
@media only screen and (max-width: 670px) {
  .menu-primary {
    justify-content: center;
  }
}
@media only screen and (min-width: 960px) {
  .menu-primary {
    background-color: transparent;
    box-shadow: none;
  }
}
.menu-primary .sub-menu {
  z-index: 99;
  box-shadow: inset 0 0 8px 0 rgba(0, 0, 0, 0.15);
  background-color: #f0f0f0;
  display: none;
  /* Second level li */
}
@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu {
    position: absolute;
    min-width: 180px;
    width: auto;
    opacity: 0;
    left: 9999px;
    background-color: #fff;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.1);
    border-radius: 0 0 8px 8px;
  }
}
/* Styles for Main Navigation
--------------------------------------------- */
@media only screen and (min-width: 960px) {
  .menu-primary .menu-item {
    border: 0;
  }
}
.menu-primary > li {
  position: relative;
  width: 100%;
  /* If have children */
  /* If Highlighted */
}
@media only screen and (min-width: 960px) {
  .menu-primary > li {
    display: block;
    height: 100%;
    width: auto;
  }
}
.menu-primary > li.menu-item-has-children:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 7px solid #00864d;
  left: calc(50% - 10px);
  opacity: 0;
  bottom: 0;
}
.menu-primary > li.menu-item-has-children:hover:before {
  opacity: 1;
}
.menu-primary > li.menu-item--highlight > a {
  background-color: #00864d;
  color: #fff;
  margin: 0 10px;
}
@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu .menu-item:hover {
    background-color: #00864d;
  }
  .menu-primary .sub-menu .menu-item:hover > a {
    color: #fff;
  }
}

.menu-primary a {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  font-weight: 700;
  font-family: "Barlow", sans-serif;
  color: #00391f;
  text-transform: uppercase;
  font-size: 1.6rem;
}
@media only screen and (min-width: 960px) {
  .menu-primary a {
    height: 100%;
    text-align: left;
    align-items: center;
    justify-content: flex-start;
  }
}
.menu-primary a:hover {
  text-decoration: none;
}
.menu-primary a i {
  font-weight: 400;
}
.menu-primary > li > a {
  padding: 20px 24px;
}
.menu-primary .sub-menu .menu-item > a {
  padding: 14px 15px;
}
@media only screen and (min-width: 960px) {
  .menu-primary .sub-menu .menu-item > a {
    font-size: 14px;
  }
  .menu-primary .sub-menu .menu-item > a:hover {
    color: #fff;
    background-color: #00864d;
  }
}

/* Header Widget Area
 --------------------------------------------- */
.header-widget-area {
  display: flex;
  flex-flow: row nowrap;
  position: relative;
  z-index: 101;
  order: 0;
}
@media only screen and (min-width: 960px) {
  .header-widget-area {
    order: 3;
    margin: 0 5% 0 auto;
  }
}
.header-widget-area .menu {
  display: flex;
  flex-flow: row wrap;
}
.header-widget-area .menu li {
  margin-bottom: 0;
}
.header-widget-area .widget {
  margin-bottom: 0;
}
/* Pre Header
 --------------------------------------------- */
.pre-header {
  position: relative;
  font-size: 10px;
  display: flex;
  justify-content: space-between;
  background-color: #f7f7f7;
  padding: 3px 3%;
}
.pre-header > * {
  margin-bottom: 0;
}
.pre-header > * i {
  margin: 0 3px;
  font-weight: 700;
}
.pre-header > *:nth-child(odd) {
  flex: 1 1 0;
  display: flex;
  line-height: 2;
  align-items: center;
}
.pre-header > *:nth-child(even) {
  flex: 11 1 0;
  text-align: center;
}
@media only screen and (min-width: 670px) {
  .pre-header > *:nth-child(even) {
    flex: 2 1 0;
  }
}
.pre-header > *:last-child {
  text-align: right;
  justify-content: flex-end;
}
.pre-header p {
  color: #9e1c25;
}
@media only screen and (max-width: 670px) {
  .pre-header a span {
    display: none;
  }
}

/* Sidebar
 --------------------------------------------- */
.sidebar {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
}

.sidebar .widget {
  margin-bottom: 50px;
}

.sidebar p {
  margin-bottom: 20px;
}

/* Footer
  ============================================== */
/* Footer Widgets
 --------------------------------------------- */
.footer-widgets {
  position: relative;
  z-index: 0;
  background-color: #0f5132;
  margin-inline: auto;
  padding: 5rem 0;
  width: 100%;
}
.footer-widgets:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  height: 80px;
  transform: translateY(-100%);
  background: url('data:image/svg+xml,<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none" ><path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill" fill="%230F5132" fill-opacity="1"></path></svg>');
}
@media only screen and (max-width: 670px) {
  .footer-widgets {
    text-align: center;
  }
}
.footer-widgets .wrap {
  display: grid;
  width: min(90%, 1400px);
  gap: 3rem;
  margin-inline: auto;
}
@media only screen and (min-width: 670px) {
  .footer-widgets .wrap {
    grid-template-columns: repeat(5, 1fr);
  }
}
.footer-widgets .widget-title {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 1.7rem;
  border-bottom: 1px solid #00864d;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.footer-widgets .widget {
  margin-bottom: 20px;
}

.footer-widget-area {
  margin-bottom: 20px;
}
.footer-widget-area p {
  color: hsl(50deg, 20%, 97%);
}
@media only screen and (min-width: 960px) {
  .footer-widget-area {
    margin-bottom: 0;
  }
}

.footer-widget-area ul[id*=social] {
  flex-flow: row wrap;
  justify-content: flex-start;
}

.footer-widgets .menu {
  display: flex;
  flex-flow: column nowrap;
}
.footer-widgets .menu li {
  width: 100%;
  margin-right: 10px;
}
@media only screen and (max-width: 670px) {
  .footer-widgets .menu li {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 670px) {
  .footer-widgets .menu li {
    width: auto;
  }
}
.footer-widgets .menu li a {
  display: block;
  padding: 3px 0;
  font-size: 1.6rem;
  color: hsl(50deg, 20%, 97%);
}
@media only screen and (min-width: 960px) {
  .footer-widgets .menu li a {
    padding: 0;
  }
}
.footer-widgets .menu li a i {
  font-size: 16px;
}

.footer-widgets-1 img {
  max-width: 80px;
  width: 80px;
  display: block;
  margin: 0 auto;
}
@media only screen and (min-width: 960px) {
  .footer-widgets-1 img {
    margin: 0 auto 0 0;
  }
}

.footer-widgets-5 .menu-social-media-menu-container .menu {
  flex-flow: row wrap;
}
@media only screen and (max-width: 670px) {
  .footer-widgets-5 .menu-social-media-menu-container .menu {
    justify-content: center;
  }
}
.footer-widgets-5 .menu-social-media-menu-container li {
  width: auto;
}
.footer-widgets-5 .menu-social-media-menu-container li a {
  width: 36px;
  aspect-ratio: 1;
  border-radius: 50%;
  line-height: 1;
  display: grid;
  place-items: center;
  color: #00391f;
  background-color: hsl(50deg, 20%, 97%);
}
.footer-widgets-5 .menu-social-media-menu-container li a:hover {
  text-decoration: none;
}

.textwidget > p {
  display: block;
}

.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 670px) {
  #menu-social-media-menu .menu-item {
    width: auto;
  }
  .site-header #menu-social-media-menu {
    display: none;
  }
}

/* Site Footer
 --------------------------------------------- */
.site-footer {
  background-color: #0f5132;
  color: hsl(50deg, 20%, 97%);
  line-height: 1.5;
  padding: 15px 0;
  text-align: left;
}
.site-footer > .wrap {
  display: flex;
  flex-flow: column nowrap;
  width: min(90%, 1400px);
  margin-inline: auto;
}
@media only screen and (max-width: 670px) {
  .site-footer > .wrap {
    text-align: center;
  }
}
.site-footer > .wrap > p {
  margin: 0 0 5px;
}

/* Graphics
 ============================================= */
/* Secondary Graphic
 --------------------------------------------- */
/* Background Pattern
--------------------------------------------- */
/* Graphic Divider 1
--------------------------------------------- */
/* Graphic Divider 2 - brush
--------------------------------------------- */
/* Divider after title
--------------------------------------------- */
/* Buttons
 =============================================
 btn-1
 btn-2
 btn-icon-text
 */
/* Structure of a button */
.woocommerce-info a,
.woocommerce-message a, button[type=submit],
.button, .wapf-radios .wapf-label-text, .wc_payment_method > label, .added_to_cart, form input[type=submit], .btn {
  position: relative;
  display: inline-block;
  line-height: initial;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  border: 0;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  padding: 0.9em 1.2em;
  font-size: 1.6rem;
}
.woocommerce-info a:hover,
.woocommerce-message a:hover, button[type=submit]:hover,
.button:hover, .wapf-radios .wapf-label-text:hover, .wc_payment_method > label:hover, .added_to_cart:hover, form input[type=submit]:hover, .btn:hover {
  text-decoration: none;
}
.woocommerce-pagination a,
.woocommerce-pagination span, header.woocommerce-Address-title a, .post-entry-list .category-link, .btn-small {
  position: relative;
  display: inline-block;
  line-height: initial;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  border: 0;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  padding: 0.6em 0.9em;
  font-size: 1.3rem;
}
.woocommerce-pagination a:hover,
.woocommerce-pagination span:hover, header.woocommerce-Address-title a:hover, .post-entry-list .category-link:hover, .btn-small:hover {
  text-decoration: none;
}
#shipping_method label, #sidebar-toggle, .btn-large {
  position: relative;
  display: inline-block;
  line-height: initial;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  border: 0;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  padding: 1.2em;
  font-size: 1.5rem;
}
#shipping_method label:hover, #sidebar-toggle:hover, .btn-large:hover {
  text-decoration: none;
}

.btn.align-c {
  margin: 0 auto;
  display: table;
}
/* Solid Button - btn-1
   --------------------------------------------- */
.woocommerce-pagination a, .woocommerce-info a,
.woocommerce-message a, .wc-backward, .checkout-button,
a.add_to_cart_button,
button.add_to_cart_button,
button[type=submit], .wapf-radios .wapf-checkable.wapf-checked .wapf-label-text, .woocommerce-form-login__submit,
.woocommerce-form-register__submit, #shipping_method input[type=hidden] + label, #shipping_method input[type=radio]:checked + label, #sidebar-toggle, form input[type=submit], .btn-1 {
  background-color: #005330;
  color: #fff;
  border-radius: 0.5rem;
}
.woocommerce-pagination a:hover, .woocommerce-info a:hover,
.woocommerce-message a:hover, .wc-backward:hover, .checkout-button:hover,
a.add_to_cart_button:hover,
button.add_to_cart_button:hover,
button[type=submit]:hover, .wapf-radios .wapf-checkable.wapf-checked .wapf-label-text:hover, .woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover, #shipping_method input[type=hidden] + label:hover, #shipping_method input[type=radio]:checked + label:hover, #sidebar-toggle:hover, form input[type=submit]:hover, .btn-1:hover {
  color: #fff;
  background-color: #000704;
}
.woocommerce-pagination a:active, .woocommerce-info a:active,
.woocommerce-message a:active, .wc-backward:active, .checkout-button:active,
a.add_to_cart_button:active,
button.add_to_cart_button:active,
button[type=submit]:active, .wapf-radios .wapf-checkable.wapf-checked .wapf-label-text:active, .woocommerce-form-login__submit:active,
.woocommerce-form-register__submit:active, #shipping_method input[type=hidden] + label:active, #shipping_method input[type=radio]:checked + label:active, #sidebar-toggle:active, form input[type=submit]:active, .btn-1:active {
  transform: translateY(3px);
}
header.woocommerce-Address-title a, .btn-1-secondary {
  background-color: hsl(0deg, 0%, 60%);
  color: hsl(0deg, 0%, 100%);
  border-radius: 0.5rem;
}
header.woocommerce-Address-title a:hover, .btn-1-secondary:hover {
  color: #fff;
  background-color: #737373;
}
header.woocommerce-Address-title a:active, .btn-1-secondary:active {
  transform: translateY(3px);
}
.woocommerce-pagination span, .shop_table .button, .wapf-radios .wapf-label-text, .wc_payment_method > label, #shipping_method label, .added_to_cart, .post-entry-list .category-link, .btn-1-light {
  background-color: hsl(0deg, 0%, 90%);
  color: hsl(0deg, 0%, 50%);
  border-radius: 0.5rem;
}
.woocommerce-pagination span:hover, .shop_table .button:hover, .wapf-radios .wapf-label-text:hover, .wc_payment_method > label:hover, #shipping_method label:hover, .added_to_cart:hover, .post-entry-list .category-link:hover, .btn-1-light:hover {
  color: #fff;
  background-color: #bfbfbf;
}
.woocommerce-pagination span:active, .shop_table .button:active, .wapf-radios .wapf-label-text:active, .wc_payment_method > label:active, #shipping_method label:active, .added_to_cart:active, .post-entry-list .category-link:active, .btn-1-light:active {
  transform: translateY(3px);
}
.btn-1-success {
  background-color: #689447;
  color: hsl(0deg, 0%, 100%);
  border-radius: 0.5rem;
}
.btn-1-success:hover {
  color: #fff;
  background-color: #44602e;
}
.btn-1-success:active {
  transform: translateY(3px);
}
.btn-1-info {
  background-color: #369;
  color: hsl(0deg, 0%, 100%);
  border-radius: 0.5rem;
}
.btn-1-info:hover {
  color: #fff;
  background-color: #204060;
}
.btn-1-info:active {
  transform: translateY(3px);
}
.btn-1-warning {
  background-color: #f05624;
  color: #fff;
  border-radius: 0.5rem;
}
.btn-1-warning:hover {
  color: #fff;
  background-color: #bb370d;
}
.btn-1-warning:active {
  transform: translateY(3px);
}
.btn-1-danger {
  background-color: #9e1c25;
  color: hsl(0deg, 0%, 100%);
  border-radius: 0.5rem;
}
.btn-1-danger:hover {
  color: #fff;
  background-color: #5d1016;
}
.btn-1-danger:active {
  transform: translateY(3px);
}

/* Outline Button - btn-2
   --------------------------------------------- */
.btn-2 {
  background-color: transparent;
  color: #00864d;
  border: 2px solid #00b96a;
  border-radius: 5px;
  text-transform: none;
}
.btn-2:hover {
  background-color: #00864d;
  border-color: #00864d;
  color: #fff;
}
.btn-2-white {
  background-color: transparent;
  color: #fff;
  border: 2px solid white;
  border-radius: 5px;
  text-transform: none;
}
.btn-2-white:hover {
  background-color: #fff;
  border-color: #fff;
  color: #fff;
}
.btn-2-white:hover {
  color: #003a21;
}

/* Button Icon Text - .btn-icon-text
   --------------------------------------------- */
.btn-icon-text {
  display: flex;
  align-items: center;
  border-radius: 3px;
  background-color: #003a21;
  color: #fff;
  width: auto;
  padding: 6px 12px;
}
.btn-icon-text:hover {
  color: #fff;
}
.btn-icon-text i {
  width: 30px;
  height: 30px;
  background-color: hsla(0deg, 0%, 100%, 0);
  border-radius: 50%;
  font-size: 18px;
  margin-right: 5px;
  margin-left: -5px;
}
.btn-icon-text i:hover,
.btn-icon-text i a:hover {
  text-decoration: none;
}

/* Genesis Widgets
 ============================================= */
/* Widget
 --------------------------------------------- */
.widget {
  margin-bottom: 40px;
}

.widget p:last-child,
.widget ul > li:last-of-type {
  margin-bottom: 0;
}

.widget ul > li {
  margin-bottom: 10px;
}

.widget ul > li:last-of-type {
  padding-bottom: 0;
}

.widget ol > li {
  list-style-position: inside;
  list-style-type: decimal;
  padding-left: 20px;
  text-indent: -20px;
}

.widget li li {
  border: 0;
  margin: 0 0 0 30px;
  padding: 0;
}

.widget_calendar table {
  width: 100%;
}

.widget_calendar td,
.widget_calendar th {
  text-align: center;
}

/* Forms
  ============================================== */
/*
 ** Form Errors
 */
.woocommerce-invalid-required-field label {
  color: #9e1c25 !important;
}

.woocommerce-invalid-required-field input, .StripeElement.invalid {
  box-shadow: 0 0 0 2px #9e1c25 !important;
  border: 1px solid white !important;
}

/*CONTACT FORM*/
:focus {
  outline: 0;
}

::placeholder {
  opacity: 0.5;
}

input:not([type=submit]):not([type=file]),
textarea {
  height: 38px;
  width: 100%;
  padding: 6px 10px;
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
  color: #555;
}
@media only screen and (max-width: 670px) {
  input:not([type=submit]):not([type=file]),
textarea {
    font-size: 16px;
    line-height: 1.5;
  }
}

/* Removes awkward default styles on some inputs for iOS */
input:not([type=submit]):not([type=file]),
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input:not([type=submit]):not([type=file]):focus, input:not([type=submit]):not([type=file]):hover,
select:focus,
select:hover,
textarea:focus,
textarea:hover {
  background-color: #eaeaea;
  border: 1px solid #bbbbbb;
  outline: 0;
}
input:not([type=submit]):not([type=file]):focus,
select:focus,
textarea:focus {
  box-shadow: 0 0 0 2px #00864d;
  border: 1px solid white;
}

input[type=checkbox],
input[type=radio] {
  display: inline;
}

form p {
  margin-bottom: 20px;
}
form label {
  font-weight: 700;
}
form textarea {
  min-height: 80px;
}
form input[type=file] {
  padding: 0.6em 0;
  background-color: transparent;
  border: 0;
}
form input[type=submit] {
  width: 100%;
}
form input[type=submit]:disabled {
  background: #f1f1f2;
  box-shadow: 0 0 0 0 #ccc;
}
form input[type=submit]:disabled:hover {
  top: 0;
}

/*WPCF7 SPECIFIC ERROR AND APPROVAL MESSAGES*/
.wpcf7 form .wpcf7-list-item {
  margin: 0;
}
.wpcf7 form .wpcf7-not-valid-tip {
  color: #fff;
  background-color: #cc4a4a;
  padding: 0.2em 0.6em;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 0 0 5px 5px;
  text-align: center;
}
.wpcf7 form .wpcf7-response-output {
  position: relative;
  margin: 10px 0;
  padding: 0.5em 1em;
  border: 0 solid #cc4a4a;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #fff;
  background-color: #cc4a4a;
  border-radius: 5px;
  font-weight: 600;
}
.wpcf7 form .wpcf7-response-output:before {
  font-weight: 700;
  left: 5px;
  top: calc(50% - 15px);
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.3);
}
.wpcf7 form .wpcf7-acceptance-missing,
.wpcf7 form .wpcf7-validation-errors {
  padding-left: 40px;
}
.wpcf7 form .wpcf7-acceptance-missing:before,
.wpcf7 form .wpcf7-validation-errors:before {
  content: "\ea0a";
}
.wpcf7 form .wpcf7-mail-sent-ok {
  padding-left: 40px;
  background-color: green;
}
.wpcf7 form .wpcf7-mail-sent-ok:before {
  content: "\ea03";
}
.wpcf7 form.sent .wpcf7-response-output {
  padding-left: 40px;
  background-color: green;
}
.wpcf7 form.sent .wpcf7-response-output:before {
  content: "\ea03";
}

/* Select Reset
   --------------------------------------------- */
select {
  display: block;
  font-size: 1.6rem;
  color: #555;
  line-height: 1.3;
  padding: 0.6em 1.4em 0.5em 0.8em;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #ccc;
  border-radius: 0.3em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%;
}
select::-ms-expand {
  display: none;
}
select:hover {
  border-color: #888;
}
select:focus {
  border-color: #aaa;
  box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
  box-shadow: 0 0 0 3px -moz-mac-focusring;
  color: #222;
  outline: none;
}
select option {
  font-weight: normal;
}

/* Checkbox Reset
 --------------------------------------------- */
input[type=checkbox] {
  display: none;
  position: absolute;
  -webkit-appearance: none;
}
input[type=checkbox] + * {
  position: relative;
  line-height: 1.5;
  display: inline;
}
input[type=checkbox] + * > * {
  float: left;
}
input[type=checkbox] + *:after, input[type=checkbox] + *:before {
  pointer-events: none;
  content: "";
}
input[type=checkbox] + *:before {
  display: inline-flex;
  height: 16px;
  min-width: 16px;
  width: 16px;
  border: solid 2px #ccc;
  background: #fff;
  margin-right: 10px;
}
input[type=checkbox] + *:after {
  position: absolute;
  height: 11px;
  width: 22px;
  top: 0;
  left: 0;
  border-bottom: solid 3px #999;
  border-left: solid 3px #999;
  background: none;
  transform: rotate(-45deg) scale(0);
  transform-origin: center center;
}
input[type=checkbox] + *:hover {
  opacity: 0.8;
}
input[type=checkbox]:checked + *:before {
  border-color: #f2f2f2;
  background-color: #f2f2f2;
}
input[type=checkbox]:checked + *:after {
  opacity: 1;
  transform: rotate(-45deg) scale(0.8);
  border-bottom: solid 4px #689447;
  border-left: solid 4px #689447;
}

fieldset {
  padding: 0;
  border-width: 0;
}

/* List style
 --------------------------------------------- */
details ol, details ul, .number-list, div.product .woocommerce-product-details__short-description ol, .post-single .entry-content > ol, .item-list, div.product .woocommerce-product-details__short-description ul, .post-single .entry-content > ul, .content-page .entry-content ul, .post-single .entry-content ul, .content-page .entry-content ol, .post-single .entry-content ol {
  margin-bottom: 24px;
}
details ol li, details ul li, .number-list li, div.product .woocommerce-product-details__short-description ol li, .item-list li, div.product .woocommerce-product-details__short-description ul li, .content-page .entry-content ul li, .post-single .entry-content ul li, .content-page .entry-content ol li, .post-single .entry-content ol li {
  margin-bottom: 12px;
  margin-left: 24px;
}
details ol ol, details ul ol, .number-list ol, div.product .woocommerce-product-details__short-description ol ol, .item-list ol, div.product .woocommerce-product-details__short-description ul ol, .content-page .entry-content ul ol, .post-single .entry-content ul ol, .content-page .entry-content ol ol, .post-single .entry-content ol ol,
details ol ul,
details ul ul,
.number-list ul,
div.product .woocommerce-product-details__short-description ol ul,
.item-list ul,
div.product .woocommerce-product-details__short-description ul ul,
.content-page .entry-content ul ul,
.post-single .entry-content ul ul,
.content-page .entry-content ol ul,
.post-single .entry-content ol ul {
  margin-bottom: 0;
}

.item-list > li, div.product .woocommerce-product-details__short-description ul > li, .post-single .entry-content > ul > li {
  list-style-type: disc;
}

.number-list > li, div.product .woocommerce-product-details__short-description ol > li, .post-single .entry-content > ol > li {
  list-style-type: decimal;
}

/* Entry Meta
 --------------------------------------------- */
.entry-footer .entry-meta {
  border-top: 1px solid #eee;
  padding-top: 20px;
}

.entry-comments-link::before {
  content: "—";
  margin: 0 6px 0 2px;
}

/* Pagination
 --------------------------------------------- */
.pagination {
  position: relative;
  margin: 60px 0;
}

.adjacent-entry-pagination {
  margin-bottom: 0;
}

.archive-pagination li {
  display: inline;
}

.archive-pagination li a {
  background-color: #f5f5f5;
  color: #333;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 4px;
  padding: 8px 12px;
  text-decoration: none;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
  background-color: #333;
  color: #fff;
}

/* Section Title
 --------------------------------------------- */
.section-title {
  margin-bottom: 20px;
}
.section-title.align-c {
  text-align: center;
  margin: 0 auto;
}
.section-title h4 {
  position: relative;
  color: #00864d;
  font-family: "Barlow", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* Divider
 --------------------------------------------- */
hr {
  border: 0;
}

hr.small, .entry-content hr.entry-meta {
  margin: 10px 0;
}

.divider-c, .divider {
  position: relative;
  margin: 15px 0;
  border-top: 2px solid #f05624;
  width: 50px;
}

.divider-c {
  margin-left: auto;
  margin-right: auto;
}

/* Image Card
 ---------------------------------------------
<figure class="img-card">
  <img src="">
  <figcaption></figcaption>
</figure>
*/
.img-card {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  overflow: hidden;
  z-index: 0;
  background-color: #000;
}
.img-card:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100px;
  z-index: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, hsl(10deg, 10%, 10%) 0%, hsla(10deg, 10%, 10%, 0) 100%);
}
.img-card:hover img {
  transform: scale(1.05);
  opacity: 1;
}
.img-card img {
  transition: all 0.8s ease-in-out;
  width: 100%;
  object-fit: cover;
  opacity: 0.8;
}
.img-card figcaption {
  position: absolute;
  padding: 15px 20px;
  font-size: 1.87rem;
  line-height: 1.2;
  color: #fff;
  text-transform: uppercase;
  width: 100%;
  z-index: 1;
}

/* Logo Gallery
 ---------------------------------------------
<section class="logo-showcase">
  <header class="section-title align-c">
    <h2>Our Clients</h2>
    <hr class="divider-c">
    <p>Here are some of our our clients.</p>
  </header>

  <div class="logo-showcase-gallery">
    <img src="../../../static/logo-1.jpg">
  </div>
</section>
*/
.logo-feature-gallery {
  position: relative;
}
.logo-feature-gallery img {
  object-fit: contain;
  padding: 20px;
}

/* Image Banner
  ==========================================
  <section class="image-banner">
    <div class="container container-left">
      <h3>Title</h3>
      <p>Description</p>
      <a href="#" class="btn btn-3">Learn More</a>
    </div>
    <img src="/static/asd.jpg">
  </section>

  */
/* Banners
  ============================================== */
.hero-slider, .shop-banner, .post-archive .archive-description, .entry-header,
.regular-banner {
  position: relative;
  width: 100%;
  z-index: 0;
  padding: 50px 0%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}
.hero-slider img, .shop-banner img, .post-archive .archive-description img, .entry-header img,
.regular-banner img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  object-fit: cover;
}

/* Regular Banner
   --------------------------------------------- */
.shop-banner, .post-archive .archive-description, .entry-header,
.regular-banner {
  background: #0f5132;
  height: auto;
  min-height: 350px;
  text-align: left;
  overflow: hidden;
}
.shop-banner > *, .post-archive .archive-description > *, .entry-header > *,
.regular-banner > * {
  margin-bottom: 10px;
}
.shop-banner > *:last-child, .post-archive .archive-description > *:last-child, .entry-header > *:last-child,
.regular-banner > *:last-child {
  margin-bottom: 0;
}
.shop-banner:after, .post-archive .archive-description:after, .entry-header:after,
.regular-banner:after {
  content: "";
  position: absolute;
  width: 500px;
  aspect-ratio: 1;
  right: max(0%, (100vw - 1400px) / 2);
  top: calc(50% - 250px);
  background: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/static/spiral.svg") no-repeat center/contain;
  animation: rotateScale 60s linear infinite;
  opacity: 0.5;
  z-index: 2;
}
.shop-banner > *:not(img), .post-archive .archive-description > *:not(img), .entry-header > *:not(img),
.regular-banner > *:not(img) {
  width: min(90%, 1400px);
  margin-left: max(5%, (100vw - 1400px) / 2);
}
@media only screen and (min-width: 670px) {
  .shop-banner > *:not(img), .post-archive .archive-description > *:not(img), .entry-header > *:not(img),
.regular-banner > *:not(img) {
    max-width: 700px;
  }
}
.shop-banner p, .post-archive .archive-description p, .entry-header p,
.regular-banner p {
  font-size: 1.9rem;
  color: hsl(23deg, 60%, 97%);
}
.shop-banner h1, .post-archive .archive-description h1, .entry-header h1,
.regular-banner h1 {
  position: relative;
  color: hsl(23deg, 60%, 97%);
}
.shop-banner h1:before, .post-archive .archive-description h1:before, .entry-header h1:before,
.regular-banner h1:before {
  content: "";
  position: absolute;
  width: 30px;
  aspect-ratio: 1;
  display: block;
  border-radius: 50%;
  top: calc(50% - 15px);
  left: min(-5vw, -1 * (100vw - 1400px) / 2);
  transform: translateX(-50%);
  background-color: #00864d;
  z-index: -1;
}
@media only screen and (min-width: 670px) {
  .shop-banner img, .post-archive .archive-description img, .entry-header img,
.regular-banner img {
    position: absolute;
    width: auto;
    height: 80%;
    aspect-ratio: 1;
    top: 10%;
    left: auto;
    right: max(5%, (100vw - 1400px) / 2);
    object-fit: contain;
    background-color: #fff;
    padding: 1rem;
    border-radius: 50%;
    border: 1px solid hsl(0deg, 0%, 90%);
  }
}

/* Giant Banner
 --------------------------------------------- */
/* Hero Slider
 ============================================= */
/* Giant Banner Slider */
.hero-slider {
  padding: 0;
  overflow: hidden;
  height: auto;
}
@media only screen and (max-width: 670px) {
  .hero-slider {
    max-height: none;
  }
}

@media only screen and (min-width: 670px) {
  .hero-slider--short {
    max-height: 500px;
  }
}
@media only screen and (min-width: 670px) {
  .hero-slider--short .hero-slide {
    height: 500px;
  }
}
@media only screen and (min-width: 960px) {
  .hero-slider--short .hero-slide {
    max-height: 500px;
    height: 100vh;
  }
}

/* Giant Banner Slide */
.hero-slide {
  position: relative;
  height: auto;
  width: 100%;
  /* Generic Figcaption Styles */
  /* Caption Positions */
  /* Dark font styles */
}
@media only screen and (max-width: 670px) {
  .hero-slide {
    background-color: #fff;
    flex-direction: column;
  }
}
@media only screen and (min-width: 670px) {
  .hero-slide {
    aspect-ratio: 16/9;
  }
}
.hero-slide figcaption {
  position: relative;
  height: auto;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: flex-start;
  z-index: 0;
  width: 100%;
}
@media only screen and (max-width: 670px) {
  .hero-slide figcaption {
    padding: 20px 5%;
    text-align: center;
    align-items: center;
    width: auto;
    margin: 0;
    background-color: #fff;
  }
  .hero-slide figcaption:before {
    position: absolute;
    content: "";
    left: 0;
    top: -99px;
    width: 100%;
    height: 100px;
    background: linear-gradient(to top, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 0) 100%);
  }
  .hero-slide figcaption br {
    display: none;
  }
  .hero-slide figcaption p {
    margin-bottom: 10px !important;
  }
}
@media only screen and (min-width: 670px) {
  .hero-slide figcaption {
    position: absolute;
  }
}
.hero-slide figcaption h2 {
  font-size: 5.1rem;
  color: #000704;
  font-weight: 700;
}
.hero-slide figcaption h4 {
  font-family: "Barlow", sans-serif;
  font-size: 1.4rem;
  color: #005330;
  font-weight: 700;
  margin-bottom: 0;
}
.hero-slide img {
  position: relative;
}
@media only screen and (max-width: 670px) {
  .hero-slide img {
    height: 90vw;
  }
}
.hero-slide--left:before {
  left: 0;
}
.hero-slide--left.hero-slide--light:before {
  background: linear-gradient(to right, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 0) 100%);
}
.hero-slide--left.hero-slide--dark:before {
  background: linear-gradient(to right, hsl(0deg, 0%, 0%) 0%, hsla(0deg, 0%, 0%, 0) 100%);
}
@media only screen and (min-width: 670px) {
  .hero-slide--left figcaption {
    left: 5vw;
  }
}
@media only screen and (max-width: 670px) {
  .hero-slide--left img {
    object-position: right;
  }
}
.hero-slide--right:before {
  right: 0;
}
.hero-slide--right.hero-slide--light:before {
  background: linear-gradient(to left, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 0) 100%);
}
.hero-slide--right.hero-slide--dark:before {
  background: linear-gradient(to left, hsl(0deg, 0%, 0%) 0%, hsla(0deg, 0%, 0%, 0) 100%);
}
@media only screen and (min-width: 670px) {
  .hero-slide--right figcaption {
    right: 5vw;
    text-align: right;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 670px) {
  .hero-slide--right img {
    object-position: left;
  }
}
.hero-slide--center.hero-slide--light:before {
  background: linear-gradient(to bottom, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 0) 100%);
}
.hero-slide--center.hero-slide--dark:before {
  background: linear-gradient(to bottom, hsl(0deg, 0%, 0%) 0%, hsla(0deg, 0%, 0%, 0) 100%);
}
.hero-slide--center figcaption {
  left: 0;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding: 20px 5%;
}
@media only screen and (min-width: 670px) {
  .hero-slide--center figcaption {
    height: 100%;
    top: 0;
    padding: 0;
  }
}
.hero-slide--center img {
  object-position: center;
}
.hero-slide--top:before {
  top: 0;
}
.hero-slide--top.hero-slide--light:before {
  background: linear-gradient(to bottom, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 0) 100%);
}
.hero-slide--top.hero-slide--dark:before {
  background: linear-gradient(to bottom, hsl(0deg, 0%, 0%) 0%, hsla(0deg, 0%, 0%, 0) 100%);
}
@media only screen and (min-width: 670px) {
  .hero-slide--top figcaption {
    top: 0;
  }
}
.hero-slide--top img {
  object-position: bottom;
}
.hero-slide--bottom:before {
  bottom: 0;
}
.hero-slide--bottom.hero-slide--light:before {
  background: linear-gradient(to top, hsl(255deg, 100%, 100%) 0%, hsla(255deg, 100%, 100%, 0) 100%);
}
.hero-slide--bottom.hero-slide--dark:before {
  background: linear-gradient(to top, hsl(0deg, 0%, 0%) 0%, hsla(0deg, 0%, 0%, 0) 100%);
}
@media only screen and (min-width: 670px) {
  .hero-slide--bottom figcaption {
    bottom: 0;
  }
}
@media only screen and (min-width: 670px) {
  .hero-slide--dark figcaption * {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }
  .hero-slide--dark figcaption h2 {
    color: #fff;
  }
  .hero-slide--dark figcaption h4 {
    color: #fff;
  }
  .hero-slide--dark figcaption p {
    color: #fff;
    font-weight: 700;
  }
}

/* Left and right figcaption*/
@media only screen and (min-width: 670px) {
  .hero-slide--left figcaption, .hero-slide--right figcaption {
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
    max-width: 400px;
  }
  .hero-slide--top figcaption, .hero-slide--bottom figcaption {
    left: 0;
    height: 50%;
    padding: 0 20%;
    text-align: center;
    align-items: center;
    justify-content: center;
  }
}

.hero-slide--top:before, .hero-slide--bottom:before, .hero-slide--left:before, .hero-slide--right:before {
  position: absolute;
  mix-blend-mode: overlay;
  opacity: 0.5;
}
@media only screen and (min-width: 670px) {
  .hero-slide--top:before, .hero-slide--bottom:before, .hero-slide--left:before, .hero-slide--right:before {
    content: "";
  }
}
.hero-slide--left:before, .hero-slide--right:before {
  top: 0;
  width: 50%;
  height: 100%;
}
.hero-slide--top:before, .hero-slide--bottom:before {
  left: 0;
  width: 100%;
  height: 50%;
}

/* Default Blocks */
.inline-wrap, .post-single .entry-content, .post-archive .post-entry-list {
  width: min(90%, 1400px);
  margin-inline: auto;
}
.inline-wrap.narrow, .post-single .narrow.entry-content, .post-archive .narrow.post-entry-list {
  width: min(90%, 960px);
}
@media only screen and (min-width: 1400px) {
  .inline-wrap.narrow, .post-single .narrow.entry-content, .post-archive .narrow.post-entry-list {
    width: min(90%, 1400px);
  }
}
.inline-wrap .inline-wrap, .post-single .entry-content .inline-wrap, .inline-wrap .post-single .entry-content, .post-single .inline-wrap .entry-content, .post-single .entry-content .entry-content, .post-archive .post-entry-list .inline-wrap, .post-archive .post-entry-list .post-single .entry-content, .post-single .post-archive .post-entry-list .entry-content, .inline-wrap .post-archive .post-entry-list, .post-single .entry-content .post-archive .post-entry-list, .post-archive .inline-wrap .post-entry-list, .post-archive .post-single .entry-content .post-entry-list, .post-single .post-archive .entry-content .post-entry-list, .post-archive .post-entry-list .post-entry-list {
  width: 100%;
}

.aligncenter .section-title {
  text-align: center;
}
.aligncenter .section-title hr {
  margin-left: auto;
  margin-right: auto;
}

/* Image Gallery */
.image-gallery-section {
  padding: 50px 5%;
}
@media only screen and (min-width: 670px) {
  .image-gallery-section {
    padding: 50px;
  }
}

.image-gallery-list {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  padding: 3px;
}
.image-gallery-list li {
  position: relative;
  flex: 1 1 0;
  height: 300px;
  min-width: 300px;
}
.image-gallery-list img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 3px;
  object-fit: cover;
}

/* LR Layout */
.lr-layout {
  width: 100%;
  min-height: 400px;
  position: relative;
  z-index: -1;
}
@media only screen and (min-width: 960px) {
  .lr-layout {
    background-attachment: fixed;
  }
}
@media only screen and (min-width: 960px) {
  .lr-layout:nth-of-type(even) article {
    order: -1;
  }
  .lr-layout:nth-of-type(even) figure:after {
    right: -150px;
    left: auto;
  }
}
.lr-layout .inline-wrap, .lr-layout .post-single .entry-content, .post-single .lr-layout .entry-content, .lr-layout .post-archive .post-entry-list, .post-archive .lr-layout .post-entry-list {
  position: relative;
  display: grid;
  gap: 3rem;
  margin-block: 5rem;
}
@media only screen and (min-width: 670px) {
  .lr-layout .inline-wrap, .lr-layout .post-single .entry-content, .post-single .lr-layout .entry-content, .lr-layout .post-archive .post-entry-list, .post-archive .lr-layout .post-entry-list {
    gap: 5rem;
    grid-template-columns: 1fr 1fr;
  }
}
.lr-layout figure {
  position: relative;
  margin: 0;
  z-index: 0;
  aspect-ratio: 1;
}
@media only screen and (min-width: 670px) {
  .lr-layout figure:after {
    content: "";
    position: absolute;
    background-color: hsl(23deg, 60%, 97%);
    opacity: 0.7;
    width: calc(50% + 150px);
    height: calc(100% + 150px);
    top: -75px;
    left: -150px;
    z-index: -1;
  }
}
.lr-layout figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
  padding: 0;
}
.lr-layout article {
  position: relative;
  padding: 0px 0%;
  width: 100%;
  z-index: 0;
}
@media only screen and (min-width: 670px) {
  .lr-layout article {
    text-align: center;
  }
}
@media only screen and (min-width: 960px) {
  .lr-layout article {
    padding: 0px 0%;
  }
}

.secondary-graphic-0 {
  position: absolute;
  z-index: -1;
  opacity: 0.3;
  width: 25vw;
  height: 25vw;
  object-fit: contain;
  object-position: center;
  left: calc(50% - 12.5vw);
  top: calc(50% - 12.5vw);
}

/* Ecommerce Highlights */
.attribute-highlights {
  background-color: #00864d;
  padding: 60px 5% 50px;
}
@media only screen and (min-width: 960px) {
  .attribute-highlights {
    padding: 60px 10% 50px;
  }
}
.attribute-highlights .inline-wrap, .attribute-highlights .post-single .entry-content, .post-single .attribute-highlights .entry-content, .attribute-highlights .post-archive .post-entry-list, .post-archive .attribute-highlights .post-entry-list {
  display: flex;
  flex-flow: row wrap;
}
.attribute-highlights .inline-wrap > *, .attribute-highlights .post-single .entry-content > *, .post-single .attribute-highlights .entry-content > *, .attribute-highlights .post-archive .post-entry-list > *, .post-archive .attribute-highlights .post-entry-list > * {
  width: 100%;
  margin-bottom: 25px;
}
@media only screen and (min-width: 670px) {
  .attribute-highlights .inline-wrap > *, .attribute-highlights .post-single .entry-content > *, .post-single .attribute-highlights .entry-content > *, .attribute-highlights .post-archive .post-entry-list > *, .post-archive .attribute-highlights .post-entry-list > * {
    width: calc((100% - (25px * (4 - 1))) / 4);
    margin-right: 25px;
  }
  .attribute-highlights .inline-wrap > *:nth-child(4n), .attribute-highlights .post-single .entry-content > *:nth-child(4n), .post-single .attribute-highlights .entry-content > *:nth-child(4n), .attribute-highlights .post-archive .post-entry-list > *:nth-child(4n), .post-archive .attribute-highlights .post-entry-list > *:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 670px) {
  .attribute-highlights .inline-wrap > *, .attribute-highlights .post-single .entry-content > *, .post-single .attribute-highlights .entry-content > *, .attribute-highlights .post-archive .post-entry-list > *, .post-archive .attribute-highlights .post-entry-list > * {
    margin-bottom: 0;
  }
}
.attribute-highlights .icon-card img {
  filter: saturate(0) invert(1);
  opacity: 1;
}
.attribute-highlights .icon-card h4 {
  color: #fff;
}

/* Food Menu */
.dish-list {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.dish-list:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  left: 50%;
  background-color: #e4e2d7;
}
.dish-list article {
  position: relative;
  display: flex;
  flex: 0 1 45%;
  margin-bottom: 25px;
}
.dish-list article p {
  line-height: 1.4;
  font-size: 1.4rem;
  margin-bottom: 0;
}
.dish-list article p span {
  display: block;
}
.dish-list article:hover {
  color: #005330;
  cursor: pointer;
}
.dish-list article:hover figure {
  display: flex;
}
.dish-list article figure {
  display: none;
  position: absolute;
  width: 100%;
  top: calc(100% + 5px);
  left: 0;
  flex-flow: column nowrap;
  background-color: #fff;
  z-index: 10;
  border-radius: 10px;
  overflow: hidden;
}
.dish-list article figure img {
  width: 100%;
  max-height: 250px;
  object-fit: cover;
}
.dish-list article figure figcaption {
  padding: 10px;
}

.dish-title {
  width: 100%;
  padding-right: 20px;
  font-weight: 700;
}
.dish-title span {
  font-weight: 400;
}

/* Product Feature */
.library-gallery {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  margin-top: 50px;
  /* State when not active */
}
@media only screen and (min-width: 670px) {
  .library-gallery {
    flex-flow: row nowrap;
  }
}
.library-gallery .single-product-feature figcaption {
  bottom: -300px;
}
.library-gallery .single-product-feature.active {
  position: relative;
  height: 500px;
  width: 100%;
}
.library-gallery .single-product-feature.active > img {
  transition: 0.6s;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
.library-gallery .single-product-feature.active figcaption {
  position: absolute;
  transition: 0.6s;
  width: 100%;
  bottom: 0;
  top: auto;
  z-index: 1;
  padding: 25px;
  color: #fff;
  background: hsla(0deg, 0%, 0%, 0.5);
  margin: 0;
  text-align: left;
}
@media only screen and (min-width: 670px) {
  .library-gallery .single-product-feature.active figcaption {
    padding: 25px 50px;
  }
}
.library-gallery .single-product-feature.active figcaption h3, .library-gallery .single-product-feature.active figcaption form.woocommerce-checkout .col-1 h4, .library-gallery .single-product-feature.active figcaption form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .library-gallery .single-product-feature.active figcaption h4, form.woocommerce-checkout .checkout_coupon .library-gallery .single-product-feature.active figcaption h4 {
  color: #fff;
}
.library-gallery .single-product-feature.active figcaption p {
  transition: 0.3s;
  margin-bottom: 0;
  display: block;
}
.library-gallery .single-product-feature:not(.active) {
  align-items: stretch;
}
@media only screen and (max-width: 670px) {
  .library-gallery .single-product-feature:not(.active) {
    width: 100%;
  }
}
.library-gallery .single-product-feature:not(.active) img {
  max-width: 0;
  display: block;
}
.library-gallery .single-product-feature:not(.active) figcaption {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  background-color: hsl(0deg, 0%, 95%);
  bottom: auto;
  height: 100%;
  cursor: pointer;
  padding: 15px;
  margin: 0;
}
@media only screen and (max-width: 670px) {
  .library-gallery .single-product-feature:not(.active) figcaption {
    border-bottom: 1px solid hsl(0deg, 0%, 85%);
  }
}
@media only screen and (min-width: 670px) {
  .library-gallery .single-product-feature:not(.active) figcaption {
    padding: 30px 20px;
    border-left: 1px solid hsl(0deg, 0%, 85%);
  }
}
.library-gallery .single-product-feature:not(.active) figcaption:hover {
  background-color: #00864d;
  border-left: 3px solid #002012;
}
.library-gallery .single-product-feature:not(.active) figcaption:hover h3, .library-gallery .single-product-feature:not(.active) figcaption:hover form.woocommerce-checkout .col-1 h4, .library-gallery .single-product-feature:not(.active) figcaption:hover form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .library-gallery .single-product-feature:not(.active) figcaption:hover h4, form.woocommerce-checkout .checkout_coupon .library-gallery .single-product-feature:not(.active) figcaption:hover h4 {
  color: #fff;
}
.library-gallery .single-product-feature:not(.active) h3, .library-gallery .single-product-feature:not(.active) form.woocommerce-checkout .col-1 h4, .library-gallery .single-product-feature:not(.active) form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .library-gallery .single-product-feature:not(.active) h4, form.woocommerce-checkout .checkout_coupon .library-gallery .single-product-feature:not(.active) h4 {
  margin: 0;
  font-family: "Barlow", sans-serif;
  text-transform: uppercase;
  font-size: 1.7rem;
}
@media only screen and (min-width: 670px) {
  .library-gallery .single-product-feature:not(.active) h3, .library-gallery .single-product-feature:not(.active) form.woocommerce-checkout .col-1 h4, .library-gallery .single-product-feature:not(.active) form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .library-gallery .single-product-feature:not(.active) h4, form.woocommerce-checkout .checkout_coupon .library-gallery .single-product-feature:not(.active) h4 {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
  }
}
.library-gallery .single-product-feature:not(.active) p {
  display: none;
}

/* Contact 1 */
.contact-1 {
  margin: 80px 0;
}

.contact-details-wrapper {
  display: flex;
  flex-flow: row wrap;
  gap: 40px;
  justify-content: center;
  margin: 80px 0;
}
.contact-details-wrapper .contact-detail {
  flex: 1 1 200px;
  width: 200px;
  display: flex;
  gap: 10px;
}
.contact-details-wrapper .contact-detail i {
  color: #fff;
  min-width: 40px;
  width: 40px;
  height: 40px;
  font-size: 17px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #00864d;
}
.contact-details-wrapper .contact-detail .contact-detail-caption b {
  display: block;
}

.contact-1_mapembed {
  position: relative;
  margin: 50px 0 150px;
  display: block;
}
.contact-1_mapembed:after {
  content: "";
  position: absolute;
  height: 75%;
  bottom: -25%;
  background-color: hsl(50deg, 20%, 97%);
  z-index: -1;
  border-top: 1px solid #e4e2d7;
  border-bottom: 1px solid #e4e2d7;
}

.post-archive {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 auto;
}
.post-archive > * {
  margin-bottom: 50px;
}
.post-archive > *:last-child {
  margin-bottom: 0;
}
.post-archive .archive-description {
  padding: 50px 5% 0;
}
.post-archive .post-entry-list {
  padding: 0 5%;
  width: 100%;
}
@media only screen and (min-width: 670px) {
  .post-archive .post-entry-list {
    padding: 0;
    flex: 3 1 0;
    margin-left: 5%;
    margin-right: 50px;
  }
}
.post-archive .sidebar {
  padding: 0 5%;
  width: 100%;
}
@media only screen and (min-width: 670px) {
  .post-archive .sidebar {
    padding: 0;
    flex: 1 1 0;
    margin-right: 5%;
    max-width: 280px;
  }
}

.post-entry-list > * {
  margin-bottom: 30px;
}
.post-entry-list > *:last-child {
  margin-bottom: 0;
}
.post-entry-list .entry-content {
  display: flex;
  gap: 50px;
}
@media only screen and (max-width: 670px) {
  .post-entry-list .entry-content {
    flex-flow: column nowrap;
    gap: 20px;
  }
}
.post-entry-list .entry.category-news-updates {
  margin-block: 30px;
}
.post-entry-list .entry.category-news-updates + .entry {
  border-top: 1px solid hsl(0deg, 0%, 80%);
}
@media only screen and (min-width: 670px) {
  .post-entry-list .entry.category-news-updates {
    padding: 30px 30px 0;
  }
}
.post-entry-list .entry.category-news-updates:nth-child(even) .entry-content {
  flex-flow: row-reverse;
}
@media only screen and (max-width: 670px) {
  .post-entry-list .entry.category-news-updates:nth-child(even) .entry-content {
    flex-flow: column nowrap;
  }
}
.post-entry-list h3, .post-entry-list form.woocommerce-checkout .col-1 h4, .post-entry-list form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .post-entry-list h4, form.woocommerce-checkout .checkout_coupon .post-entry-list h4 {
  margin: 10px 0;
}
.post-entry-list p {
  line-height: 1.5;
}
.post-entry-list .category-link {
  padding: 2px 6px;
}
.post-entry-list .caption {
  display: flex;
  flex-flow: column nowrap;
  margin-block: 20px;
}
.post-entry-list .caption h2 {
  flex: 1 1 auto;
}
.post-entry-list .entry-content__thumbnail-link {
  position: relative;
  min-height: 170px;
  aspect-ratio: 16/9;
  min-width: 55%;
}
.post-entry-list .entry-content__thumbnail-link img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
}

/* Structure of single post*/
.post-single .entry {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 auto;
}
.post-single .entry > * {
  margin-bottom: 50px;
}
.post-single .entry > *:last-child {
  margin-bottom: 0;
}
.post-single .has-post-thumbnail .entry-header {
  position: relative;
  margin-bottom: 18.75%;
}
.post-single .has-post-thumbnail .entry-header img {
  position: relative;
  aspect-ratio: 16/9;
  width: min(1400px, 90%);
  border-radius: 2rem;
  z-index: 2;
  margin-block: 30px;
  margin-inline: auto;
  object-fit: cover;
  right: 0;
}
@media only screen and (min-width: 960px) {
  .post-single .has-post-thumbnail .entry-header img {
    margin-block: 0px calc(-960px / 16 * 5);
  }
}
.post-single .entry-content {
  padding: 0 5%;
  width: 100%;
  max-width: 960px;
}
.post-single .sidebar {
  padding: 0 5%;
  width: 100%;
}
@media only screen and (min-width: 670px) {
  .post-single .sidebar {
    padding: 0;
    flex: 1 1 0;
    margin-right: 5%;
    max-width: 280px;
  }
}

/* Primary sidebar only */
.sidebar-primary .widget-title {
  border-bottom: 4px solid hsl(0deg, 0%, 85%);
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.entry-content .entry-meta {
  color: hsl(0deg, 0%, 70%);
}

/* Single Page Content
  ========================================== */
.post-categories a {
  color: hsl(50deg, 20%, 97%);
}

.error404 main.content {
  width: min(100%, 700px);
  margin: 150px auto 50px;
  text-align: center;
}
.error404 .search-form {
  display: none;
}

@keyframes rotateScale {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(-180deg) scale(1.5);
  }
  100% {
    transform: rotate(-360deg) scale(1);
  }
}
.bg-off-white {
  background-color: hsl(50deg, 20%, 97%);
}

.bg-white {
  background-color: #fff;
}

.mt-0 {
  margin-top: 0 !important;
}

/* Ecommerce Highlights */
.ecommerce-highlights {
  display: flex;
  flex-flow: row wrap;
  background-color: #00864d;
  padding: 60px 5% 50px;
}
.ecommerce-highlights > * {
  width: 100%;
  margin-bottom: 15px;
}
@media only screen and (min-width: 670px) {
  .ecommerce-highlights > * {
    width: calc((100% - (15px * (4 - 1))) / 4);
    margin-right: 15px;
  }
  .ecommerce-highlights > *:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 960px) {
  .ecommerce-highlights {
    padding: 60px 10% 50px;
  }
}
@media only screen and (min-width: 670px) {
  .ecommerce-highlights > * {
    margin-bottom: 0;
  }
}
.ecommerce-highlights .icon-card img {
  filter: saturate(0) invert(1);
  opacity: 1;
}
.ecommerce-highlights .icon-card h4 {
  color: #fff;
}

.icon-card {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
}
.icon-card > figure {
  position: relative;
  width: 100%;
  padding-top: 40px;
}
.icon-card > figure > img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
}
.icon-card .caption {
  flex: 1 1 0;
  position: relative;
  padding: 10px;
  background-color: #fff;
}
@media only screen and (min-width: 670px) {
  .icon-card {
    flex-flow: column nowrap;
  }
}
@media only screen and (min-width: 960px) {
  .icon-card {
    flex-flow: row wrap;
  }
}
.icon-card img {
  width: 40px;
  height: 40px;
  opacity: 0.6;
  margin-right: 10px;
}
.icon-card h4 {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0;
  color: #002012;
}
@media only screen and (min-width: 670px) {
  .icon-card h4 {
    text-align: center;
  }
}
@media only screen and (min-width: 960px) {
  .icon-card h4 {
    text-align: left;
  }
}
.icon-card .caption {
  background: transparent;
}

/* Floating button */
.floating-whatsapp-button {
  width: 46px;
  height: 46px;
  background-color: #25d366;
  border-radius: 50%;
  font-size: 23px;
  position: fixed;
  font-weight: 400;
  right: 10px;
  bottom: 10px;
  z-index: 9999999;
  color: #fff;
  text-align: center;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
  line-height: 46px;
}
.floating-whatsapp-button:hover,
.floating-whatsapp-button a:hover {
  text-decoration: none;
}

/* Swiper Button */
.swiper-button-next,
.swiper-button-prev {
  color: #00864d;
}

.section-vending .inline-wrap, .section-vending .post-archive .post-entry-list, .post-archive .section-vending .post-entry-list, .section-vending .post-single .entry-content, .post-single .section-vending .entry-content {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 960px) {
  .section-vending .inline-wrap, .section-vending .post-archive .post-entry-list, .post-archive .section-vending .post-entry-list, .section-vending .post-single .entry-content, .post-single .section-vending .entry-content {
    gap: 2rem;
    grid-template-columns: repeat(7, 1fr);
  }
}
.section-vending .inline-wrap > div, .section-vending .post-archive .post-entry-list > div, .post-archive .section-vending .post-entry-list > div, .section-vending .post-single .entry-content > div, .post-single .section-vending .entry-content > div {
  position: relative;
  display: none;
  border-radius: 50%;
  aspect-ratio: 1;
  width: 100%;
  background-color: hsl(23deg, 60%, 97%);
  place-self: center;
}
@media only screen and (min-width: 960px) {
  .section-vending .inline-wrap > div, .section-vending .post-archive .post-entry-list > div, .post-archive .section-vending .post-entry-list > div, .section-vending .post-single .entry-content > div, .post-single .section-vending .entry-content > div {
    display: block;
  }
}
.section-vending .inline-wrap > div svg, .section-vending .post-archive .post-entry-list > div svg, .post-archive .section-vending .post-entry-list > div svg, .section-vending .post-single .entry-content > div svg, .post-single .section-vending .entry-content > div svg {
  transform: scale(0.25) rotate(180deg);
}
.section-vending article {
  border-radius: 2rem;
  background-color: #00864d;
  overflow: hidden;
}
@media only screen and (min-width: 960px) {
  .section-vending article {
    grid-column: span 2;
  }
}
.section-vending article .description {
  padding: 1rem 1.5rem 1.5rem;
}
@media only screen and (min-width: 670px) {
  .section-vending article .description {
    padding: 1rem 1.5rem 2rem;
  }
}
.section-vending article img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.section-vending article h3, .section-vending article form.woocommerce-checkout .col-1 h4, .section-vending article form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .section-vending article h4, form.woocommerce-checkout .checkout_coupon .section-vending article h4 {
  color: #fff;
  margin-bottom: 0.25rem;
  line-height: 1.2;
  font-size: 2rem;
}
@media only screen and (min-width: 670px) {
  .section-vending article h3, .section-vending article form.woocommerce-checkout .col-1 h4, .section-vending article form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .section-vending article h4, form.woocommerce-checkout .checkout_coupon .section-vending article h4 {
    margin-bottom: 0.5rem;
  }
}
.section-vending article p {
  font-size: 1.7rem;
  line-height: 1.2;
  color: #ecfff7;
}

.attributes-feature {
  display: block;
  position: relative;
  z-index: 0;
  background-color: #02653c;
  padding: 10rem 0;
}
.attributes-feature:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  filter: saturate(0);
  opacity: 0.3;
  background: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/uploads/bg-2.jpg") no-repeat center/cover;
  background-attachment: fixed;
}
.attributes-feature .inline-wrap, .attributes-feature .post-archive .post-entry-list, .post-archive .attributes-feature .post-entry-list, .attributes-feature .post-single .entry-content, .post-single .attributes-feature .entry-content {
  position: relative;
  width: min(600px, 90%);
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 3rem 0;
}

.attribute-counter {
  position: relative;
  background-color: hsl(23deg, 60%, 97%);
  width: 50%;
  aspect-ratio: 1;
  border-radius: 50%;
  display: block;
  text-align: center;
  align-content: center;
  line-height: 1;
  padding: 1.5rem;
  font-size: 1.8rem;
}
@media only screen and (min-width: 670px) {
  .attribute-counter {
    width: 280px;
  }
}
.attribute-counter:nth-child(1) {
  margin-top: 140px;
}
.attribute-counter:nth-child(4) {
  margin-top: -140px;
}
.attribute-counter span {
  display: block;
  margin-bottom: 0.5rem;
  color: #f05624;
  font-size: 4.25rem;
}

.attribute-counter-1 {
  transform: translateX(0%) translateY(0%);
}

.attribute-counter-2 {
  transform: translateX(0%) translateY(0%);
}

.attribute-counter-3 {
  transform: translateX(0%) translateY(0%);
}

.attribute-counter-4 {
  transform: translateX(0%) translateY(0%);
}

.home-brands {
  background-color: hsl(50deg, 20%, 97%);
}
.home-brands .products {
  display: grid;
  gap: 2rem;
}
@media only screen and (min-width: 670px) {
  .home-brands .products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 960px) {
  .home-brands .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

.cta-large {
  position: relative;
  z-index: 0;
  background-color: #0f5132;
}
.cta-large:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  filter: saturate(0);
  opacity: 0.3;
  background: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/uploads/bg-1.jpg") no-repeat center/cover;
}
.cta-large .inline-wrap, .cta-large .post-archive .post-entry-list, .post-archive .cta-large .post-entry-list, .cta-large .post-single .entry-content, .post-single .cta-large .entry-content {
  display: grid;
  align-items: center;
}
@media only screen and (min-width: 670px) {
  .cta-large .inline-wrap, .cta-large .post-archive .post-entry-list, .post-archive .cta-large .post-entry-list, .cta-large .post-single .entry-content, .post-single .cta-large .entry-content {
    gap: 10rem;
    grid-template-columns: 1fr 1fr;
  }
}
.cta-large img {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: top center;
  margin-top: 5rem;
  padding: 5rem 5rem 2.5rem;
}
@media only screen and (max-width: 670px) {
  .cta-large img {
    order: -1;
  }
}
.cta-large h2,
.cta-large h4 {
  color: hsl(23deg, 60%, 97%);
}
.cta-large p {
  font-size: 1.8rem;
  color: #fff;
}
.cta-large .section-title > * {
  transition: 0s;
}

.home-about {
  position: relative;
  z-index: 0;
  background-color: #00864d;
}
.home-about:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  filter: saturate(0);
  opacity: 0.3;
  background: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/wp-content/uploads/bg-2.jpg") no-repeat center/cover;
  background-attachment: fixed;
}
.home-about .inline-wrap, .home-about .post-archive .post-entry-list, .post-archive .home-about .post-entry-list, .home-about .post-single .entry-content, .post-single .home-about .entry-content {
  display: grid;
  width: min(100%, 1400px);
}
@media only screen and (min-width: 670px) {
  .home-about .inline-wrap, .home-about .post-archive .post-entry-list, .post-archive .home-about .post-entry-list, .home-about .post-single .entry-content, .post-single .home-about .entry-content {
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
  }
}
.home-about .section-title {
  padding: 5rem 5vw;
}
.home-about h2 {
  color: hsl(23deg, 60%, 97%);
}
.home-about p {
  color: #fff;
  font-size: 1.8rem;
}
.home-about img {
  aspect-ratio: 1;
  object-fit: cover;
}

details {
  padding: 1.5rem 2rem;
  border: 2px solid hsl(0deg, 0%, 70%);
  border-radius: 1rem;
  background-color: #fff;
  width: min(600px, 100%);
  background-color: hsl(0deg, 0%, 98%);
}
details + details {
  margin-top: 1rem;
}
details:hover {
  background-color: hsl(0deg, 0%, 96%);
}
details[open] {
  border: 2px solid #009e54;
}
details[open] summary {
  margin-bottom: 1rem;
}
details[open] summary::marker {
  color: #f05624;
}
details summary {
  color: #00864d;
  font-weight: 700;
  font-family: "Barlow", sans-serif;
  font-size: 1.7rem;
  line-height: 1.2;
  cursor: pointer;
  margin-bottom: 0;
}
details > *:not(summary):not(:last-child) {
  margin-bottom: 1rem;
}
details > *:last-child {
  margin-bottom: 0;
}
details p,
details li {
  font-size: 1.6rem;
  line-height: 1.5;
}
details ul > li {
  list-style-type: disc;
}
details ol > li {
  list-style-type: decimal;
}

.content-page .entry-content {
  width: min(960px, 90%);
  margin: 5rem auto;
}
.content-page .entry-content p:last-child {
  margin-bottom: 0;
}
.content-page .entry-content .inline-wrap, .content-page .entry-content .post-archive .post-entry-list, .post-archive .content-page .entry-content .post-entry-list, .content-page .entry-content .post-single .entry-content, .post-single .content-page .entry-content .entry-content {
  width: min(100%, 1400px);
}

.contact-section {
  background-color: hsl(50deg, 20%, 97%);
}
.contact-section .inline-wrap, .contact-section .post-archive .post-entry-list, .post-archive .contact-section .post-entry-list, .contact-section .post-single .entry-content, .post-single .contact-section .entry-content {
  display: grid;
  gap: 8rem;
}
@media only screen and (min-width: 670px) {
  .contact-section .inline-wrap, .contact-section .post-archive .post-entry-list, .post-archive .contact-section .post-entry-list, .contact-section .post-single .entry-content, .post-single .contact-section .entry-content {
    grid-template-columns: 1fr 1fr;
  }
}
.contact-section .wpcf7 {
  background: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/static/background-pattern-dark.webp") repeat center/cover;
  padding: 2rem;
  border-radius: 0 0 2rem 2rem;
  border-top: 5px solid #f05624;
}
@media only screen and (min-width: 670px) {
  .contact-section .wpcf7 {
    padding-top: 80px;
    margin-top: -80px;
  }
}
.contact-section .wpcf7 label {
  color: #fff;
  text-transform: uppercase;
}
.contact-section .wpcf7 input[type=submit] {
  background-color: #f05624;
  border-radius: 1rem;
}

.contact-detail {
  display: grid;
}
.contact-detail + .contact-detail {
  margin-top: 2.5rem;
}
.contact-detail:hover b {
  color: #f05624;
}
.contact-detail a,
.contact-detail p {
  font-size: 1.7rem;
  color: hsl(0deg, 0%, 30%);
  line-height: 1.2;
  font-weight: 400;
  color: #02653c;
}
.contact-detail b {
  font-size: 1.4rem;
  color: #00864d;
  color: hsl(0deg, 0%, 50%);
  text-transform: uppercase;
}
.contact-detail b i {
  margin-right: 0.25rem;
}
.contact-detail .menu {
  display: flex;
  gap: 0.5rem;
}
.contact-detail .menu a {
  width: 36px;
  height: 36px;
  background-color: #00864d;
  border-radius: 50%;
  font-size: 1.7rem;
  color: #fff;
  display: grid;
  place-items: center;
}
.contact-detail .menu a:hover,
.contact-detail .menu a a:hover {
  text-decoration: none;
}

.social-media-menu li {
  margin-left: 0 !important;
}
.social-media-menu span {
  width: 36px;
  height: 36px;
  background-color: #00864d;
  border-radius: 50%;
  font-size: 1.7rem;
  color: #fff;
  display: grid;
  place-items: center;
}
.social-media-menu span:hover,
.social-media-menu span a:hover {
  text-decoration: none;
}

.logo-gallery img {
  height: 100%;
  object-fit: contain;
  align-self: center;
}

.about-gourmet-vending {
  background-color: hsl(50deg, 20%, 97%);
  background: url(https://demo.co-enterprise.com.sg/gourmet-supplies-v3/static/background-pattern.webp) repeat center/cover;
}
.about-gourmet-vending p {
  width: min(100ch, 100%);
}

.vending-locations {
  background-color: hsl(50deg, 20%, 97%);
}
.vending-locations figure img {
  aspect-ratio: 4/3;
  object-fit: cover;
  margin-bottom: 1rem;
  border-radius: 1rem;
}
.vending-locations b {
  display: block;
}

.section-management {
  background-color: hsl(50deg, 20%, 97%);
}

.profile-list {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  gap: 2rem;
}

.profile {
  background-color: #fff;
  border-radius: 1rem;
  padding: 1rem;
  box-shadow: 0.25rem 0.25rem 0.5rem 0rem hsla(0deg, 0%, 10%, 0.1);
  transition: 0.3s;
}
.profile:hover {
  box-shadow: 0.25rem 0.25rem 1rem 0rem hsla(0deg, 0%, 10%, 0.25);
  transform: translateY(-5px);
}
.profile img {
  margin-bottom: 1rem;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: 1rem;
  width: 150px;
}
.profile figcaption,
.profile .profile-details {
  display: grid;
  line-height: 1.2;
}
.profile b {
  font-size: 1.9rem;
  color: #02653c;
}
.profile i {
  font-size: 1.5rem;
  color: #00864d;
}
.profile p {
  font-size: 1.7rem;
  display: none;
  color: hsl(0deg, 0%, 30%);
}

#profile-dialog {
  width: min(600px, 90%);
  padding: 2rem;
}
#profile-dialog p {
  display: block;
}
#profile-dialog #close-dialog {
  position: absolute;
  right: 0;
  top: 0;
  width: 36px;
  height: 36px;
}
#profile-dialog #close-dialog i {
  font-size: 20px;
  color: hsl(0deg, 0%, 50%);
}
#profile-dialog .profile-top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 1rem;
  align-items: center;
}
#profile-dialog .profile-top div {
  display: grid;
}

dialog {
  border: 0;
}
dialog::backdrop {
  background-color: hsla(0deg, 0%, 0%, 0.8);
}

#tree-container {
  font-family: "Barlow", sans-serif;
}
#tree-container rect {
  fill: #00864d;
}
#tree-container g.link path {
  stroke: #f05624 !important;
}

.process-with-image-section {
  display: grid;
}
@media only screen and (min-width: 670px) {
  .process-with-image-section {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 670px) {
  .process-with-image-section .background-image {
    background: no-repeat center/cover;
    aspect-ratio: 1;
  }
}
@media only screen and (min-width: 670px) {
  .process-with-image-section .background-image {
    background: no-repeat left/cover;
    background-attachment: fixed;
  }
}
.process-with-image-section .process-list {
  border-left: 5px solid #f05624;
}
.process-with-image-section .process-list h3, .process-with-image-section .process-list form.woocommerce-checkout .col-1 h4, .process-with-image-section .process-list form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .process-with-image-section .process-list h4, form.woocommerce-checkout .checkout_coupon .process-with-image-section .process-list h4 {
  margin-bottom: 1rem;
}
.process-with-image-section .process-list h4 {
  display: inline-block;
  background-color: #f05624;
  color: hsl(50deg, 20%, 97%);
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  margin-left: -2rem;
  text-indent: 1rem;
}
.process-with-image-section .section-title {
  margin-bottom: 1rem;
}

.process-single {
  padding: 1.5rem 1rem;
}
@media only screen and (min-width: 670px) {
  .process-single {
    padding: 2rem 1rem;
  }
}

.section-2-cols .inline-wrap, .section-2-cols .post-archive .post-entry-list, .post-archive .section-2-cols .post-entry-list, .section-2-cols .post-single .entry-content, .post-single .section-2-cols .entry-content {
  display: grid;
}
@media only screen and (min-width: 670px) {
  .section-2-cols .inline-wrap, .section-2-cols .post-archive .post-entry-list, .post-archive .section-2-cols .post-entry-list, .section-2-cols .post-single .entry-content, .post-single .section-2-cols .entry-content {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
}

.card-list {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
  margin-block: 2rem;
}
.card-list li {
  padding: 1rem 1.2rem;
  border-radius: 0.75rem;
  background-color: #fff;
  line-height: 1;
  font-size: 1.5rem;
  color: #00391f;
  border: 1px solid #f05624;
}

.section-oem img {
  aspect-ratio: 4/3;
  align-self: center;
  object-fit: cover;
}

/* The fullpage container takes up full viewport height and scrolls internally */
#fullpage-wrapper {
  height: calc(100vh - 140px);
  /* Example: adjust if header/footer height total 140px */
  overflow-y: auto;
  scroll-behavior: smooth;
  /* width */
  /* Track */
  /* Handle */
  /* Handle on hover */
  /* Optional native smooth scrolling fallback */
  /* Each section is full-screen relative to the container */
}
#fullpage-wrapper::-webkit-scrollbar {
  width: 5px;
}
#fullpage-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
}
#fullpage-wrapper::-webkit-scrollbar-thumb {
  background: #f05624;
}
#fullpage-wrapper::-webkit-scrollbar-thumb:hover {
  background: #f05624;
}
#fullpage-wrapper .section {
  height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
}

.fullscreen-slides .section.intro {
  background-color: #00864d;
}
.fullscreen-slides .section.intro .section-title {
  width: min(600px, 100%);
  margin-inline: auto;
}
.fullscreen-slides .section.intro h2,
.fullscreen-slides .section.intro p {
  color: #fff;
  text-align: center;
}

.section-two-cols {
  background-color: hsl(50deg, 20%, 97%);
}
.section-two-cols .inline-wrap, .section-two-cols .post-archive .post-entry-list, .post-archive .section-two-cols .post-entry-list, .section-two-cols .post-single .entry-content, .post-single .section-two-cols .entry-content {
  width: min(1400px, 100%);
  display: grid;
  height: 100%;
}
@media only screen and (min-width: 670px) {
  .section-two-cols .inline-wrap, .section-two-cols .post-archive .post-entry-list, .post-archive .section-two-cols .post-entry-list, .section-two-cols .post-single .entry-content, .post-single .section-two-cols .entry-content {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}
.section-two-cols .inline-wrap > img, .section-two-cols .post-archive .post-entry-list > img, .post-archive .section-two-cols .post-entry-list > img, .section-two-cols .post-single .entry-content > img, .post-single .section-two-cols .entry-content > img {
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 670px) {
  .section-two-cols .inline-wrap > img, .section-two-cols .post-archive .post-entry-list > img, .post-archive .section-two-cols .post-entry-list > img, .section-two-cols .post-single .entry-content > img, .post-single .section-two-cols .entry-content > img {
    height: auto;
    aspect-ratio: 4/3;
  }
}
.section-two-cols .section-title {
  margin-bottom: 0;
  padding: 30px;
}

.wp-block-list li {
  font-size: 1.7rem;
}

figure.wp-block-gallery.logo-gallery {
  align-items: center;
  grid-template-columns: repeat(7, 1fr);
  display: grid;
}
figure.wp-block-gallery.logo-gallery > .wp-block-image {
  margin-bottom: 0 !important;
  padding: 1rem;
  width: 100%;
}

.home-main-feature {
  position: relative;
  background: no-repeat center/cover;
  background-attachment: fixed;
  display: block;
  padding-top: 90vh;
  padding-bottom: 30vh;
  z-index: -10;
}
.home-main-feature .image-container {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -10;
}
.home-main-feature .image-container img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: fixed;
  object-fit:cover;
}
.home-main-feature .image-container img:not(:nth-child(1)) {
  opacity: 0;
}
.home-main-feature article {
  position: relative;
  padding: 3rem 6rem;
  width: min(90%, 800px);
  color: hsl(23deg, 60%, 97%);
}
.home-main-feature article h2 {
  color: hsl(23deg, 60%, 97%);
}
.home-main-feature .article-1 {
  background-color: #00864d;
  transform: translateY(-100%);
}
.home-main-feature .article-2 {
  background-color: #0f5132;
  margin-left: auto;
}

.org-chart ul {
  position: relative;
  display: flex;
  margin-top: 4rem;
  justify-content: center;
}
.org-chart li {
  position: relative;
  flex: 1 1 100%;
}
.org-chart li:before {
  content: "";
  position: absolute;
  width: 4px;
  height: 2rem;
  top: -2rem;
  left: calc(50% - 2px);
  background-color: #00864d;
}

.org-chart__item {
  position: relative;
  text-align: center;
  font-weight: 700;
  font-size: 1.7rem;
  color: hsl(23deg, 60%, 97%);
  padding: 1rem;
  border-radius: 1rem;
  background-color: #0f5132;
  width: calc(100% - 2rem);
  left: 1rem;
}
.org-chart__item:hover {
  background-color: #f05624;
}
.org-chart__item:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 2rem;
  bottom: -2rem;
  left: calc(50% - 2px);
  background-color: #00864d;
}
.org-chart__item + ul > li:after {
  content: "";
  position: absolute;
  display: block;
  top: -2rem;
  left: 0;
  height: 4px;
  width: 100%;
  background-color: #00864d;
}
.org-chart__item + ul > li:only-child:after {
  content: none;
}
.org-chart__item + ul > li:first-child:after {
  width: 50%;
  left: 50%;
}
.org-chart__item + ul > li:last-child:after {
  width: 50%;
}

.org-chart > li:before {
  content: none;
}
.org-chart .icon-text {
  display: grid;
  text-align: center;
  font-size: 1.7rem;
  padding: 1rem;
  background-color: hsl(0deg, 0%, 95%);
  border-radius: 1rem;
  line-height: 1;
  width: 130px;
  margin-inline: auto;
}
.org-chart .icon-text:hover {
  background-color: hsl(23deg, 60%, 97%);
  outline: 1px solid #f05624;
}
.org-chart .icon-text:hover i {
  color: #f05624;
}
.org-chart .icon-text i {
  font-size: 2.55rem;
  margin-bottom: 0.5rem;
  color: #00864d;
}
.org-chart .icon-text small {
  font-size: 1.5rem;
  color: hsl(0deg, 0%, 50%);
}

/*
 * Edited 20190727
 */
/*
* TABLE OF CONTENTS
* ----------- *
* - Woocommerce Variables
* - Woocommerce Global Styles
* - Add to Cart Button
* - Breadcrumb
* - Sale Label
* - Message box
* - Pagination
*/
/* Woocommerce Variables */
form label, .addresses address p:before,
.woocommerce-customer-details address p:before, .addresses address:before,
.woocommerce-customer-details address:before, .woocommerce-order-overview .deliveryDetails > span, .variation .wc-item-meta-label,
.variation dt,
.wc-item-meta .wc-item-meta-label,
.wc-item-meta dt, div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price:before {
  display: block;
  clip: unset;
  width: auto;
  height: auto;
  text-transform: none;
  font-size: 14px;
  cursor: pointer;
  color: hsl(0deg, 0%, 50%);
  font-weight: 700;
}

div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price:before {
  font-weight: 700;
  font-size: 1.7rem;
  color: #666;
}

/* Archive Page Main Layout
 ============================================= */
.archive.woocommerce .site-container {
  background-color: hsl(50deg, 20%, 97%);
}
.archive.woocommerce .content {
  width: min(1400px, 90%);
  margin-inline: auto;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-top: 0;
}
.archive.woocommerce aside.widget-area {
  align-self: stretch;
}
@media only screen and (max-width: 670px) {
  .archive.woocommerce aside.widget-area {
    position: fixed;
    display: none;
    width: 100%;
    margin-right: 0;
    border-right: 0;
    z-index: 10000;
    background: #fff;
    height: 100vh;
    top: 0;
    left: 0;
    padding: 100px 50px;
  }
}

/* Shop Banner
--------------------------------------------- */
.shop-banner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background: #0f5132;
}
.shop-banner:before {
  content: none;
}
.shop-banner:after {
  content: "";
  z-index: 2;
  position: absolute;
  aspect-ratio: 1;
  display: block;
  right: max(0%, (100vw - 1400px) / 2);
  background: url("https://demo.co-enterprise.com.sg/gourmet-supplies-v3/static/hexagon.svg") no-repeat center/cover;
  transform: scale(2);
  opacity: 0.5;
  width: 300px;
  top: calc(50% - 150px);
  z-index: -1;
}
.shop-banner img {
  z-index: 1;
}

/* Shop Archive Top Bar
--------------------------------------------- */
.archive-topbar {
  border-bottom: 2px solid #f1f1f1;
  padding-bottom: 30px;
  margin-bottom: 30px;
  position: relative;
  width: 100%;
  padding: 20px 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

.woocommerce-result-count {
  margin-bottom: 0;
  color: hsl(0deg, 0%, 60%);
  font-size: 1.3rem;
}

.woocommerce-ordering {
  width: 100%;
}
@media only screen and (max-width: 670px) {
  .woocommerce-ordering {
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 960px) {
  .woocommerce-ordering {
    width: 250px;
  }
}

/* Shop Archive Widget Area
--------------------------------------------- */
.woocommerce aside.widget-area {
  border-right: 2px solid #f1f1f1;
  padding-right: 15px;
  margin-right: 15px;
  margin-bottom: 30px;
  width: 150px;
}
@media only screen and (min-width: 960px) {
  .woocommerce aside.widget-area {
    border-right: 2px solid #f1f1f1;
    padding-right: 30px;
    margin-right: 30px;
    width: 250px;
  }
}
.woocommerce aside.widget-area .widget {
  border-bottom: 2px solid #f1f1f1;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

/* Sidebar Toggle */
#sidebar-toggle {
  width: 100%;
}
@media only screen and (min-width: 670px) {
  #sidebar-toggle {
    display: none;
  }
}

#sidebar-toggle-close {
  width: 40px;
  height: 40px;
  background-color: #f1f1f1;
  border-radius: 50%;
  font-size: 25px;
  color: #003a21;
  position: absolute;
  top: 5vw;
  right: 5vw;
}
#sidebar-toggle-close:hover,
#sidebar-toggle-close a:hover {
  text-decoration: none;
}

/* Specifically for product category */
.menu-shop-menu-container,
.widget_product_categories {
  font-size: 1.5rem;
}
.menu-shop-menu-container a,
.widget_product_categories a {
  color: hsl(0deg, 0%, 60%);
  display: block;
  padding: 0.2em 0;
}
.menu-shop-menu-container a:hover,
.widget_product_categories a:hover {
  color: hsl(0deg, 0%, 40%);
  padding-left: 0.4em;
  text-decoration: none;
}

/* Products
--------------------------------------------- */
/* Structure of products to differentiate it from related products */
.archive.woocommerce .products {
  display: grid;
  gap: 3rem;
}
@media only screen and (min-width: 670px) {
  .archive.woocommerce .products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 960px) {
  .archive.woocommerce .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

ul.products {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  flex: 1 1 0;
  margin-bottom: 30px;
}
@media only screen and (min-width: 960px) {
  ul.products {
    justify-content: flex-start;
  }
}

/* Product List */
li.type-product {
  position: relative;
  display: grid;
  gap: 2rem;
  grid-template-columns: 2fr 5fr;
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #fff;
}
@media only screen and (min-width: 960px) {
  li.type-product:hover {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
  }
}
li.type-product a {
  width: 100%;
  text-decoration: none;
}
li.type-product .attachment-woocommerce_thumbnail {
  object-fit: contain;
  width: 100%;
  aspect-ratio: 1;
}
@media only screen and (min-width: 960px) {
  li.type-product .attachment-woocommerce_thumbnail {
    transition: all 0.2s ease-in-out;
    margin-inline: auto;
  }
}
li.type-product .woocommerce-loop-product__title {
  font-size: 2rem;
  margin-bottom: 1rem;
}
li.type-product .price {
  font-size: 1.5rem;
  font-weight: 400;
  color: #999;
  /* For sale item */
}
li.type-product .price ins {
  font-weight: 700;
  color: #00864d;
  text-decoration: none;
}
li.type-product p:last-child {
  margin-bottom: 0;
}
li.type-product p {
  line-height: 1;
}

li.product-category {
  position: relative;
  border-radius: 1rem;
  background-color: #fff;
}
@media only screen and (min-width: 960px) {
  li.product-category:hover {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
  }
}
li.product-category a {
  width: 100%;
  text-decoration: none;
  display: grid;
  align-items: center;
  gap: 2rem;
  grid-template-columns: 2fr 4fr;
  padding: 1.5rem;
}
li.product-category img {
  object-fit: contain;
  width: 100%;
  aspect-ratio: 1;
}
@media only screen and (min-width: 960px) {
  li.product-category img {
    transition: all 0.2s ease-in-out;
    margin-inline: auto;
  }
}
li.product-category .woocommerce-loop-category__title {
  font-size: 2.3rem;
  margin-bottom: 1rem;
  margin-bottom: 0;
}
li.product-category p:last-child {
  margin-bottom: 0;
}
li.product-category p {
  line-height: 1;
}

/* Added to cart button */
.post-type-archive-product .shop-banner h1,
.post-type-archive-product .shop-banner p,
.post-type-archive-product .shop-banner a,
.post-type-archive-product .shop-banner .woocommerce-breadcrumb,
.shop-banner-with-color h1,
.shop-banner-with-color p,
.shop-banner-with-color a,
.shop-banner-with-color .woocommerce-breadcrumb {
  color: hsl(23deg, 60%, 97%);
}

/* Single Product Layout */
.single-product .product-primary-information {
  background-color: hsl(0deg, 0%, 97%);
  padding: 0 2.5%;
}
@media only screen and (min-width: 670px) {
  .single-product .product-primary-information {
    padding: 0 5%;
  }
}

/* Simple AND Variable Product */
div.product {
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  /* Common Product Description / Summary */
}
div.product .summary {
  position: relative;
}
div.product .summary > * {
  margin-bottom: 15px;
}
div.product .summary > *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 670px) {
  div.product .summary {
    flex: 1 1 0;
  }
}
div.product .product_title {
  font-size: 3rem;
}
div.product .price {
  font-size: 2rem;
  font-weight: 700;
}
div.product .woocommerce-product-details__short-description {
  padding: 20px 10px;
  background-color: hsl(0deg, 0%, 100%);
  border-radius: 5px;
  border: 1px solid hsl(0deg, 0%, 90%);
}
@media only screen and (min-width: 670px) {
  div.product .woocommerce-product-details__short-description {
    padding: 20px;
  }
}
div.product .woocommerce-product-details__short-description > *:last-child {
  margin-bottom: 0;
}

/* Common Product Page Gallery */
.woocommerce-product-gallery img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
}
.woocommerce-product-gallery div.thumbnails {
  padding-top: 1em;
}
.woocommerce-product-gallery.woocommerce-product-gallery {
  position: relative;
  margin-bottom: 40px;
  display: flex;
  flex-flow: row wrap;
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery.woocommerce-product-gallery {
    flex: 1 1 0;
    margin-right: 50px;
    flex-flow: row-reverse nowrap;
    max-width: 42vw;
  }
}
.woocommerce-product-gallery.woocommerce-product-gallery .woocommerce-product-gallery__image {
  background-color: transparent;
}
.woocommerce-product-gallery.woocommerce-product-gallery .woocommerce-product-gallery__image a > img {
  height: 400px;
  object-fit: contain;
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery.woocommerce-product-gallery .woocommerce-product-gallery__image a > img {
    height: 500px;
  }
}
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
  margin: 0;
  padding: 0;
}
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper .zoomImg {
  background-color: #fff;
  opacity: 0;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder {
  border: 1px solid #f2f2f2;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n+2) {
  width: 25%;
  display: inline-block;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  font-size: 2em;
  z-index: 9;
  width: 36px;
  height: 36px;
  background: #fff;
  text-indent: -9999px;
  border-radius: 100%;
  box-sizing: content-box;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border: 2px solid #000;
  border-radius: 100%;
  position: absolute;
  top: 9px;
  left: 9px;
  box-sizing: content-box;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::after {
  content: "";
  display: block;
  width: 2px;
  height: 8px;
  background: #000;
  border-radius: 6px;
  position: absolute;
  top: 19px;
  left: 22px;
  transform: rotate(-45deg);
  box-sizing: content-box;
}
.woocommerce-product-gallery .flex-control-thumbs {
  zoom: 1;
  margin: 0;
  padding: 0;
  align-self: flex-start;
  margin-top: 30px;
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery .flex-control-thumbs {
    width: 80px;
    max-width: 80px;
    min-width: 80px;
  }
}
.woocommerce-product-gallery .flex-control-thumbs li {
  padding: 0 10px 10px;
  float: left;
  margin: 0;
  list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
  cursor: pointer;
  opacity: 0.5;
  margin: 0;
  width: 40px;
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 80px;
  }
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
  opacity: 1;
}
.woocommerce-product-gallery .flex-control-thumbs .slick-list {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery .flex-control-thumbs .slick-list {
    flex-direction: column;
  }
}
.woocommerce-product-gallery .flex-control-thumbs .slick-current img {
  opacity: 1;
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery .flex-control-thumbs .slick-current img {
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #ccc;
  }
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery .flex-control-thumbs .slick-next {
    transform: rotate(90deg) translateY(50%);
    top: auto;
    bottom: -30px;
    left: 50%;
  }
}
@media only screen and (min-width: 670px) {
  .woocommerce-product-gallery .flex-control-thumbs .slick-prev {
    transform: rotate(90deg) translateY(50%);
    top: -30px;
    left: 50%;
  }
}

/* Variable Product */
div.product-type-variable {
  /* For variations */
  /* After variation select */
}
div.product-type-variable table.variations {
  table-layout: fixed;
  margin-bottom: 10px;
}
div.product-type-variable table.variations tbody {
  vertical-align: top;
  border: 0;
}
div.product-type-variable table.variations td {
  border: 0;
}
div.product-type-variable table.variations .label {
  width: 120px;
}
div.product-type-variable table.variations .value {
  width: auto;
}
div.product-type-variable table.variations .value select {
  width: 100%;
}
div.product-type-variable table.variations .value .reset_variations {
  display: none !important;
}
div.product-type-variable .single_variation_wrap > * {
  margin-bottom: 15px;
}
div.product-type-variable .single_variation_wrap .single_variation {
  padding: 20px 10px;
  background-color: hsl(0deg, 0%, 100%);
  border-radius: 5px;
  border: 1px solid hsl(0deg, 0%, 90%);
}
@media only screen and (min-width: 670px) {
  div.product-type-variable .single_variation_wrap .single_variation {
    padding: 20px;
  }
}
div.product-type-variable .single_variation_wrap .woocommerce-variation-price {
  border-top: 1px solid #f1f1f1;
  padding-top: 20px;
  margin-top: 20px;
}
div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price:before {
  content: "Price";
  display: inline-block;
  width: 120px;
  margin-right: 6px;
}
div.product-type-variable .single_variation_wrap .woocommerce-variation-price .price del {
  font-size: 1.3rem;
  opacity: 0.6;
  margin-right: 3px;
}

/* Quantity and Add to cart module */
div.product-type-variable .woocommerce-variation-add-to-cart, div.product-type-simple form.cart {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  padding: 15px 0;
}
div.product-type-variable .woocommerce-variation-add-to-cart input.qty, div.product-type-simple form.cart input.qty {
  height: 100%;
  width: 40px;
}
div.product-type-variable .woocommerce-variation-add-to-cart .quantity, div.product-type-simple form.cart .quantity {
  position: relative;
  z-index: 2;
  display: flex;
  flex-flow: row nowrap;
  flex: 0 0 40px;
}
div.product-type-variable .woocommerce-variation-add-to-cart .quantity input, div.product-type-simple form.cart .quantity input {
  border: 0;
  border-top: 1px solid hsl(0deg, 0%, 80%);
  border-bottom: 1px solid hsl(0deg, 0%, 80%);
  text-align: center;
  border-radius: 0;
  z-index: 1;
  /* Hide HTML5 Up and Down arrows. */
}
div.product-type-variable .woocommerce-variation-add-to-cart .quantity input[type=number]::-webkit-outer-spin-button, div.product-type-simple form.cart .quantity input[type=number]::-webkit-outer-spin-button, div.product-type-variable .woocommerce-variation-add-to-cart .quantity input[type=number]::-webkit-inner-spin-button, div.product-type-simple form.cart .quantity input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
div.product-type-variable .woocommerce-variation-add-to-cart .quantity input[type=number], div.product-type-simple form.cart .quantity input[type=number] {
  -moz-appearance: textfield;
}
div.product-type-variable .woocommerce-variation-add-to-cart .minus, div.product-type-simple form.cart .minus,
div.product-type-variable .woocommerce-variation-add-to-cart .plus,
div.product-type-simple form.cart .plus {
  font-size: 20px;
  width: 40px;
  height: 40px;
  padding: 0;
  font-weight: 700;
  border: 1px solid hsl(0deg, 0%, 80%);
}
div.product-type-variable .woocommerce-variation-add-to-cart .minus, div.product-type-simple form.cart .minus {
  border-radius: 4px 0 0 4px;
}
div.product-type-variable .woocommerce-variation-add-to-cart .plus, div.product-type-simple form.cart .plus {
  border-radius: 0 4px 4px 0;
}
div.product-type-variable .woocommerce-variation-add-to-cart .button.single_add_to_cart_button, div.product-type-simple form.cart .button.single_add_to_cart_button {
  flex: 1 1 0;
  margin-left: 15px;
}

/* Woocommerce Tabs */
.woocommerce .woocommerce-tabs {
  width: 100%;
}

/* Related Products */
.related.products {
  position: relative;
  width: 100%;
  padding: 50px 2.5%;
}
@media only screen and (min-width: 670px) {
  .related.products {
    padding: 50px 5%;
  }
}
.related.products > h2 {
  position: relative;
  text-align: center;
  font-size: 2.8rem;
}
.related.products .products {
  display: flex;
  flex-flow: row wrap;
}
.related.products .products > * {
  width: calc(
        (100% - (20px / 2 * (2 - 1))) / 2
      );
  margin-right: 10px;
}
@media only screen and (max-width: 670px) {
  .related.products .products > * {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 670px) {
  .related.products .products > *:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 670px) {
  .related.products .products > * {
    width: calc((100% - (20px * (4 - 1))) / 4);
    margin-right: 20px;
  }
  .related.products .products > *:nth-child(4n) {
    margin-right: 0;
  }
}

/* Single product add to any plugin */
.summary .addtoany_header {
  width: 100%;
}
@media only screen and (max-width: 670px) {
  .summary .addtoany_header {
    text-align: center;
  }
}
@media only screen and (min-width: 670px) {
  .summary .addtoany_header {
    float: left;
    line-height: 30px;
    width: 120px;
  }
}
.summary .a2a_kit {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 670px) {
  .summary .a2a_kit {
    width: 100%;
    margin-top: -10px;
    padding-bottom: 30px;
    justify-content: center;
  }
}
@media only screen and (min-width: 670px) {
  .summary .a2a_kit {
    left: 10px;
  }
}

/* Woo Cart
 ============================================= */
/* Structure */
.woocommerce-cart .woocommerce {
  padding: 50px 3vw 80px;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
}
@media only screen and (min-width: 960px) {
  .woocommerce-cart .woocommerce {
    padding: 50px 5% 80px;
  }
}

.woocommerce-cart .woocommerce-cart-form {
  flex: 1 1 100%;
}
@media only screen and (min-width: 960px) {
  .woocommerce-cart .woocommerce-cart-form {
    margin-right: 5vw;
    flex: 2 1 0;
  }
}
.woocommerce-cart .cart-collaterals {
  flex: 1 1 100%;
}
@media only screen and (min-width: 960px) {
  .woocommerce-cart .cart-collaterals {
    flex: 1 1 0;
  }
}

/* General Table */
.shop_table {
  background-color: #fff;
  font-size: 1.5rem;
  table-layout: fixed;
  overflow: hidden;
}
.shop_table p {
  margin: 0;
}
.shop_table thead {
  color: hsl(0deg, 0%, 60%);
  font-size: 1.3rem;
  text-transform: uppercase;
  border-bottom: 5px solid #eee;
}
.shop_table th {
  padding: 8px 10px;
  font-weight: 700;
  border-top: 1px solid #eee;
}
.shop_table td {
  padding: 15px 10px;
}
@media only screen and (min-width: 960px) {
  .shop_table td {
    padding: 25px 15px;
  }
}
.shop_table td:before {
  text-transform: uppercase;
  font-size: 1.3rem;
  color: #999;
}
.shop_table td.product-name {
  font-weight: 700;
  color: #005330;
  font-size: 1.5rem;
  width: auto;
  line-height: 2.2rem;
}
.shop_table td.product-name a {
  color: hsl(0deg, 0%, 30%);
  font-weight: 700;
}
.shop_table td.product-name p {
  color: hsl(0deg, 0%, 60%);
  font-size: 1.3rem;
  margin-bottom: 15px;
  font-weight: 400;
}
.shop_table td.product-name p:last-child {
  margin-bottom: 0;
}
.shop_table .product-quantity {
  width: 100%;
}
@media only screen and (min-width: 670px) {
  .shop_table .product-quantity {
    width: 100px;
  }
}
.shop_table .product-quantity input {
  width: 50px;
  text-align: center;
}
@media only screen and (min-width: 670px) {
  .shop_table .product-quantity input {
    width: 80%;
    text-align: left;
  }
}
@media only screen and (min-width: 670px) {
  .shop_table .product-price {
    width: 100px;
  }
  .shop_table .product-subtotal {
    width: 100px;
  }
}

/* Cart Table */
table.cart {
  /* Mobile Table */
}
table.cart .product-remove {
  font-weight: 700;
  padding: 10px;
}
@media only screen and (min-width: 670px) {
  table.cart .product-remove {
    width: 30px;
  }
}
table.cart .product-remove a {
  width: 26px;
  height: 26px;
  background-color: #9e1c25;
  border-radius: 50%;
  font-size: 0;
  color: #fff;
  margin: 0 0 0 auto;
  font-size: 0;
}
table.cart .product-remove a:hover,
table.cart .product-remove a a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 960px) {
  table.cart .product-remove a {
    width: 20px;
    height: 20px;
    opacity: 0.6;
  }
  table.cart .product-remove a:hover {
    opacity: 1;
    text-decoration: none;
  }
}
table.cart .product-remove a:after {
  content: "\ea0a";
  font-size: 14px;
  font-weight: 700;
}
@media only screen and (min-width: 670px) {
  table.cart .product-thumbnail {
    width: 100px;
    text-align: center;
  }
  table.cart .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    padding: 5px;
  }
}
table.cart .actions {
  padding: 20px;
  border-top: 3px solid #eee;
  *zoom: 1;
}
table.cart .actions::after, table.cart .actions::before {
  content: " ";
  display: table;
}
table.cart .actions::after {
  clear: both;
}
table.cart .actions .button {
  margin: 0;
  font-size: 1.4rem;
}
table.cart .actions .coupon {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  float: left;
}
table.cart .actions .coupon label[for=coupon_code] {
  display: none;
}
table.cart .actions button[name=update_cart] {
  float: right;
}
table.cart .actions #coupon_code {
  width: 50%;
}
@media only screen and (min-width: 960px) {
  table.cart .actions #coupon_code {
    width: auto;
  }
}
@media only screen and (max-width: 670px) {
  table.cart tbody tr.cart_item {
    border: 1px solid #eee;
    margin-bottom: 20px;
    border-radius: 10px;
  }
  table.cart tbody tr.cart_item td {
    border-color: #f5f5f5;
  }
}

/* Variation text within table */
.variation,
.wc-item-meta {
  margin: 0;
}
.variation .wc-item-meta-label,
.variation dt,
.wc-item-meta .wc-item-meta-label,
.wc-item-meta dt {
  margin-top: 10px;
}
.variation dd,
.wc-item-meta dd {
  margin: 0;
}

/* Cart Totals Table */
.cart_totals {
  background-color: #f7f7f7;
  padding: 5px 20px 20px;
}
.cart_totals .shop_table {
  background-color: transparent;
  border-radius: 0;
  box-shadow: 0 0 0 0 transparent;
  margin-bottom: 10px;
}
@media only screen and (min-width: 670px) {
  .cart_totals .woocommerce-shipping-totals {
    width: 200%;
  }
}
.cart_totals > h2 {
  display: none;
}
.cart_totals tr:first-child > * {
  border-top: 0;
}
.cart_totals td,
.cart_totals th {
  padding: 12px 0;
}
.cart_totals th {
  width: auto;
  border-top: 1px solid #eee;
  color: #666;
}
.cart_totals td {
  text-align: right;
}
.cart_totals .woocommerce-shipping-destination {
  line-height: 20px;
  font-size: 1.3rem;
  margin: 10px 0;
  opacity: 0.8;
}
.cart_totals .woocommerce-shipping-destination strong {
  display: block;
}
.cart_totals .checkout-button i {
  font-size: 1.5rem;
}

#shipping_method {
  font: 700 1.5rem "Barlow", sans-serif;
}
#shipping_method input[type=hidden] + label, #shipping_method input[type=radio]:checked + label {
  border-radius: 7px;
  border: 2px solid black;
}
#shipping_method input[type=radio] {
  display: none;
}
#shipping_method input[type=hidden] {
  display: none;
}
#shipping_method label {
  width: 100%;
  text-transform: capitalize;
}

.cart-empty {
  width: 100%;
  text-align: center;
}

.return-to-shop {
  width: 100%;
  text-align: center;
}

.woocommerce-checkout:not(.woocommerce-order-received) .entry,
.woocommerce-checkout:not(.woocommerce-order-received) .entry-content {
  padding: 0;
}
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {
  padding: 0 5% 50px;
  max-width: none;
}
@media only screen and (min-width: 960px) {
  .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {
    padding: 0 5% 50px;
  }
}
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-form-login-toggle {
  flex: 1 1 100%;
}
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h3, .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.woocommerce-checkout .col-1 h4, .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce form.woocommerce-checkout .checkout_coupon h4, form.woocommerce-checkout .col-1 .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h4, form.woocommerce-checkout .checkout_coupon .woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h4 {
  margin-bottom: 20px;
}
.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address span {
  font-size: 1.7rem;
  font-weight: 400;
}

form.woocommerce-checkout .col2-set {
  display: flex;
  flex-flow: row wrap;
}
form.woocommerce-checkout .col2-set > * {
  width: 100%;
  margin-bottom: 30px 2;
}
@media only screen and (min-width: 670px) {
  form.woocommerce-checkout .col2-set > * {
    width: calc((100% - (30px 2 * (2 - 1))) / 2);
    margin-right: 30px 2;
  }
  form.woocommerce-checkout .col2-set > *:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 670px) {
  form.woocommerce-checkout .col2-set > *:nth-child(1) {
    flex: 3 1 0;
  }
  form.woocommerce-checkout .col2-set > *:nth-child(2) {
    flex: 2 1 0;
  }
}
form.woocommerce-checkout .col-1, form.woocommerce-checkout .checkout_coupon {
  margin-bottom: 50px;
}
form.woocommerce-checkout .col-1 > *, form.woocommerce-checkout .checkout_coupon > * {
  margin-bottom: 25px;
}
form.woocommerce-checkout .col-1 > *:last-child, form.woocommerce-checkout .checkout_coupon > *:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 670px) {
  form.woocommerce-checkout .col-1, form.woocommerce-checkout .checkout_coupon {
    padding: 0;
  }
}
form.woocommerce-checkout .col-1 h4, form.woocommerce-checkout .checkout_coupon h4 {
  border-top: 1px solid hsl(0deg, 0%, 90%);
  padding-top: 50px;
  margin-top: 50px;
}
form.woocommerce-checkout .col-2 {
  padding: 30px 10px;
  align-self: flex-start;
}
@media only screen and (min-width: 960px) {
  form.woocommerce-checkout .col-2 {
    padding: 0;
  }
}

@media only screen and (min-width: 960px) {
  #order-review-wrapper {
    border-left: 1px solid hsl(0deg, 0%, 95%);
    padding-left: 50px;
    margin-left: 50px;
    max-width: 400px;
  }
}

/* Ship to a different address */
.woocommerce-form__label-for-checkbox span {
  font-size: 1.7rem;
  font-weight: 700;
  font-family: "Barlow", sans-serif;
  letter-spacing: 0;
}

/* Select shipping method
--------------------------------------------- */
.checkout-select-shipping-method {
  border-top: 1px solid hsl(0deg, 0%, 85%);
  padding-top: 60px;
  margin-top: 60px;
}

/* Payment method
--------------------------------------------- */
.woocommerce-checkout-review-order h4 {
  font-weight: 700;
}

/* Checkout Page Order Summary Table
--------------------------------------------- */
.shop_table.woocommerce-checkout-review-order-table .product-total,
.shop_table.woocommerce-checkout-review-order-table tfoot td {
  width: 80px;
  text-align: right;
  vertical-align: top;
}
.shop_table.woocommerce-checkout-review-order-table thead {
  display: none;
}
.shop_table.woocommerce-checkout-review-order-table th {
  padding: 8px 0;
}
.shop_table.woocommerce-checkout-review-order-table td {
  font-size: 13px;
  line-height: 1.3;
  padding: 13px 0;
}
.shop_table.woocommerce-checkout-review-order-table .variation {
  overflow: hidden;
  max-height: 0;
}
.shop_table.woocommerce-checkout-review-order-table .variation p {
  font-size: 12px;
}
.shop_table.woocommerce-checkout-review-order-table .variation--active {
  max-height: 500px;
}
.shop_table.woocommerce-checkout-review-order-table .order-total {
  border-bottom: 4px double hsl(0deg, 0%, 75%);
}
.shop_table.woocommerce-checkout-review-order-table .product-name {
  cursor: pointer;
}
.shop_table.woocommerce-checkout-review-order-table .product-name:hover {
  color: #000704;
}

/* Payment Section
--------------------------------------------- */
#payment {
  /* To select saved payment methods */
}
#payment .wc-saved-payment-methods {
  margin: 15px 0;
}
#payment .wc-saved-payment-methods label {
  padding: 0.5rem 1rem;
}
#payment .wc-saved-payment-methods label:hover {
  background-color: #e6e6e6;
}

input[id^=payment_method] {
  display: none;
}
input[id^=payment_method]:checked + label {
  background-color: #005330;
  color: #fff;
  border-radius: 7px 7px 0 0;
  border: 0;
}

.wc_payment_methods {
  margin-bottom: 25px;
}

.wc_payment_method {
  margin-bottom: 15px;
}
.wc_payment_method > label {
  cursor: pointer;
  width: 100%;
  text-align: left;
  border: 1px solid hsl(0deg, 0%, 80%);
  border-radius: 7px;
  text-transform: none;
  font-size: 1.6rem;
}
.wc_payment_method > label:hover {
  border: 1px solid hsl(0deg, 0%, 70%);
}
.wc_payment_method > label img {
  float: right;
}

.payment_box {
  border: 1px solid hsl(0deg, 0%, 88%);
  border-top: 0;
  border-radius: 0 0 7px 7px;
  padding: 20px;
  background-color: hsl(0deg, 0%, 98%);
  /* Error inside payment */
}
@media only screen and (min-width: 960px) {
  .payment_box {
    padding: 30px 30px 20px;
  }
}
.payment_box .wc-payment-form {
  border: 0;
  padding: 0;
}
.payment_box .wc-payment-form .form-row {
  margin-bottom: 10px;
}
.payment_box .woocommerce_error {
  font-weight: 700;
  padding: 0.5rem 1rem;
  text-align: center;
}

/* For Stripe only
--------------------------------------------- */
#stripe-payment-data p {
  font-size: 1.4rem;
  line-height: 1.5;
}

label[for=payment_method_stripe] img {
  display: none;
}

/* After payment box
--------------------------------------------- */
.place-order .woocommerce-terms-and-conditions-checkbox-text {
  display: inline-flex;
}
.place-order .woocommerce-terms-and-conditions-checkbox-text a {
  margin-left: 3px;
}
.place-order p {
  font-size: 1.5rem;
  color: #666;
}

#place_order {
  width: 100%;
}

/* Errors
--------------------------------------------- */
/* Order Delivery Date Only */
#orddd_time_slot_field .select2-selection,
#orddd_time_slot_field .select2-selection__arrow {
  height: 40px;
}
#orddd_time_slot_field .select2-selection__rendered {
  line-height: 38px;
}

#payment .payment_methods > li > label img {
  display: none;
}

/* Checkout coupon */
.checkout_coupon {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}
.checkout_coupon button {
  width: 100%;
}
.checkout_coupon .form-row {
  margin-left: 0;
  margin-right: 0;
}

#order_review_heading {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
}

.woocommerce-checkout .woocommerce-form-login .form-row {
  width: 100%;
}

/* 1 item to review
 ============================================= */
.woocommerce-order-received .entry-title {
  font-size: 4rem;
}
.woocommerce-order-received .woocommerce-order {
  padding: 50px 5%;
  background-color: hsl(0deg, 0%, 97%);
}
.woocommerce-order-received .woocommerce-order > * {
  margin-bottom: 40px;
}
.woocommerce-order-received .woocommerce-order > *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 960px) {
  .woocommerce-order-received .woocommerce-order {
    padding: 50px 10%;
  }
}
.woocommerce-order-received .woocommerce-order-details__title {
  font-size: 2rem;
}
@media only screen and (max-width: 670px) {
  .woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-order-details {
    padding: 0;
  }
}

/* Overview bar */
.woocommerce-order-overview {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  background-color: #fff;
  position: relative;
  margin: 0 auto;
  border-top: 3px solid #00864d;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
  /* REVIEW THIS */
}
.woocommerce-order-overview > * {
  flex: 1 1 100%;
  position: relative;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.3rem;
  padding: 10px 20px;
  border-right: 1px dotted #ddd;
  color: #888;
}
@media only screen and (min-width: 960px) {
  .woocommerce-order-overview > * {
    flex: 1 1 0;
  }
}
.woocommerce-order-overview > *:last-child {
  border-right: 0;
}
.woocommerce-order-overview > * strong {
  position: relative;
  text-transform: none;
  display: block;
  font-weight: 700;
  font-size: 1.7rem;
  color: #00160d;
  line-height: 20px;
}
.woocommerce-order-overview .deliveryDetails {
  flex: 1 1 100%;
  background-color: #005330;
  margin: 0;
  color: #fff;
  font-size: 1.7rem;
  text-transform: capitalize;
}
@media only screen and (min-width: 960px) {
  .woocommerce-order-overview .deliveryDetails {
    text-align: center;
    flex: 1 1 50%;
  }
}
.woocommerce-order-overview .deliveryDetails > span {
  color: #fff;
}

.woocommerce-thankyou-order-received {
  text-align: center;
}

.woocommerce-table--order-details .product-total,
.woocommerce-table--order-details tfoot td {
  width: 20%;
  text-align: right;
  vertical-align: top;
}

.woocommerce-order-pay .entry-content {
  background-color: hsl(0deg, 0%, 97%);
}
.woocommerce-order-pay .product-quantity {
  width: auto;
}

/* Woocommerce Account Page
 ============================================= */
/* Main Structure */
.woocommerce-MyAccount-content {
  padding: 35px 17.5px;
  background-color: hsl(0deg, 0%, 100%);
  border-radius: 10px;
  border: 1px solid #ddd;
}
@media only screen and (min-width: 670px) {
  .woocommerce-MyAccount-content {
    padding: 35px;
  }
}

/* general woocommerce account style. For my account, logged in, and lost password */
.woocommerce-account {
  /* Woocommerce account logged in specific style*/
}
.woocommerce-account .entry-content {
  position: relative;
  background-color: hsl(0deg, 0%, 97%);
  padding: 30px 5%;
}
@media only screen and (min-width: 960px) {
  .woocommerce-account .entry-content {
    max-width: none;
    width: 100%;
    padding: 30px 10%;
  }
}
.woocommerce-account.logged-in .woocommerce {
  align-items: flex-start;
}
@media only screen and (min-width: 670px) {
  .woocommerce-account.logged-in .woocommerce > *:nth-child(1) {
    flex: 1 1 0;
  }
  .woocommerce-account.logged-in .woocommerce > *:nth-child(2) {
    flex: 3 1 0;
  }
}

/* My Account Navigation */
.woocommerce-MyAccount-navigation {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #ddd;
  padding: 15px 0;
}

.woocommerce-MyAccount-navigation-link {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.woocommerce-MyAccount-navigation-link.is-active a {
  font-weight: 700;
  color: #005330;
}
.woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 0 12px;
  color: #888;
  font-size: 1.6rem;
  font-weight: 400;
}
.woocommerce-MyAccount-navigation-link a:hover {
  text-decoration: none;
  padding-left: 18px;
  color: #555;
}

/* Content */
.woocommerce-MyAccount-content {
  display: flex;
  flex-flow: column nowrap;
  margin: 0 auto;
}
.woocommerce-MyAccount-content em {
  opacity: 0.8;
  font-size: 1.5rem;
}
.woocommerce-MyAccount-content mark {
  position: relative;
  display: inline-block;
  border-radius: 5px;
  margin-bottom: 5px;
  background-color: hsl(0deg, 0%, 95%);
  font-weight: 700;
  font-size: 12px;
  padding: 3px 8px;
  color: hsl(0deg, 0%, 20%);
}
.woocommerce-MyAccount-content mark:hover {
  background-color: #d9d9d9;
}
.woocommerce-MyAccount-content fieldset {
  background-color: hsl(0deg, 0%, 99%);
  border: 1px solid hsl(0deg, 0%, 90%);
  padding: 10px 30px;
  margin: 20px 0;
}
.woocommerce-MyAccount-content fieldset legend {
  font-weight: 700;
  font-size: 1.7rem;
  color: hsl(0deg, 0%, 40%);
  padding: 0 10px;
  margin: 0 -10px;
}

/* Remove dashboard link */
.woocommerce-MyAccount-navigation-link--dashboard {
  display: none;
}

/* Password strength */
.woocommerce-password-strength {
  padding: 5px 0;
}
.woocommerce-password-strength.short {
  color: #9e1c25;
}
.woocommerce-password-strength.bad {
  color: #f05624;
}
.woocommerce-password-strength.good {
  color: #689447;
}
.woocommerce-password-strength.strong {
  color: #689447;
}

/* Woocommerce Account Orders Table */
.woocommerce-orders-table__cell-order-delivery-date, .woocommerce-orders-table__header-order-delivery-date {
  display: none !important;
}
@media only screen and (min-width: 960px) {
  .woocommerce-orders-table__header-order-number {
    width: 80px;
  }
  .woocommerce-orders-table__header-order-actions, .woocommerce-orders-table__header-order-status {
    width: 120px;
  }
}

.woocommerce-table--order-details td {
  padding: 15px 10px;
  line-height: 1.5;
}

/* Login
 ============================================= */
/* My account page
--------------------------------------------- */
#customer_login {
  display: flex;
  flex-flow: row wrap;
}
#customer_login > * {
  width: 100%;
  margin-bottom: 5vw;
}
@media only screen and (min-width: 670px) {
  #customer_login > * {
    width: calc((100% - (5vw * (2 - 1))) / 2);
    margin-right: 5vw;
  }
  #customer_login > *:nth-child(2n) {
    margin-right: 0;
  }
}
#customer_login .woocommerce-form-login {
  background-color: transparent;
  padding: 0;
}
#customer_login .col-1, #customer_login .checkout_coupon {
  border-bottom: 1px solid hsl(0deg, 0%, 85%);
  margin-bottom: 30px;
}
@media only screen and (min-width: 960px) {
  #customer_login .col-1, #customer_login .checkout_coupon {
    border-bottom: 0;
    margin-bottom: 0;
  }
}

.woocommerce-form-login {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  background-color: #fff;
  padding: 30px;
  width: 100%;
}
@media only screen and (min-width: 960px) {
  .woocommerce-form-login {
    max-width: 50vw;
    margin: 0 auto;
  }
}
.woocommerce-form-login label.woocommerce-form__label {
  float: right;
  font-size: 1.5rem;
}

.woocommerce-privacy-policy-text p {
  line-height: 1.5;
  color: hsl(0deg, 0%, 60%);
}

/* For lost password page */
.widget_layered_nav_filters ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none outside;
  zoom: 1;
}
.widget_layered_nav_filters ul li {
  float: left;
  padding: 0 1em 1px 1px;
  list-style: none;
}
.widget_layered_nav_filters ul li a {
  color: #888;
  font-size: 1.4rem;
  text-decoration: none;
}
.widget_layered_nav_filters ul li a::before {
  display: inline-block;
  font: normal normal normal 1em/1 "baseicon";
  speak: none;
  text-transform: none;
  /* Better Font Rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "/f00d";
  font-weight: 700;
  margin-right: 8px;
  width: 15px;
  height: 15px;
  background-color: #9e1c25;
  border-radius: 50%;
  font-size: 1.5rem;
  color: #fff;
}
.widget_layered_nav_filters ul li a::before:hover,
.widget_layered_nav_filters ul li a::before a:hover {
  text-decoration: none;
}

/* Interactive Cart
 ============================================= */
/* Header buttons */
#cart-items {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #00864d;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 700;
  top: -5px;
  right: -3px;
  color: #fff;
}
#cart-items:hover,
#cart-items a:hover {
  text-decoration: none;
}

#interactive-cart-activate {
  position: relative;
}

.interactive-cart__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  background-color: rgba(0, 0, 20, 0.5);
}

.interactive-cart-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99999999;
  display: none;
}

.interactive-cart {
  position: relative;
  background-color: hsl(0deg, 0%, 95%);
  margin: 0 0 0 auto;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  overflow: hidden;
}
@media only screen and (min-width: 960px) {
  .interactive-cart {
    width: 40vw;
  }
}

/* Cart Header */
.interactive-cart-header {
  position: relative;
  background-color: #fff;
  padding: 20px 12px;
  flex: 0 1 0;
}
@media only screen and (min-width: 960px) {
  .interactive-cart-header {
    padding: 12px;
  }
}
.interactive-cart-header > * {
  margin: 0;
  text-align: center;
  color: #888;
}
.interactive-cart-header a:hover {
  text-decoration: none;
}
.interactive-cart-header .interactive-cart-close {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  color: hsl(0deg, 0%, 50%);
  height: 100%;
  width: 50px;
  font-size: 25px;
}
.interactive-cart-header .interactive-cart-close:hover {
  left: -3px;
  color: #777;
}

/* Mini Cart Notice */
.interactive-cart__notice {
  padding: 10px 0;
}
.interactive-cart__notice > * {
  margin-bottom: 5px;
}
.interactive-cart__notice > *:last-child {
  margin-bottom: 0;
}
.interactive-cart__notice > * {
  margin-left: 15px;
  margin-right: 15px;
}
.interactive-cart__notice.cart-item-card {
  flex-flow: column nowrap;
}
.interactive-cart__notice p {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 700;
}

.message--error {
  color: #9e1c25;
}

.message--success {
  color: #689447;
}

/* Cart Item List */
.interactive-cart-items {
  flex: 1 1 0;
  padding: 20px 0;
  overflow-y: scroll;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 960px) {
  .interactive-cart-items {
    margin-right: -17px;
    padding-right: 17px;
    /* Increase/decrease this value for cross-browser compatibility */
    box-sizing: content-box;
    /* So the width will be 100% + 17px */
  }
}

/* Cart Item */
.cart-item-card {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  flex-wrap: nowrap;
  width: 94%;
  background-color: #fff;
  border-radius: 8px;
  margin-left: 3%;
  margin-right: 3%;
  margin-bottom: 10px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.cart-item-card > figure {
  position: relative;
  width: 80px;
  padding-top: 80px;
}
.cart-item-card > figure > img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
}
.cart-item-card .caption {
  flex: 1 1 0;
  position: relative;
  padding: 15px;
  background-color: #fff;
}
@media only screen and (min-width: 960px) {
  .cart-item-card {
    width: 93%;
    margin-left: 5%;
    margin-right: auto;
  }
}
.cart-item-card img {
  align-self: center;
  margin: 10px;
  display: block;
  width: 100px;
  height: 100px;
  object-fit: cover;
}
.cart-item-card .caption {
  flex: 1 1 auto;
}
.cart-item-card .caption > * {
  margin-bottom: 8px;
}
.cart-item-card .caption > *:last-child {
  margin-bottom: 0;
}
.cart-item-card .caption > * {
  font-size: 1.5rem;
}
.cart-item-card .product-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #000704;
}
.cart-item-card .remove_from_cart_button {
  flex: 0 0 auto;
  align-self: flex-start;
  width: 40px;
  height: 40px;
  font-size: 20px;
  text-align: center;
  line-height: 40px;
  text-decoration: none;
  font-weight: 700;
  color: #9e1c25;
}

.interactive-cart-summary {
  position: relative;
  background-color: #fff;
  flex: 0 1 0;
}
.interactive-cart-summary > div {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 5px;
  margin-bottom: 5px;
  position: relative;
  justify-content: space-between;
  padding: 8px 5%;
}
.interactive-cart-summary > div > * {
  margin-bottom: 0;
}
.interactive-cart-summary > div:last-of-type {
  margin-bottom: 0;
  border-bottom: 0;
}

.interactive-cart-summary__buttons {
  display: flex;
  flex-flow: row wrap;
}
.interactive-cart-summary__buttons > * {
  width: calc(
        (100% - (0px / 2 * (2 - 1))) / 2
      );
  margin-right: 0px;
}
@media only screen and (max-width: 670px) {
  .interactive-cart-summary__buttons > * {
    margin-bottom: 0px;
  }
}
@media only screen and (max-width: 670px) {
  .interactive-cart-summary__buttons > *:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 670px) {
  .interactive-cart-summary__buttons > * {
    width: calc((100% - (0px * (2 - 1))) / 2);
    margin-right: 0px;
  }
  .interactive-cart-summary__buttons > *:nth-child(2n) {
    margin-right: 0;
  }
}
.interactive-cart-summary__buttons a {
  border-radius: 0;
}
.interactive-cart-summary__buttons a:first-child {
  border-right: 1px solid #003a21;
}

/* If there are no products */
.no-product-text {
  position: relative;
  display: block;
  text-align: center;
  padding: 0 5%;
}

/* Woocommerce address component
 =============================================
1. Order order-received
2. My Account edit address
*/
/* Address section */
header.woocommerce-Address-title {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
header.woocommerce-Address-title h2,
header.woocommerce-Address-title h3,
header.woocommerce-Address-title form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 header.woocommerce-Address-title h4,
header.woocommerce-Address-title form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon header.woocommerce-Address-title h4 {
  margin-bottom: 0;
}
/* Addresses */
.addresses h2,
.addresses h3,
.addresses form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 .addresses h4,
.addresses form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon .addresses h4,
.woocommerce-customer-details h2,
.woocommerce-customer-details h3,
.woocommerce-customer-details form.woocommerce-checkout .col-1 h4,
form.woocommerce-checkout .col-1 .woocommerce-customer-details h4,
.woocommerce-customer-details form.woocommerce-checkout .checkout_coupon h4,
form.woocommerce-checkout .checkout_coupon .woocommerce-customer-details h4 {
  font-size: 1.9rem;
}
.addresses address,
.woocommerce-customer-details address {
  padding: 15px 7.5px;
  background-color: hsl(0deg, 0%, 100%);
  border-radius: 5px;
  border: 1px solid hsl(0deg, 0%, 90%);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 670px) {
  .addresses address,
.woocommerce-customer-details address {
    padding: 15px;
  }
}
.addresses address:before,
.woocommerce-customer-details address:before {
  content: "Address: ";
}
.addresses address p,
.woocommerce-customer-details address p {
  margin-top: 15px;
  margin-bottom: 0;
  line-height: 1.5;
  font-size: 1.5rem;
}
.addresses address p.woocommerce-customer-details--phone:before,
.woocommerce-customer-details address p.woocommerce-customer-details--phone:before {
  content: "Phone: ";
}
.addresses address p.woocommerce-customer-details--email:before,
.woocommerce-customer-details address p.woocommerce-customer-details--email:before {
  content: "Email address: ";
}

/**
 * woocommerce-smallscreen.scss
 * Optimises the default WooCommerce frontend layout when viewed on smaller screens.
 */
/**
 * Style begins
 */
@media only screen and (max-width: 670px) {
  .woocommerce,
.woocommerce-page {
    /**
    * General layout
    */
    /**
    * Products
    */
    /**
    * Product Details
    */
    /**
    * Cart
    */
    /**
    * Checkout
    */
    /**
    * Account
    */
  }
  .woocommerce table.shop_table_responsive thead,
.woocommerce-page table.shop_table_responsive thead {
    display: none;
  }
  .woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,
.woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child {
    border-top: 0;
  }
  .woocommerce table.shop_table_responsive tbody th,
.woocommerce-page table.shop_table_responsive tbody th {
    display: none;
  }
  .woocommerce table.shop_table_responsive tr,
.woocommerce-page table.shop_table_responsive tr {
    display: block;
  }
  .woocommerce table.shop_table_responsive tr td,
.woocommerce-page table.shop_table_responsive tr td {
    display: block;
    text-align: right !important;
  }
  .woocommerce table.shop_table_responsive tr td.order-actions,
.woocommerce-page table.shop_table_responsive tr td.order-actions {
    text-align: left !important;
  }
  .woocommerce table.shop_table_responsive tr td::before,
.woocommerce-page table.shop_table_responsive tr td::before {
    content: attr(data-title) ": ";
    font-weight: 700;
    float: left;
  }
  .woocommerce table.shop_table_responsive tr td.actions::before, .woocommerce table.shop_table_responsive tr td.product-remove::before,
.woocommerce-page table.shop_table_responsive tr td.actions::before,
.woocommerce-page table.shop_table_responsive tr td.product-remove::before {
    display: none;
  }
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: rgba(0, 0, 0, 0.025);
  }
  .woocommerce table.my_account_orders tr td.order-actions,
.woocommerce-page table.my_account_orders tr td.order-actions {
    text-align: left;
  }
  .woocommerce table.my_account_orders tr td.order-actions::before,
.woocommerce-page table.my_account_orders tr td.order-actions::before {
    display: none;
  }
  .woocommerce table.my_account_orders tr td.order-actions .button,
.woocommerce-page table.my_account_orders tr td.order-actions .button {
    float: none;
    margin: 0.125em 0.25em 0.125em 0;
  }
  .woocommerce .col2-set .col-1, .woocommerce .col2-set .checkout_coupon,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .checkout_coupon,
.woocommerce-page .col2-set .col-2 {
    float: none;
    width: 100%;
  }
  .woocommerce #content div.product div.images,
.woocommerce #content div.product div.summary,
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.images,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.images,
.woocommerce-page div.product div.summary {
    float: none;
    width: 100%;
  }
  .woocommerce #content table.cart .product-thumbnail,
.woocommerce table.cart .product-thumbnail,
.woocommerce-page #content table.cart .product-thumbnail,
.woocommerce-page table.cart .product-thumbnail {
    display: none;
  }
  .woocommerce #content table.cart td.actions,
.woocommerce table.cart td.actions,
.woocommerce-page #content table.cart td.actions,
.woocommerce-page table.cart td.actions {
    text-align: left;
  }
  .woocommerce #content table.cart td.actions .coupon,
.woocommerce table.cart td.actions .coupon,
.woocommerce-page #content table.cart td.actions .coupon,
.woocommerce-page table.cart td.actions .coupon {
    float: none;
    *zoom: 1;
    padding-bottom: 0.5em;
  }
  .woocommerce #content table.cart td.actions .coupon::after, .woocommerce #content table.cart td.actions .coupon::before,
.woocommerce table.cart td.actions .coupon::after,
.woocommerce table.cart td.actions .coupon::before,
.woocommerce-page #content table.cart td.actions .coupon::after,
.woocommerce-page #content table.cart td.actions .coupon::before,
.woocommerce-page table.cart td.actions .coupon::after,
.woocommerce-page table.cart td.actions .coupon::before {
    content: " ";
    display: table;
  }
  .woocommerce #content table.cart td.actions .coupon::after,
.woocommerce table.cart td.actions .coupon::after,
.woocommerce-page #content table.cart td.actions .coupon::after,
.woocommerce-page table.cart td.actions .coupon::after {
    clear: both;
  }
  .woocommerce #content table.cart td.actions .coupon .button,
.woocommerce #content table.cart td.actions .coupon .input-text,
.woocommerce #content table.cart td.actions .coupon input,
.woocommerce table.cart td.actions .coupon .button,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce table.cart td.actions .coupon input,
.woocommerce-page #content table.cart td.actions .coupon .button,
.woocommerce-page #content table.cart td.actions .coupon .input-text,
.woocommerce-page #content table.cart td.actions .coupon input,
.woocommerce-page table.cart td.actions .coupon .button,
.woocommerce-page table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon input {
    width: 48%;
    box-sizing: border-box;
  }
  .woocommerce #content table.cart td.actions .coupon .button.alt,
.woocommerce #content table.cart td.actions .coupon .input-text + .button,
.woocommerce table.cart td.actions .coupon .button.alt,
.woocommerce table.cart td.actions .coupon .input-text + .button,
.woocommerce-page #content table.cart td.actions .coupon .button.alt,
.woocommerce-page #content table.cart td.actions .coupon .input-text + .button,
.woocommerce-page table.cart td.actions .coupon .button.alt,
.woocommerce-page table.cart td.actions .coupon .input-text + .button {
    float: right;
  }
  .woocommerce #content table.cart td.actions .button,
.woocommerce table.cart td.actions .button,
.woocommerce-page #content table.cart td.actions .button,
.woocommerce-page table.cart td.actions .button {
    display: block;
    width: 100%;
  }
  .woocommerce .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells,
.woocommerce .cart-collaterals .shipping_calculator,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .shipping_calculator {
    width: 100%;
    float: none;
    text-align: left;
  }
  .woocommerce.woocommerce-checkout form.login .form-row,
.woocommerce-page.woocommerce-checkout form.login .form-row {
    width: 100%;
    float: none;
  }
  .woocommerce #payment .terms,
.woocommerce-page #payment .terms {
    text-align: left;
    padding: 0;
  }
  .woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    float: none;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 1em;
  }
  .woocommerce .lost_reset_password .form-row-first,
.woocommerce .lost_reset_password .form-row-last,
.woocommerce-page .lost_reset_password .form-row-first,
.woocommerce-page .lost_reset_password .form-row-last {
    width: 100%;
    float: none;
    margin-right: 0;
  }
  .woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 100%;
  }
  /**
  * Twenty Thirteen specific styles
  */
  .single-product .twentythirteen .panel {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
#woocommerce-product-search-field {
  position: fixed;
  width: 100%;
  height: 70px;
  border: 0;
  border-radius: 0;
  background-color: hsl(0deg, 0%, 95%);
  text-align: center;
  font-size: 2.55rem;
  max-width: 0;
  left: 50%;
  right: 50%;
  padding: 0;
}
#woocommerce-product-search-field:focus, #woocommerce-product-search-field:hover {
  background-color: #00864d;
  color: #fff;
  box-shadow: none;
}
#woocommerce-product-search-field:focus::placeholder, #woocommerce-product-search-field:hover::placeholder {
  color: #fff;
}
.woocommerce-product-search--active #woocommerce-product-search-field {
  max-width: 100%;
  left: 0;
  right: 0;
  padding: 0 5%;
}

#woocommerce-product-search-button {
  -webkit-appearance: none;
  background: transparent;
  padding: 0;
}
#woocommerce-product-search-button:hover {
  background: transparent;
}
#woocommerce-product-search-button i {
  font-weight: 700;
  width: 40px;
  height: 40px;
  line-height: 40px;
}

/* Make woocommerce variations table full width*/
table.variations tr {
  display: flex;
  flex-flow: column nowrap;
}
table.variations tr td {
  padding: 0;
}

/* wapf checkbox prices */
.wapf-pricing-hint {
  float: right !important;
}

.wapf-input[type=checkbox] + .wapf-label-text {
  padding-left: 0;
}

/* WAPF Radio Buttons */
.wapf-radios {
  display: flex;
  flex-flow: row wrap;
}
.wapf-radios > * {
  margin-right: 6px;
}
.wapf-radios > *:last-child {
  margin-right: 0;
}

.wapf-radios .wapf-input-label {
  height: 100%;
}
.wapf-radios .wapf-checkable {
  width: calc(50% - 6px);
  margin-bottom: 6px;
}
.wapf-radios .wapf-checkable.wapf-checked .wapf-label-text {
  border: 1px solid #002012;
}
.wapf-radios .wapf-checkable input[type=radio] {
  display: none;
}
.wapf-radios .wapf-label-text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid hsl(0deg, 0%, 80%);
}
@media only screen and (max-width: 670px) {
  .wapf-radios .wapf-label-text {
    flex-direction: column;
  }
}

/* Woocommerce Global Styles */
.woocommerce {
  *zoom: 1;
}
.woocommerce::after, .woocommerce::before {
  content: " ";
  display: table;
}
.woocommerce::after {
  clear: both;
}

/* Newly discovered global styles */
.woocommerce-column__title {
  margin-bottom: 10px;
}

/* Global forms */
/* Button styles for woocommerce */
/* Add to Cart Button AKA Main button */
.checkout-button,
a.add_to_cart_button,
button.add_to_cart_button,
button[type=submit] {
  margin-bottom: 0;
  display: block;
}

@media only screen and (max-width: 670px) {
  .wc-backward {
    display: block;
  }
}

/* BREADCRUMB */
.woocommerce-breadcrumb {
  font-size: 1.3rem;
  text-transform: uppercase;
  /* Archive Page */
  /* Single Product Breadcrumbs */
}
.woocommerce.archive .woocommerce-breadcrumb {
  letter-spacing: 1px;
}
.single-product .woocommerce-breadcrumb {
  border-bottom: 2px solid #f1f1f1;
  padding-bottom: 20px;
  margin-bottom: 20px;
  width: 100%;
  color: #888;
  font-size: 1.5rem;
  padding: 20px 0;
}
@media only screen and (min-width: 670px) {
  .single-product .woocommerce-breadcrumb {
    padding: 30px 0;
  }
}
.single-product .woocommerce-breadcrumb a {
  margin: 0;
  font-weight: 700;
}

/* SALE LABEL */
.onsale {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
}
li.product .onsale {
  display: table;
  margin: -26px auto 5px;
  font-size: 12px;
  padding: 0.05rem 0.6rem;
  border-radius: 3px;
  background-color: #689447;
}
.summary .onsale {
  position: relative;
  display: inline-block;
  border-radius: 5px;
  margin-bottom: 5px;
  background-color: #689447;
  font-weight: 700;
  font-size: 12px;
  padding: 3px 8px;
}
.summary .onsale:hover {
  background-color: #507236;
}

/* Message box */
.woocommerce-notices-wrapper {
  margin: 30px auto 0;
  flex: 1 1 100%;
}
.woocommerce-account.logged-in .woocommerce-notices-wrapper {
  margin-top: 0;
}
.woocommerce-cart .woocommerce-notices-wrapper {
  margin-top: 0;
}

.woocommerce-NoticeGroup {
  margin: 30px auto 0;
  flex: 1 1 100%;
}

/* All information and messages */
.woocommerce-info,
.woocommerce-message {
  position: relative;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  background-color: #f2f2f2;
  color: #555;
  list-style: none outside;
  width: 100%;
  margin: 0 auto 2em;
  word-wrap: break-word;
  text-align: center;
  padding: 12px;
}
@media only screen and (min-width: 960px) {
  .woocommerce-info,
.woocommerce-message {
    margin-bottom: 30px;
    padding: 12px 24px 12px 12px;
  }
}
.woocommerce-info a,
.woocommerce-message a {
  width: 100%;
  height: auto;
  white-space: nowrap;
  border-radius: 3px;
  margin: 0 0 10px;
}
@media only screen and (min-width: 960px) {
  .woocommerce-info a,
.woocommerce-message a {
    width: auto;
    margin: 0 10px;
  }
}
.woocommerce-info .restore-item,
.woocommerce-message .restore-item {
  display: none;
}

/* All errors */
.woocommerce-error {
  position: relative;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  list-style: none outside;
  width: 100%;
  word-wrap: break-word;
  display: flex;
  flex-flow: column nowrap;
  padding: 12px;
  margin-bottom: 30px;
}
.woocommerce-error li {
  list-style: none outside !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  width: 100%;
  margin-bottom: 0 !important;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error li {
  margin-bottom: 10px !important;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error li:last-child {
  margin-bottom: 0 !important;
}

.woocommerce-message {
  color: #fff;
  background-color: #689447;
}
.woocommerce-message a {
  background: #5c833f;
}
.woocommerce-message a:hover {
  background-color: #507236;
}

.woocommerce-info {
  color: #fff;
  background-color: #ccc;
}
.woocommerce-info a {
  background: #bfbfbf;
}
.woocommerce-info a:hover {
  background-color: #b3b3b3;
}

.woocommerce-error {
  color: #fff;
  background-color: #9e1c25;
}
.woocommerce-error a {
  background: #881820;
}
.woocommerce-error a:hover {
  background-color: #73141b;
}

/* PAGINATION */
.woocommerce-pagination {
  position: relative;
  text-align: center;
  margin: 10px 0;
  flex: 1 1 100%;
}
.woocommerce-pagination .page-numbers > * {
  margin-right: 5px;
}
.woocommerce-pagination .page-numbers > *:last-child {
  margin-right: 0;
}
.woocommerce-pagination a,
.woocommerce-pagination span {
  font-size: 1.7rem;
}
.woocommerce-pagination span {
  cursor: unset;
}
/* Woocommerce Store Notice */
.woocommerce-store-notice {
  position: fixed;
  width: 100%;
  color: #fff;
  background-color: #00864d;
  text-align: center;
  margin-bottom: 0;
  padding: 12px 5%;
  z-index: 88;
  bottom: 0;
}
@media only screen and (min-width: 960px) {
  .woocommerce-store-notice {
    position: relative;
    padding: 6px 5%;
  }
}

.woocommerce-store-notice__dismiss-link {
  position: absolute;
  right: 5%;
  color: #fff;
  font-size: 18px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImFic3RyYWN0cy9fZnVuY3Rpb25zLnNjc3MiLCJhYnN0cmFjdHMvX3BsYWNlaG9sZGVycy5zY3NzIiwidmVuZG9ycy9fc2xpY2suc2NzcyIsInZlbmRvcnMvX3NsaWNrLXRoZW1lLnNjc3MiLCJ2ZW5kb3JzL3N3aXBlci1idW5kbGUuY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2RlZmF1bHRzLnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxheW91dC9fZ3Mtc3RydWN0dXJlLWxheW91dC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fc2lkZWJhci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2dyYXBoaWNzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXQuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19saXN0LXBhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3RpdGxlLWRpdmlkZXIuc2NzcyIsImNvbXBvbmVudHMvX29iamVjdHMuc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lcnMuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8tc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19ibG9ja3Muc2NzcyIsInBhZ2VzL19wb3N0LWFyY2hpdmUuc2NzcyIsInBhZ2VzL19wb3N0LXNpbmdsZS5zY3NzIiwicGFnZXMvXzQwNC1wYWdlLnNjc3MiLCJ0aGVtZXMva2hvb3poLnNjc3MiLCJ0aGVtZXMvd29vY29tbWVyY2Uuc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9hcmNoaXZlLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvc2luZ2xlLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvY2FydC5zY3NzIiwidGhlbWVzL193b28tc3R5bGVzL2NoZWNrb3V0LnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvb3JkZXItcmVjZWl2ZWQuc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9vcmRlci1wYXkuc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9hY2NvdW50LnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvbG9naW4uc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy93aWRnZXRzLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvaW50ZXJhY3RpdmUtY2FydC5zY3NzIiwidGhlbWVzL193b28tc3R5bGVzL2FkZHJlc3Muc2NzcyIsInRoZW1lcy9fd29vLXN0eWxlcy9zbWFsbHNjcmVlbi5zY3NzIiwidGhlbWVzL193b28tc3R5bGVzL3dvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoLnNjc3MiLCJ0aGVtZXMvX3dvby1zdHlsZXMvYWR2YW5jZWQtcHJvZHVjdC1maWVsZHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDaEJBO0FBQUE7QUFFQTtBQUtBO0FBSUE7QUFpQ0E7QUFHQTtBQUdBO0VBQ0U7RUFDQSxLQUNFO0VBRUY7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsS0FDRTtFQUVGO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLEtBQ0U7RUFFRjtFQUNBOztBQzFFRjtBQUFBO0FBRUE7QUFBQTtBQXlCQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBa0JBO0FBQUE7QUFTQTtBQUFBO0FBZ0JBO0FBQUE7QUEwQkE7QUFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFDQTtFQUNBO0VBQ0E7OztBQU1GO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQTtBQUFBO0FBT0E7QUFBQTtBQXFCQTtBQUFBO0FDNU1BO0FBQUE7QUNBQTtBQUFBO0FBRUE7QUFBQTtBQW9CQTtBQUFBO0FBRUE7QUFBQTtFQUNFOzs7QUFFRjtBQUFBO0FBRUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQ2pDRjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7OztBQUdSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQVdBOztBQVZBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUtKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHUjtFQUNJOzs7QUNsRUo7QUFFRTtFQUNFOzs7QUFHSjtBQUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtBQUNBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VB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RjtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTtBQUNBO0VBQ0E7QUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7QUFDQTtFQUNBO0FBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTtBQUNBO0VBQ0E7QUFDQTs7O0FBRUY7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFFRjtBQUFBO0FBRUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQzdURjtBQUFBO0FBRUE7RUFDRTtBQUNBO0VBQ0E7RUFDQTtFQUNBOztBUFdBO0VPaEJGO0lBUUk7Ozs7QUFJSjtBQUNBO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsYVJqQlU7RVFrQlY7RUFDQTtFQUNBLGFSakJVO0VRa0JWO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVFFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNB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QTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7QUFBQTtFQUVFOztBQUVBO0FBQUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7O0FBTVI7QUFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUFJSjtBQUFBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUVFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0U7O0FBSUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQTs7O0FDcFNGO0FBQUE7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFPRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQU9GO0VBQ0U7OztBQU9GO0VBQ0U7OztBQUdKO0FBQUE7QUFFQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtBQUVBO0VBQ0U7RUFFQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXBCMURVO0VvQjJEVjtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQzlFRjtBQUFBO0FBRUE7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLE9y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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7O0FBTVI7RUEvTUU7RUFDQSxrQjlCR007O0E4QkROO0VBQ0U7O0FBRUE7RUFDRTs7O0FBNE1OO0VBbk5FO0VBQ0Esa0JBbU42Qjs7QUFqTjdCO0VBQ0U7O0FBRUE7RUFDRTs7O0FBZ05OO0VBdk5FO0VBQ0Esa0I5QlhJOztBOEJhSjtFQUNFOztBQUVBO0VBQ0U7OztBQW1OTjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0E3QnhFRTtFQUNFLGM2QjJFNkI7O0E3QnpFN0I7RUFDRTs7QTZCMkVOO0FBQUE7RUFHRSxXOUIxUWE7O0E4QjZRZjtFQUVFOztBQU9KO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQjlCMVFXO0U4QjJRWDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBN0JqUkE7RTZCd1FGO0lBV0k7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0EiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG5cdFRoZW1lIE5hbWU6IEdvdW1ldCBTdXBwbGllcyBUaGVtZVxuXHRUaGVtZSBVUkk6XG5cdERlc2NyaXB0aW9uOiBUaGlzIGlzIHRoZSB0aGVtZSBjcmVhdGVkIGZvciBHb3VtZXQgU3VwcGxpZXNcblx0QXV0aG9yOiBLaG9vemhcblx0QXV0aG9yIFVSSTpcblxuXHRWZXJzaW9uOiAxLjAuMFxuXG5cdFRhZ3M6IG9uZS1jb2x1bW4sIHR3by1jb2x1bW5zLCBsZWZ0LXNpZGViYXIsIHJpZ2h0LXNpZGViYXIsIGFjY2Vzc2liaWxpdHktcmVhZHksIGN1c3RvbS1jb2xvcnMsIGN1c3RvbS1sb2dvLCBjdXN0b20tbWVudSwgZmVhdHVyZWQtaW1hZ2VzLCBmb290ZXItd2lkZ2V0cywgZnVsbC13aWR0aC10ZW1wbGF0ZSwgcnRsLWxhbmd1YWdlLXN1cHBvcnQsIHN0aWNreS1wb3N0LCB0aGVtZS1vcHRpb25zLCB0aHJlYWRlZC1jb21tZW50cywgdHJhbnNsYXRpb24tcmVhZHlcblxuXHRUZW1wbGF0ZTogZ2VuZXNpc1xuXG5cdExpY2Vuc2U6IEdQTC0yLjArXG5cdExpY2Vuc2UgVVJJOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG4qL1xuLyogVGFibGUgb2YgQ29udGVudHNcbnNhc3MvXG58XG58LSBhYnN0cmFjdHMvXG58ICAgfC0gX3ZhcmlhYmxlcy5zY3NzICAgICMgU2FzcyBWYXJpYWJsZXNcbnwgICB8LSBfZnVuY3Rpb25zLnNjc3MgICAgIyBTYXNzIEZ1bmN0aW9uc1xufCAgIHwtIF9taXhpbnMuc2NzcyAgICAgICAjIFNhc3MgTWl4aW5zXG58ICAgfC0gX3BsYWNlaG9sZGVycy5zY3NzICMgU2FzcyBQbGFjZWhvbGRlcnNcbnxcbnwtIGZvbnRzL1xufCAgIHwtIF9udWNsZW8uc2NzcyAgICAgICAjIEljb24gUGFja1xufFxufOKAkyBiYXNlL1xufCAgIHwtIF9yZXNldC5zY3NzICAgICAgICAjIFJlc2V0L25vcm1hbGl6ZVxufCAgIHwtIF90eXBvZ3JhcGh5LnNjc3MgICAjIFR5cG9ncmFwaHkgcnVsZXNcbnwgICB8LSBfZGVmYXVsdHMuc2NzcyAgICAgIyBHZW5lc2lzIERlZmF1bHRzXG58ICAgfC0gX2FuaW1hdGlvbnMuc2NzcyAgICMgQW5pbWF0aW9uc1xufFxufOKAkyBjb21wb25lbnRzL1xufCAgIHwtIF9ncmFwaGljcy5zY3NzICAgICAgICAgICAgIyBHcmFwaGljc1xufCAgIHwtIF9idXR0b25zLnNjc3MgICAgICAgICAgICAgIyBCdXR0b25zXG58ICAgfC0gX3dpZGdldC5zY3NzICAgICAgICAgICAgICAjIEdlbmVzaXMgRGVmYXVsdCBXaWRnZXQgYW5kIFBsdWdpbnNcbnwgICB8LSBfZm9ybXMuc2NzcyAgICAgICAgICAgICAgICMgRm9ybXNcbnwgICB8LSBfbGlzdC1wYWdpbmF0aW9uLnNjc3MgICAgICMgTGlzdCBhbmQgcGFnaW5hdGlvblxufCAgIHwtIC10aXRsZS1kaXZpZGVyLnNjc3MgICAgICAgIyBUaXRsZSBhbmQgZGl2aWRlcnNcbnwgICB8LSBfb2JqZWN0cy5zY3NzICAgICAgICAgICAgICMgQ3VzdG9taXNlZCBvYmplY3RzXG58ICAgfC0gX2Jhbm5lcnMuc2NzcyAgICAgICAgICAgICAjIEJhbm5lcnNcbnwgICB8LSBfaGVyby1zbGlkZXIuc2NzcyAgICAgICAgICMgSGVybyBTbGlkZXJcbnwgICB8LSBfYmxvY2tzLnNjc3MgICAgICAgICAgICAgICMgQmxvY2tzXG58XG584oCTIGxheW91dC9cbnwgICB8LSBfZ3JpZC5zY3NzICAgICAgICAgIyBHcmlkXG58ICAgfC0gX2dzLXN0cnVjdHVyZS1sYXlvdXQuc2NzcyAjIEdlbmVzaXMgZGVmYXVsdCBzdHJ1Y3R1cmUgYW5kIGxheW91dFxufCAgIHwtIF9oZWFkZXIuc2NzcyAgICAgICAjIEhlYWRlclxufCAgIHwtIF9zaWRlYmFyLnNjc3MgICAgICAjIFNpZGViYXJcbnwgICB8LSBfZm9vdGVyLnNjc3MgICAgICAgIyBGb290ZXJcbnxcbnzigJMgcGFnZXMvXG58ICAgfC0gX3Bvc3QtYXJjaGl2ZS5zY3NzICAgICAgICAjIFBvc3QgYXJjaGl2ZSBzdHlsZXNcbnwgICB8LSBfcG9zdC1zaW5nbGUuc2NzcyAgICAgICAgICMgU2luZ2xlIFBvc3QgU3R5bGVzXG58ICAgfC0gXzQwNC1wYWdlLnNjc3MgICAgIFx0XHQgIyA0MDQgUGFnZVxufFxufOKAkyB0aGVtZXMvXG58ICAgfC0gX2tob296aC5zY3NzICAgICAgICMgRGVmYXVsdCB0aGVtZVxufCAgIHwtIF93b29jb21tZXJjZS5zY3NzICAjIFdvb2NvbW1lcmNlIFN0eWxlc1xufFxufOKAkyB2ZW5kb3JzL1xufCAgIHwtIF9zbGljay5zY3NzICAgICAgICAjIFNsaWNrIFNsaWRlclxufCAgIHwtIF9zbGljay10aGVtZS5zY3NzICAjIFNsaWNrIFNsaWRlciBUaGVtZVxufCAgIHwtIF9mZWF0aGVybGlnaHQuc2NzcyAjIEZlYXRoZXJsaWdodCBHYWxsZXJ5XG58XG58LSBtYWluLnNjc3MgICAgICAgICAgICAgICMgTWFpbiBTYXNzIGZpbGVcbiovXG5cbkBpbXBvcnQgJ2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuQGltcG9ydCAnYWJzdHJhY3RzL21peGlucyc7XG5AaW1wb3J0ICdhYnN0cmFjdHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ2Fic3RyYWN0cy9wbGFjZWhvbGRlcnMnO1xuXG5AaW1wb3J0ICd2ZW5kb3JzL3NsaWNrJztcbkBpbXBvcnQgJ3ZlbmRvcnMvc2xpY2stdGhlbWUnO1xuLy8gQGltcG9ydCAndmVuZG9ycy9mZWF0aGVybGlnaHQnO1xuQGltcG9ydCAndmVuZG9ycy9zd2lwZXItYnVuZGxlJztcblxuLy8gQGltcG9ydCAnZm9udHMvbnVjbGVvJztcblxuQGltcG9ydCAnYmFzZS9yZXNldCc7XG5AaW1wb3J0ICdiYXNlL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnYmFzZS9kZWZhdWx0cyc7XG5AaW1wb3J0ICdiYXNlL2FuaW1hdGlvbnMnO1xuXG5AaW1wb3J0ICdsYXlvdXQvZ3JpZCc7XG5AaW1wb3J0ICdsYXlvdXQvZ3Mtc3RydWN0dXJlLWxheW91dCc7XG5AaW1wb3J0ICdsYXlvdXQvaGVhZGVyJztcbkBpbXBvcnQgJ2xheW91dC9zaWRlYmFyJztcbkBpbXBvcnQgJ2xheW91dC9mb290ZXInO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2dyYXBoaWNzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3dpZGdldCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGlzdC1wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtZGl2aWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29iamVjdHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYW5uZXJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVyby1zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9ja3MnO1xuXG5AaW1wb3J0ICdwYWdlcy9wb3N0LWFyY2hpdmUnO1xuQGltcG9ydCAncGFnZXMvcG9zdC1zaW5nbGUnO1xuQGltcG9ydCAncGFnZXMvNDA0LXBhZ2UnO1xuLy8gQGltcG9ydCAncGFnZXMvY29udGFjdCc7XG5cbkBpbXBvcnQgJ3RoZW1lcy9raG9vemgnO1xuQGltcG9ydCAndGhlbWVzL3dvb2NvbW1lcmNlJztcbiIsIi8qIFZhcmlhYmxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQm9keSBUZXh0IFN0eWxlcyAqL1xuJGJhc2UtZm9udC1zaXplOiAxLjdyZW07XG4kc3VidGl0bGUtZm9udDogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbiR0aXRsZS1mb250OiBcIkJhcmxvd1wiLCBzYW5zLXNlcmlmO1xuJG1haW4tZm9udDogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbi8qIEZvbnQgV2VpZ2h0ICovXG4kZm9udC1saWdodDogMjAwO1xuJGZvbnQtbm9ybTogNDAwO1xuJGZvbnQtYm9sZDogNzAwO1xuLyogQ29sb3JzICovXG4kbWFpbi1jb2xvci01MDogI2VjZmZmNztcbiRtYWluLWNvbG9yLTEwMDogI2QzZmZlZDtcbiRtYWluLWNvbG9yLTIwMDogI2FhZmZkYztcbiRtYWluLWNvbG9yLTMwMDogIzY5ZmZjMTtcbiRtYWluLWNvbG9yLTQwMDogIzIxZmZhMDtcbiRtYWluLWNvbG9yLTUwMDogIzAwZjI4MTtcbiRtYWluLWNvbG9yLTYwMDogIzAwY2E2NztcbiRtYWluLWNvbG9yLTcwMDogIzAwOWU1NDtcbiRtYWluLWNvbG9yOiAjMDA4NjRkO1xuJG1haW4tY29sb3ItOTAwOiAjMDI2NTNjO1xuJG1haW4tY29sb3ItOTUwOiAjMDAzOTFmO1xuJGRhcmstY29sb3I6ICMwZjUxMzI7XG5cbiRvZmYtd2hpdGU6IGhzbCg1MCwgMjAlLCA5NyUpO1xuJHJlZDogIzllMWMyNTtcblxuJG9yYW5nZS01MDogaHNsKDIzLCA2MCUsIDk3JSk7XG4kb3JhbmdlLTEwMDogI2ZkZTdkNztcbiRvcmFuZ2UtMjAwOiAjZmJjYWFkO1xuJG9yYW5nZS0zMDA6ICNmN2E1N2E7XG4kb3JhbmdlLTQwMDogI2YzNzY0NDtcbiRvcmFuZ2U6ICNmMDU2MjQ7XG4kb3JhbmdlLTYwMDogI2UxMzkxNTtcbiRvcmFuZ2UtNzAwOiAjYmIyODEzO1xuJG9yYW5nZS04MDA6ICM5NDIzMTg7XG4kb3JhbmdlLTkwMDogIzc4MWYxNjtcbiRvcmFuZ2UtOTUwOiAjNDEwYzA5O1xuXG4kZ3JlZW46ICM2ODk0NDc7XG4kYmx1ZTogIzM2OTtcbiR5ZWxsb3c6ICNmN2U3MjA7XG4kZ3JleTogaHNsKDAsIDAlLCA1MCUpOyAvL2lucHV0cyB0aGF0IGFyZSBub3Qgc3VibWl0IGFuZCBidXR0b25cbi8qIEV0Yy4gKi9cbiRpbnB1dC1maWVsZHM6ICdpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pJztcblxuLyogQmFja2dyb3VuZCBwYXR0ZXJuIGltYWdlIGxpbmsqL1xuJHBhdHRlcm4tMS1saW5rOiB1cmwoXCIuLi8uLi8uLi9zdGF0aWMvYmFja2dyb3VuZC1wYXR0ZXJuLndlYnBcIik7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIjtcbiAgc3JjOlxuICAgIHVybChcIi4uLy4uLy4uL2ZvbnRzL2Jhcmxvd2NvbmRlbnNlZC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vZm9udHMvYmFybG93Y29uZGVuc2VkLW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvd1wiO1xuICBzcmM6XG4gICAgdXJsKFwiLi4vLi4vLi4vZm9udHMvYmFybG93Y29uZGVuc2VkLXNlbWlib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2ZvbnRzL2Jhcmxvd2NvbmRlbnNlZC1zZW1pYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvd1wiO1xuICBzcmM6XG4gICAgdXJsKFwiLi4vLi4vLi4vZm9udHMvYmFybG93Y29uZGVuc2VkLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vZm9udHMvYmFybG93Y29uZGVuc2VkLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59IiwiLyogTWl4aW5zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNZWRpYSBRdWVyaWVzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kdGFibGV0LXdpZHRoOiA2NzBweDtcbiRkZXNrdG9wLXdpZHRoOiA5NjBweDtcbiRkZXNrdG9wLXhsLXdpZHRoOiAxNDAwcHg7XG5AbWl4aW4gbW9iaWxlIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyR0YWJsZXQtd2lkdGh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiB0YWJsZXQge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JHRhYmxldC13aWR0aH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIGRlc2t0b3Age1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGRlc2t0b3Atd2lkdGh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBkZXNrdG9wLXhsIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRkZXNrdG9wLXhsLXdpZHRofSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4vKiBDb250YWluZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjb250YWluZXIoJHBhZGRpbmcsICRiZywgJGJvcmRlci1yYWRpdXMsICRib3JkZXIpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcgY2FsYygkcGFkZGluZyAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXI6ICRib3JkZXI7XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cbn1cbi8qIEltYWdlIEFzcGVjdCBSYXRpb1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIDxmaWd1cmU+IC8vIEFwcGx5IGltYWdlIHJhdGlvIHRvIGZpZ3VyZVxuICAgPGltZyBzcmM9XCJcIi8+XG4gPC9maWd1cmU+XG4qL1xuQG1peGluIGltZy1yYXRpbygkd2lkdGgsICRwLXRvcCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIHBhZGRpbmctdG9wOiAkcC10b3A7XG5cbiAgPiBpbWcge1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuLyogQWJzb2x1dGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBhYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLyogR3JhZGllbnQgRmFkZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGdyYWRpZW50LWZhZGUoJGgsJHMsJGwsJGRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiA9PSBib3R0b20ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfSBAZWxzZVxuICBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCBoc2xhKCRoLCRzLCRsLDEpIDAlLGhzbGEoJGgsJHMsJGwsMCkgMTAwJSk7XG4gIH0gQGVsc2VcbiAgaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfSBAZWxzZVxuICBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGhzbGEoJGgsJHMsJGwsMSkgMCUsaHNsYSgkaCwkcywkbCwwKSAxMDAlKTtcbiAgfVxufVxuLyogQmFkZ2UgLyBUYWcgbGFiZWxcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctbGFiZWwoJGJnLCAkc2l6ZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gIH1cbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBsYXJnZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gIH1cbn1cbi8qIEljb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMWVtLzEgJ2Jhc2VpY29uJztcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5AbWl4aW4gaWNvbigkdHlwZSkge1xuICBAZXh0ZW5kICVpY29uO1xuICBjb250ZW50OiAkdHlwZTtcbn1cbi8qIENpcmNsZSBPYmplY3RcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjaXJjbGUtb2JqZWN0KCRkaWFtZXRlciwgJGJnLWNvbG9yLCAkZm9udC1zaXplKSB7XG4gIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICB3aWR0aDogJGRpYW1ldGVyO1xuICBoZWlnaHQ6ICRkaWFtZXRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAmOmhvdmVyLFxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi8qIFRodW1ibmFpbCBDYXJkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG48YXJ0aWNsZSBjbGFzcz1cInRodW1ibmFpbC1jYXJkXCI+XG4gIDxmaWd1cmU+XG4gICAgPGltZyBzcmM9XCJcIj5cbiAgPC9maWd1cmU+XG4gIDxkaXYgY2xhc3M9XCJjYXB0aW9uXCI+XG4gICAgPGg0PjwvaDQ+XG4gICAgPHA+PC9wPlxuICAgIDxhIGhyZWY9XCIjXCI+PC9hPlxuICA8L2Rpdj5cbjwvYXJ0aWNsZT5cbiAqL1xuQG1peGluIHRodW1ibmFpbC1jYXJkKCR0aHVtYlcsICR0aHVtYkgsICRjYXB0aW9uLXBvcywgJHBhZGRpbmcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBAaWYgJGNhcHRpb24tcG9zID09IGJvdHRvbSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgLmNhcHRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgPiBmaWd1cmUge1xuICAgIEBpbmNsdWRlIGltZy1yYXRpbygkdGh1bWJXLCAkdGh1bWJIKTtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLyogTGluZSBCb3JkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBsaW5lLWJvcmRlcigkd2lkdGgsICRjb2xvciwgJGRpcmVjdGlvbiwgJHNwYWNlKSB7XG4gIGJvcmRlci0jeyRkaXJlY3Rpb259OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcbiAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICRzcGFjZTtcbn1cbi8qIENoaWxkIE1hcmdpblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNoaWxkLW1hcmdpbigkZGlyZWN0aW9uLCAkc3BhY2UsICRzZWxlY3RvcjogbnVsbCkge1xuICBAaWYgJHNlbGVjdG9yID09IG51bGwge1xuICAgID4gKiB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogJHNwYWNlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAkc3BhY2U7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogQ2xlYXIgRml4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgKnpvb206IDE7XG5cbiAgJjo6YWZ0ZXIsXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbiVjbGVhciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvKiBGdW5jdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiIsIi8qIFBsYWNlaG9sZGVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2hpdGUgR3JhZGllbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ld2hpdGUtZ3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsMCUsMTAwJSx0b3ApO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cbi8qIFRyYW5zaXRpb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ldHJhbnNpdGlvbi1kdXJhdGlvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLyogRmxleGJveFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWZsZXhib3gtYy1jIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2pzL3BsdWdpbnMvc2xpY2svZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL2pzL3BsdWdpbnMvc2xpY2svXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6ICNkZGQgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICB9XG59XG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICB9XG59XG4vKiBTbGlkZXIgKi9cbi5zbGljay1saXN0IHtcbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gIH1cbn1cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cbi8qIEFycm93cyAqL1xuLnNsaWNrLW5leHQsXG4uc2xpY2stcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogMjtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogMTVweDtcblxuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0zNXB4O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcblxuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgfVxuICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDE1cHg7XG5cbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgIH1cbiAgfVxufVxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogU3dpcGVyIDExLjIuNlxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyNSBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBNYXJjaCAxOSwgMjAyNVxuICovXG5cbkBmb250LWZhY2V7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO3NyYzp1cmwoJ2RhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfTpyb290ey0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmZ9Omhvc3R7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3otaW5kZXg6MX0uc3dpcGVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ei1pbmRleDoxO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24saW5pdGlhbCk7Ym94LXNpemluZzpjb250ZW50LWJveH0uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwuc3dpcGVyLWlvcyAuc3dpcGVyLXNsaWRlLC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCl9LnN3aXBlci1ob3Jpem9udGFse3RvdWNoLWFjdGlvbjpwYW4teX0uc3dpcGVyLXZlcnRpY2Fse3RvdWNoLWFjdGlvbjpwYW4teH0uc3dpcGVyLXNsaWRle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtkaXNwbGF5OmJsb2NrfS5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5re3Zpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItYXV0b2hlaWdodCwuc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZXtoZWlnaHQ6YXV0b30uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0saGVpZ2h0fS5zd2lwZXItYmFja2ZhY2UtaGlkZGVuIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLTNkLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXJ7cGVyc3BlY3RpdmU6MTIwMHB4fS5zd2lwZXItM2QgLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uc3dpcGVyLTNke3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntvdmVyZmxvdzphdXRvO3Njcm9sbGJhci13aWR0aDpub25lOy1tcy1vdmVyZmxvdy1zdHlsZTpub25lfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpzdGFydCBzdGFydH0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnkgbWFuZGF0b3J5fS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTpub25lfS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpub25lfS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkPi5zd2lwZXItd3JhcHBlcjo6YmVmb3Jle2NvbnRlbnQ6Jyc7ZmxleC1zaHJpbms6MDtvcmRlcjo5OTk5fS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOmNlbnRlciBjZW50ZXI7c2Nyb2xsLXNuYXAtc3RvcDphbHdheXN9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxcHg7d2lkdGg6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxke21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcjo6YmVmb3Jle3dpZHRoOjEwMCU7bWluLXdpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdywuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTB9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvd3tiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjE1KX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1sYXp5LXByZWxvYWRlcnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTIxcHg7bWFyZ2luLXRvcDotMjFweDt6LWluZGV4OjEwO3RyYW5zZm9ybS1vcmlnaW46NTAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6NHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudH0uc3dpcGVyLXdhdGNoLXByb2dyZXNzIC5zd2lwZXItc2xpZGUtdmlzaWJsZSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLC5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXJ7YW5pbWF0aW9uOnN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXJ9LnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZXstLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrey0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojMDAwfUBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5zd2lwZXItdmlydHVhbCAuc3dpcGVyLXNsaWRley13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItaG9yaXpvbnRhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye2hlaWdodDoxcHg7d2lkdGg6dmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSl9LnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItdmVydGljYWwgLnN3aXBlci13cmFwcGVyOjphZnRlcnt3aWR0aDoxcHg7aGVpZ2h0OnZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpfTpyb290ey0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4fS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1idXR0b24tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldCw1MCUpO3dpZHRoOmNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDQ0ICogMjcpO2hlaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTttYXJnaW4tdG9wOmNhbGMoMHB4IC0gKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyAyKSk7ei1pbmRleDoxMDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1oaWRkZW4sLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWhpZGRlbntvcGFjaXR5OjA7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tcHJldntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItYnV0dG9uLW5leHQgc3ZnLC5zd2lwZXItYnV0dG9uLXByZXYgc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWluO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQgc3ZnLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYgc3Zne3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc3dpcGVyLWJ1dHRvbi1wcmV2LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHR7bGVmdDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsMTBweCk7cmlnaHQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LDEwcHgpO2xlZnQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO2ZvbnQtc2l6ZTp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTt0ZXh0LXRyYW5zZm9ybTpub25lIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzowO2ZvbnQtdmFyaWFudDppbml0aWFsO2xpbmUtaGVpZ2h0OjF9LnN3aXBlci1idXR0b24tcHJldjphZnRlciwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVye2NvbnRlbnQ6J3ByZXYnfS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldntyaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsMTBweCk7bGVmdDphdXRvfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlcntjb250ZW50OiduZXh0J30uc3dpcGVyLXBhZ2luYXRpb257cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjouM3Mgb3BhY2l0eTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3otaW5kZXg6MTB9LnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbntvcGFjaXR5OjB9LnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkPi5zd2lwZXItcGFnaW5hdGlvbiwuc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCwuc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbntib3R0b206dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tLDhweCk7dG9wOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXRvcCxhdXRvKTtsZWZ0OjA7d2lkdGg6MTAwJX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6MH0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNmb3JtOnNjYWxlKC4zMyk7cG9zaXRpb246cmVsYXRpdmV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWlue3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXZ7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXZ7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7d2lkdGg6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXdpZHRoLHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLDhweCkpO2hlaWdodDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0LHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLDhweCkpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlci1yYWRpdXMsNTAlKTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvciwjMDAwKTtvcGFjaXR5OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1vcGFjaXR5LCAuMil9YnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym94LXNoYWRvdzpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Y3Vyc29yOnBvaW50ZXJ9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpvbmx5LWNoaWxke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtb3BhY2l0eSwgMSk7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRze3JpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXJpZ2h0LDhweCk7bGVmdDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1sZWZ0LGF1dG8pO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwtNTAlLDApfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtdmVydGljYWwtZ2FwLDZweCkgMDtkaXNwbGF5OmJsb2NrfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3t0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjhweH0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgdG9wfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXAsNHB4KX0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3doaXRlLXNwYWNlOm5vd3JhcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIGxlZnR9LnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1ydGw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2NvbG9yOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLWNvbG9yLGluaGVyaXQpfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhcntiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjI1KSk7cG9zaXRpb246YWJzb2x1dGV9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybS1vcmlnaW46bGVmdCB0b3B9LnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgdG9wfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRle3dpZHRoOjEwMCU7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsNHB4KTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7d2lkdGg6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSw0cHgpO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXBhZ2luYXRpb24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1zY3JvbGxiYXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsMTBweCk7cG9zaXRpb246cmVsYXRpdmU7dG91Y2gtYWN0aW9uOm5vbmU7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjEpKX0uc3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZD4uc3dpcGVyLXNjcm9sbGJhciwuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItc2Nyb2xsYmFyLC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKTtib3R0b206dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3R0b20sNHB4KTt0b3A6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci10b3AsYXV0byk7ei1pbmRleDo1MDtoZWlnaHQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaXplLDRweCk7d2lkdGg6Y2FsYygxMDAlIC0gMiAqIHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKSl9LnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci12ZXJ0aWNhbCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1sZWZ0LGF1dG8pO3JpZ2h0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItcmlnaHQsNHB4KTt0b3A6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpO3otaW5kZXg6NTA7d2lkdGg6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaXplLDRweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSkpfS5zd2lwZXItc2Nyb2xsYmFyLWRyYWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1zY3JvbGxiYXItZHJhZy1iZy1jb2xvcixyZ2JhKDAsMCwwLC41KSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsMTBweCk7bGVmdDowO3RvcDowfS5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFne2N1cnNvcjptb3ZlfS5zd2lwZXItc2Nyb2xsYmFyLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItem9vbS1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXJ9LnN3aXBlci16b29tLWNvbnRhaW5lcj5jYW52YXMsLnN3aXBlci16b29tLWNvbnRhaW5lcj5pbWcsLnN3aXBlci16b29tLWNvbnRhaW5lcj5zdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbn0uc3dpcGVyLXNsaWRlLXpvb21lZHtjdXJzb3I6bW92ZTt0b3VjaC1hY3Rpb246bm9uZX0uc3dpcGVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDttYXJnaW46MCBhdXRvfS5zd2lwZXItZ3JpZD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXB9LnN3aXBlci1ncmlkLWNvbHVtbj4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItZmFkZS5zd2lwZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXIuc3dpcGVyLWN1YmV7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybS1vcmlnaW46MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY3ViZS5zd2lwZXItcnRsIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXZ7cG9pbnRlci1ldmVudHM6YXV0bzt2aXNpYmlsaXR5OnZpc2libGV9LnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3d7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5Oi42O3otaW5kZXg6MH0uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdzpiZWZvcmV7Y29udGVudDonJztiYWNrZ3JvdW5kOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZmlsdGVyOmJsdXIoNTBweCl9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCsuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOmF1dG87dmlzaWJpbGl0eTp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3otaW5kZXg6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXIuc3dpcGVyLWZsaXB7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRley13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHksaGVpZ2h0fS5zd2lwZXIuc3dpcGVyLWNhcmRze292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jYXJkcyAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO292ZXJmbG93OmhpZGRlbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nLFxuYnV0dG9uOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEJveCBTaXppbmdcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuIiwiLyogVHlwb2dyYXBoaWNhbCBFbGVtZW50c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNTYlO1xuICAvKiAxMHB4IGJyb3dzZXIgZGVmYXVsdCAqL1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgfVxufVxuXG4vKiBDaHJvbWUgZml4ICovXG5ib2R5PmRpdiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICBsaW5lLWhlaWdodDogMS42MjU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5idXR0b24sXG5pbnB1dDpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxudGV4dGFyZWE6Zm9jdXMsXG4uYnV0dG9uLFxuLmdhbGxlcnkgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbm9sLFxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuXG5ibG9ja3F1b3RlLFxuY2l0ZSxcbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAzMHB4O1xufVxuXG5ibG9ja3F1b3RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxQ1wiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGhlaWdodDogMDtcbiAgbGVmdDogLTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbn1cblxuLyogSGVhZGluZ3NcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBjb2xvcjogJG1haW4tY29sb3ItOTAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgMCAycmVtO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMy42cmVtO1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDIwJSk7XG4gIH1cbn1cblxubGFiZWwge1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgY29sb3I6IGhzbCgwLCAwJSwgNjAlKTtcbn1cblxuLyogVGV4dFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xucCB7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGJhc2UtZm9udC1zaXplICsgMC44O1xuICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYueC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI1O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAmLnNtYWxsIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgJi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKyAwLjQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4vKiBEYXJrIHRoZW1lXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lZGFyay10aGVtZSB7XG5cbiAgYSxcbiAgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIGhyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLy8gLmRhcmstdGhlbWUge1xuLy8gICBAZXh0ZW5kICVkYXJrLXRoZW1lO1xuLy8gfVxuXG4lYmxvZy10eXBvZ3JhcGh5IHtcblxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gIH1cblxuICBsaSxcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4xO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBAZXh0ZW5kICVpdGVtLWxpc3Q7XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIEBleHRlbmQgJWl0ZW0tbGlzdDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICB9XG4gIH1cbn0iLCIvKiBEZWZhdWx0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogT2JqZWN0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndwLWNhcHRpb24sXG5lbWJlZCxcbmlmcmFtZSxcbmltZyxcbm9iamVjdCxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cbi8qIEdhbGxlcnlcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nYWxsZXJ5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpbWcge1xuICAgIGhlaWdodDogYXV0bztcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuLyogVGFibGVzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnRib2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG59XG5cbnRkLFxudGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG50ZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBwYWRkaW5nOiA2cHg7XG59XG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIHBhZGRpbmc6IDAgNnB4O1xufVxuLyogU2NyZWVuIFJlYWRlciBUZXh0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dCxcbi5zY3JlZW4tcmVhZGVyLXRleHQsXG4uc2NyZWVuLXJlYWRlci10ZXh0IHNwYW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQ6Zm9jdXMsXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDtcbiAgLyogQWJvdmUgV1AgdG9vbGJhci4gKi9cbn1cblxuLm1vcmUtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIEltYWdlIHJlbGVhc2VcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5pbWFnZS1yZWxlYXNlIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogVmVydGljYWwgYWxpZ24gY29sdW1uIG9iamVjdHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi52ZXJ0aWNhbC1jZW50ZXIge1xuICAud3AtYmxvY2stY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIiwiLyogQW5pbWF0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJWFuaW1hdGlvbi1iYXNpYy1oaWRlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDA7XG59XG4vKiBmYWRlIGluIHRvcCAqL1xuLmhpZGRlbiB7XG4gIEBleHRlbmQgJWFuaW1hdGlvbi1iYXNpYy1oaWRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG59XG5cbi5zaG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xufVxuLyogZmFkZSBpbiByaWdodCAqL1xuLmZhZGUtcmlnaHQtYmVmb3JlIHtcbiAgQGV4dGVuZCAlYW5pbWF0aW9uLWJhc2ljLWhpZGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG59XG5cbi5mYWRlLXJpZ2h0IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG59XG4vKiBmYWRlIGluIGxlZnQgKi9cbi5mYWRlLWxlZnQtYmVmb3JlIHtcbiAgQGV4dGVuZCAlYW5pbWF0aW9uLWJhc2ljLWhpZGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbn1cblxuLmZhZGUtbGVmdCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xufVxuLyogZmFkZSBpbiBzY2FsZSAqL1xuLmZhZGUtc2NhbGUtYmVmb3JlIHtcbiAgQGV4dGVuZCAlYW5pbWF0aW9uLWJhc2ljLWhpZGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjkpO1xufVxuXG4uZmFkZS1zY2FsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4iLCIvKiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb2x1bW4gTWl4aW5cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjb2x1bW5zKCRzcGFjZSwgJGNvbHM6IDIsICRtb2JpbGUtY29sOiAxKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgPiAqIHtcbiAgICBAaWYgJG1vYmlsZS1jb2wgPT0gMSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG4gICAgQGlmICRtb2JpbGUtY29sID09IDIge1xuICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICgxMDAlIC0gKCN7JHNwYWNlfSAvIDIgKiAoI3skbW9iaWxlLWNvbH0gLSAxKSkpIC8gI3skbW9iaWxlLWNvbH1cbiAgICAgICk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoJHNwYWNlIC8gMik7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRzcGFjZSAvIDIpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAoI3skc3BhY2V9ICogKCN7JGNvbHN9IC0gMSkpKSAvICN7JGNvbHN9KTtcbiAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNlO1xuXG4gICAgICAmOm50aC1jaGlsZCgjeyRjb2xzfW4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lY29sLTEge1xuICBwYWRkaW5nOiAwIDUlO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5jb2wtMSB7XG4gIEBleHRlbmQgJWNvbC0xO1xufVxuXG4uY29scy0yIHtcbiAgQGluY2x1ZGUgY29sdW1ucygzMHB4LCAyKTtcbn1cblxuLmNvbHMtMyB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoMzBweCwgMyk7XG59XG4vKiBDb2x1bW4gTGF5b3V0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNvbHVtbi1sYXlvdXQoJGNvbC0xLCAkY29sLTIsICRjb2wtMzogbnVsbCkge1xuICBAaWYgJGNvbC0zID09IG51bGwge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICA+ICo6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZmxleDogJGNvbC0xIDEgMDtcbiAgICAgIH1cblxuICAgICAgPiAqOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMiAxIDA7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgPiAqOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGZsZXg6ICRjb2wtMSAxIDA7XG4gICAgICB9XG5cbiAgICAgID4gKjpudGgtY2hpbGQoMikge1xuICAgICAgICBmbGV4OiAkY29sLTIgMSAwO1xuICAgICAgfVxuXG4gICAgICA+ICo6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgZmxleDogJGNvbC0zIDEgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnR3by1vbmUge1xuICBAaW5jbHVkZSBjb2x1bW4tbGF5b3V0KDIsIDEpO1xufVxuLyogV3JhcHBlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNTBweCA1JTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogODBweCAxMCU7XG4gIH1cblxuICAmLXNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDUlO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgcGFkZGluZzogMzBweCAxMCU7XG4gICAgfVxuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogODBweCA1JTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEyMHB4IDEwJTtcbiAgICB9XG4gIH1cblxuICAmLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuc2VjdGlvbi53cmFwcGVyIHtcbiAgQGV4dGVuZCAld3JhcHBlcjtcblxuICAmLXNtYWxsIHtcbiAgICBAZXh0ZW5kICV3cmFwcGVyLXNtYWxsO1xuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgQGV4dGVuZCAld3JhcHBlci1sYXJnZTtcbiAgfVxuXG4gICYtZnVsbCB7XG4gICAgQGV4dGVuZCAld3JhcHBlci1mdWxsO1xuICB9XG59XG4iLCIvKiBHZW5lc2lzIFN0cnVjdHVyZSBhbmQgTGF5b3V0XG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNpdGUgQ29udGFpbmVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1jb250YWluZXIge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxubWFpbi5jb250ZW50IHtcbiAgZmxleDogMSAxIDEwMCU7XG59XG5cbi5zaXRlLWhlYWRlcisqIHtcbiAgbWFyZ2luLXRvcDogODFweDtcbn1cblxuLyogQ29tbW9uIENsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR2VuZXNpc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFmdGVyLWVudHJ5LFxuLmFyY2hpdmUtZGVzY3JpcHRpb24sXG4uYXV0aG9yLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5hZnRlci1lbnRyeSB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbn1cblxuLmFmdGVyLWVudHJ5IC53aWRnZXQ6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJyZWFkY3J1bWIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCxcbi5hdXRob3ItYm94IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFNlYXJjaCBGb3JtXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2VhcmNoLWZvcm0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW50cnktY29udGVudCAuc2VhcmNoLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogNTAlO1xufVxuXG4ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLyogVGl0bGVzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktdGl0bGUgYSxcbi5zaWRlYmFyIC53aWRnZXQtdGl0bGUgYSB7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53aWRnZXQtdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogV29yZFByZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYS5hbGlnbmNlbnRlciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmEuYWxpZ25ub25lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5hLmFsaWdubGVmdCxcbmEuYWxpZ25ub25lLFxuYS5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcuYWxpZ25ub25lLFxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmEuYWxpZ25sZWZ0LFxuaW1nLmFsaWdubGVmdCxcbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHggMDtcbn1cblxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQsXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xufVxuXG4uZ2FsbGVyeS1jYXB0aW9uLFxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lbnRyeS1jb250ZW50IHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWF1ZGlvLXNob3J0Y29kZSxcbi5lbnRyeS1jb250ZW50IC53cC1wbGF5bGlzdCxcbi5lbnRyeS1jb250ZW50IC53cC12aWRlbyB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG59IiwiLy8gLm1lbnUtaXRlbS0taGlnaGxpZ2h0XG4vKiBIZWFkZXIgQnV0dG9uc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWhlYWRlci1idXR0b25zIHtcbiAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCg0MHB4LCBoc2xhKDAsIDAlLCAwJSwgMCksIDE3cHgpO1xuICBjb2xvcjogaHNsKDAsIDAlLCA0MCUpO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICB9XG59XG4vKiBTa2lwIExpbmtzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ2VuZXNpcy1za2lwLWxpbmsge1xuICBtYXJnaW46IDA7XG5cbiAgLnNraXAtbGluay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgbGkge1xuICAgIGhlaWdodDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG4vKiBTaXRlIEhlYWRlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC8vIHBhZGRpbmc6IDAgMzBweDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRtYWluLWNvbG9yO1xuXG4gID4gLndyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgd2lkdGg6IG1pbig5MCUsICRkZXNrdG9wLXhsLXdpZHRoKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIC8qIFN0cnVjdHVyZSAqL1xuICAgID4gKiB7XG4gICAgICAmLnByZS1oZWFkZXIge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi50aXRsZS1hcmVhIHtcbiAgICAgICAgLy8gZmxleDogMiAxIDA7XG4gICAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGVhZGVyLXdpZGdldC1hcmVhIHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVudS10b2dnbGUge1xuICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFRpdGxlIEFyZWFcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50aXRsZS1hcmVhIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIG9yZGVyOiAyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgb3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLnNpdGUtZGVzY3JpcHRpb24sXG4ud3AtY3VzdG9tLWxvZ28gLnNpdGUtdGl0bGUge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cbi8qIFJlc3BvbnNpdmUgTWVudVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm1lbnUgLm1lbnUtaXRlbTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5tZW51IC5tZW51LWl0ZW0gPiBhOmZvY3VzICsgdWwuc3ViLW1lbnUsXG4ubWVudSAubWVudS1pdGVtLnNmSG92ZXIgPiB1bC5zdWItbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5nZW5lc2lzLXJlc3BvbnNpdmUtbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxufVxuLyogTWVudSBUb2dnbGUgJiBTdWIgTWVudSBUb2dnbGUgKi9cbi5tZW51LXRvZ2dsZSxcbi5zdWItbWVudS10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjb2xvcjogJG1haW4tY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxufVxuLyogTWVudSBUb2dnbGUgKi9cbi5tZW51LXRvZ2dsZSB7XG4gIEBleHRlbmQgJWhlYWRlci1idXR0b25zO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIG9yZGVyOiA0O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgJi5hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYzMzVcIjtcbiAgfVxufVxuLyogU3ViIE1lbnUgVG9nZ2xlICovXG4uc3ViLW1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNXB4O1xuICB0b3A6IDE1cHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgfVxuXG4gICYuYWN0aXZhdGVkOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBjb2xvcjogbGlnaHRlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgfVxufVxuLyogSGVhZGVyIE1lbnVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVtYWluLW5hdi1pbnRlcmFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgOTYlKTtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJG9yYW5nZTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvci05MDA7XG4gIH1cbn1cbi8qIEhlYWRlciBNZW51IFN0cnVjdHVyZSAqL1xuLm5hdi1wcmltYXJ5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDgwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC53cmFwIHtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi8qIE1haW4gSGVhZGVyIE1lbnUgKi9cbi5tZW51LXByaW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUwLCAyNTAsIDI1MCwgMSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogR2VuZXJpYyBsaSBzdHlsZSovXG4gIC5tZW51LWl0ZW0ge1xuICAgIEBleHRlbmQgJW1haW4tbWVudS1pdGVtO1xuICB9XG4gIC8qIEdlbmVyaWMgbmF2IGxpbmsgc3R5bGUgKi9cbiAgYSB7XG4gICAgQGV4dGVuZCAlbWFpbi1tZW51LWxpbms7XG4gIH1cbiAgLyogRmlyc3QgbGV2ZWwgbGkgKi9cbiAgPiBsaSB7XG4gICAgQGV4dGVuZCAlbWFpbi1tZW51LWl0ZW0tZmlyc3Q7XG5cbiAgICA+IGEge1xuICAgICAgQGV4dGVuZCAlbWFpbi1tZW51LWxpbmstZmlyc3Q7XG4gICAgfVxuICB9XG4gIC8qIExldmVsIDIgTWVudSAqL1xuICAuc3ViLW1lbnUge1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjZmZmLCA2JSk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBsZWZ0OiA5OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuICAgIH1cbiAgICAvKiBTZWNvbmQgbGV2ZWwgbGkgKi9cbiAgICAubWVudS1pdGVtIHtcbiAgICAgIEBleHRlbmQgJW1haW4tbWVudS1pdGVtLXNlY29uZDtcblxuICAgICAgPiBhIHtcbiAgICAgICAgQGV4dGVuZCAlbWFpbi1tZW51LWxpbmstc2Vjb25kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogU3R5bGVzIGZvciBNYWluIE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJW1haW4tbWVudS1pdGVtIHtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi1maXJzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgLyogSWYgaGF2ZSBjaGlsZHJlbiAqL1xuICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRtYWluLWNvbG9yO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAvKiBJZiBIaWdobGlnaHRlZCAqL1xuICAgICYubWVudS1pdGVtLS1oaWdobGlnaHQge1xuICAgICAgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGV4dGVuZCAlbWFpbi1uYXYtaW50ZXJhY3Q7XG4gICAgfVxuICB9XG5cbiAgJi1zZWNvbmQge1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJW1haW4tbWVudS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbiAgY29sb3I6ICRtYWluLWNvbG9yLTk1MDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjE7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgaSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIH1cblxuICAmLWZpcnN0IHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgfVxuICB9XG5cbiAgJi1zZWNvbmQge1xuICAgIHBhZGRpbmc6IDE0cHggMTVweDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIEhlYWRlciBXaWRnZXQgQXJlYVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlYWRlci13aWRnZXQtYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDE7XG4gIG9yZGVyOiAwO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBvcmRlcjogMztcbiAgICBtYXJnaW46IDAgNSUgMCBhdXRvO1xuICB9XG5cbiAgLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaGVhZGVyLWJ1dHRvbnM7XG4gIH1cbn1cbi8qIFByZSBIZWFkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wcmUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgcGFkZGluZzogM3B4IDMlO1xuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGZsZXg6IDExIDEgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZsZXg6IDIgMSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6ICRyZWQ7XG4gIH1cblxuICBhIHtcbiAgICBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBTaWRlYmFyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2lkZWJhciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uc2lkZWJhciBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiIsIi8qIEZvb3RlclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb290ZXIgV2lkZ2V0c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZvb3Rlci13aWRnZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgcGFkZGluZzogNXJlbSAwO1xuICB3aWR0aDogMTAwJTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCIgPjxwYXRoIGQ9XCJNNjAwLDExMi43N0MyNjguNjMsMTEyLjc3LDAsNjUuNTIsMCw3LjIzVjEyMEgxMjAwVjcuMjNDMTIwMCw2NS41Miw5MzEuMzcsMTEyLjc3LDYwMCwxMTIuNzdaXCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIiUyMzBGNTEzMlwiIGZpbGwtb3BhY2l0eT1cIjFcIj48L3BhdGg+PC9zdmc+Jyk7XG4gIH1cblxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC53cmFwIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHdpZHRoOiBtaW4oOTAlLCAkZGVza3RvcC14bC13aWR0aCk7XG4gICAgZ2FwOiAzcmVtO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICB9XG5cbiAgfVxuXG4gIC53aWRnZXQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIEBpbmNsdWRlIGxpbmUtYm9yZGVyKDFweCwgJG1haW4tY29sb3IsIFwiYm90dG9tXCIsIDE1cHgpO1xuICB9XG5cbiAgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uZm9vdGVyLXdpZGdldC1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBwIHtcbiAgICBjb2xvcjogJG9mZi13aGl0ZTtcbiAgICBAZXh0ZW5kIC54LXNtYWxsO1xuICB9XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG59XG5cbi5mb290ZXItd2lkZ2V0LWFyZWEgdWxbaWQqPVwic29jaWFsXCJdIHtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uZm9vdGVyLXdpZGdldHMgLm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cbiAgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMTtcbiAgICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xuXG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzLTEge1xuICBpbWcge1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLXdpZGdldHMtNSB7XG4gIC5tZW51LXNvY2lhbC1tZWRpYS1tZW51LWNvbnRhaW5lciB7XG4gICAgLm1lbnUge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgbGkgYSB7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJG1haW4tY29sb3ItOTUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZi13aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRleHR3aWRnZXQ+cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9vdGVyLXdpZGdldC1hcmVhOmxhc3QtY2hpbGQsXG4uZm9vdGVyLXdpZGdldHMgLndpZGdldDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuI21lbnUtc29jaWFsLW1lZGlhLW1lbnUge1xuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLnNpdGUtaGVhZGVyICYge1xuICAgICAgLy8gdG8gaGlkZSBkaXNwbGF5IGZyb20gaGVhZGVyXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTaXRlIEZvb3RlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstY29sb3I7XG4gIGNvbG9yOiAkb2ZmLXdoaXRlO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgPi53cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB3aWR0aDogbWluKDkwJSwgJGRlc2t0b3AteGwtd2lkdGgpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgID5wIHtcbiAgICAgIEBleHRlbmQgLngtc21hbGw7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgfVxuICB9XG59IiwiLyogR3JhcGhpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNlY29uZGFyeSBHcmFwaGljXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lc2Vjb25kYXJ5LWdyYXBoaWMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjphZnRlcixcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyMGRlZyk7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG59XG4vLyAuc2Vjb25kYXJ5LWdyYXBoaWMge1xuLy8gICBAZXh0ZW5kICVzZWNvbmRhcnktZ3JhcGhpYztcbi8vIH1cbi8qIEJhY2tncm91bmQgUGF0dGVyblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4lYmctcGF0dGVybiB7XG4gIGJhY2tncm91bmQ6ICRwYXR0ZXJuLTEtbGluayByZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIH1cbn1cbi8qIEdyYXBoaWMgRGl2aWRlciAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVncmFwaGljLWRpdmlkZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEyMHB4O1xuICBsZWZ0OiAwO1xuICAvLyBiYWNrZ3JvdW5kOiAkZ3JhcGhpYy1kaXZpZGVyLTEtbGluayBuby1yZXBlYXQgYm90dG9tIC8gMTAydncgYXV0bztcbn1cblxuJWdyYXBoaWMtZGl2aWRlci10b3Age1xuICBAZXh0ZW5kICVncmFwaGljLWRpdmlkZXI7XG4gIHRvcDogLTExOXB4O1xufVxuXG4lZ3JhcGhpYy1kaXZpZGVyLWJvdHRvbSB7XG4gIEBleHRlbmQgJWdyYXBoaWMtZGl2aWRlcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgYm90dG9tOiAtMTE5cHg7XG59XG4vKiBHcmFwaGljIERpdmlkZXIgMiAtIGJydXNoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVncmFwaGljLWRpdmlkZXItLWJydXNoIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsZWZ0OiAwO1xuICAvLyBiYWNrZ3JvdW5kOiAkZ3JhcGhpYy1kaXZpZGVyLTItbGluayBuby1yZXBlYXQgYm90dG9tIC8gMTAydncgYXV0bztcbn1cblxuJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gtdG9wIHtcbiAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyLS1icnVzaDtcbiAgdG9wOiAtNDlweDtcbn1cblxuJWdyYXBoaWMtZGl2aWRlci0tYnJ1c2gtYm90dG9tIHtcbiAgQGV4dGVuZCAlZ3JhcGhpYy1kaXZpZGVyLS1icnVzaDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgYm90dG9tOiAtNDlweDtcbn1cbi8qIERpdmlkZXIgYWZ0ZXIgdGl0bGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWRpdmlkZXItYWZ0ZXItdGl0bGUge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgICB3aWR0aDogNTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cbiIsIi8qIEJ1dHRvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBidG4tMVxuIGJ0bi0yXG4gYnRuLWljb24tdGV4dFxuICovXG4vKiBTdHJ1Y3R1cmUgb2YgYSBidXR0b24gKi9cbkBtaXhpbiBidG4oJHNpemUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgcGFkZGluZzogMC42ZW0gMC45ZW07XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gIH1cbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgcGFkZGluZzogMC45ZW0gMS4yZW07XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjE7XG4gIH1cbiAgQGlmICRzaXplID09IGxhcmdlIHtcbiAgICBwYWRkaW5nOiAxLjJlbTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4lYnRuIHtcbiAgQGluY2x1ZGUgYnRuKG1lZGl1bSk7XG5cbiAgJi1zbWFsbCB7XG4gICAgQGluY2x1ZGUgYnRuKHNtYWxsKTtcbiAgfVxuXG4gICYtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGJ0bihsYXJnZSk7XG4gIH1cbn1cblxuLmJ0biB7XG4gIEBleHRlbmQgJWJ0bjtcblxuICAmLmFsaWduLWMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJi1zbWFsbCB7XG4gICAgQGV4dGVuZCAlYnRuLXNtYWxsO1xuICB9XG5cbiAgJi1sYXJnZSB7XG4gICAgQGV4dGVuZCAlYnRuLWxhcmdlO1xuICB9XG59XG5cbi8qIFNvbGlkIEJ1dHRvbiAtIGJ0bi0xXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBidG4tMSgkYmctY29sb3IsICRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLWNvbG9yLCAxNSUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICB9XG59XG5cbiVidG4tMSB7XG4gIEBpbmNsdWRlIGJ0bi0xKGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKSwgI2ZmZik7XG5cbiAgJi1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJ0bi0xKGhzbCgwLDAlLDYwJSksIGhzbCgwLDAlLDEwMCUpKTtcbiAgfVxuXG4gICYtbGlnaHQge1xuICAgIEBpbmNsdWRlIGJ0bi0xKGhzbCgwLDAlLDkwJSksIGhzbCgwLDAlLDUwJSkpO1xuICB9XG5cbiAgJi1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBidG4tMSgkZ3JlZW4sIGhzbCgwLDAlLDEwMCUpKTtcbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgQGluY2x1ZGUgYnRuLTEoJGJsdWUsIGhzbCgwLDAlLDEwMCUpKTtcbiAgfVxuXG4gICYtd2FybmluZyB7XG4gICAgQGluY2x1ZGUgYnRuLTEoJG9yYW5nZSwgI2ZmZik7XG4gIH1cblxuICAmLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYnRuLTEoJHJlZCwgaHNsKDAsMCUsMTAwJSkpO1xuICB9XG59XG5cbi5idG4tMSB7XG4gIEBleHRlbmQgJWJ0bi0xO1xuXG4gICYtc2Vjb25kYXJ5IHtcbiAgICBAZXh0ZW5kICVidG4tMS1zZWNvbmRhcnk7XG4gIH1cblxuICAmLWxpZ2h0IHtcbiAgICBAZXh0ZW5kICVidG4tMS1saWdodDtcbiAgfVxuXG4gICYtc3VjY2VzcyB7XG4gICAgQGV4dGVuZCAlYnRuLTEtc3VjY2VzcztcbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgQGV4dGVuZCAlYnRuLTEtaW5mbztcbiAgfVxuXG4gICYtd2FybmluZyB7XG4gICAgQGV4dGVuZCAlYnRuLTEtd2FybmluZztcbiAgfVxuXG4gICYtZGFuZ2VyIHtcbiAgICBAZXh0ZW5kICVidG4tMS1kYW5nZXI7XG4gIH1cbn1cblxuLyogT3V0bGluZSBCdXR0b24gLSBidG4tMlxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gYnRuLTIoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXI6IDJweCBzb2xpZCBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuJWJ0bi0yIHtcbiAgQGluY2x1ZGUgYnRuLTIoJG1haW4tY29sb3IpO1xuXG4gICYtd2hpdGUge1xuICAgIEBpbmNsdWRlIGJ0bi0yKCNmZmYpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxNSUpO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLTIge1xuICBAZXh0ZW5kICVidG4tMjtcblxuICAmLXdoaXRlIHtcbiAgICBAZXh0ZW5kICVidG4tMi13aGl0ZTtcbiAgfVxufVxuXG4vKiBCdXR0b24gSWNvbiBUZXh0IC0gLmJ0bi1pY29uLXRleHRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWJ0bi1pY29uLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTUlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiA2cHggMTJweDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIGkge1xuICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMzBweCwgaHNsYSgwLDAlLDEwMCUsMCksIDE4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICB9XG59XG5cbi5idG4taWNvbi10ZXh0IHtcbiAgQGV4dGVuZCAlYnRuLWljb24tdGV4dDtcbn1cbiIsIi8qIEdlbmVzaXMgV2lkZ2V0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2lkZ2V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLndpZGdldCBwOmxhc3QtY2hpbGQsXG4ud2lkZ2V0IHVsID4gbGk6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndpZGdldCB1bCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLndpZGdldCB1bCA+IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ud2lkZ2V0IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0ZXh0LWluZGVudDogLTIwcHg7XG59XG5cbi53aWRnZXQgbGkgbGkge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLndpZGdldF9jYWxlbmRhciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0X2NhbGVuZGFyIHRkLFxuLndpZGdldF9jYWxlbmRhciB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8qIEZvcm1zXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiogRm9ybSBFcnJvcnNcbiAqL1xuJWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xufVxuXG4laW52YWxpZC1pbnB1dCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkcmVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qQ09OVEFDVCBGT1JNKi9cbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbiN7JGlucHV0LWZpZWxkc30sXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogMzhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDFEMUQxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjNTU1O1xuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cblxuLyogUmVtb3ZlcyBhd2t3YXJkIGRlZmF1bHQgc3R5bGVzIG9uIHNvbWUgaW5wdXRzIGZvciBpT1MgKi9cbiN7JGlucHV0LWZpZWxkc30sXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4jeyRpbnB1dC1maWVsZHN9LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JiYmJiYjtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHNhdHVyYXRlKCRtYWluLWNvbG9yLCAxNSUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuZm9ybSB7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmW3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHBhZGRpbmc6IDAuNmVtIDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgQGV4dGVuZCAlYnRuO1xuICAgICAgQGV4dGVuZCAlYnRuLTE7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMWYxZjI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgI2NjYztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypXUENGNyBTUEVDSUZJQyBFUlJPUiBBTkQgQVBQUk9WQUwgTUVTU0FHRVMqL1xuLndwY2Y3IHtcbiAgZm9ybSB7XG4gICAgLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YTRhO1xuICAgICAgcGFkZGluZzogMC4yZW0gMC42ZW07XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCAjY2M0YTRhO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4ycmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YTRhO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgICAgICAgQGV4dGVuZCAlaWNvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud3BjZjctYWNjZXB0YW5jZS1taXNzaW5nLFxuICAgIC53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGVhMGFcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlYTAzXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zZW50IC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGVhMDNcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogU2VsZWN0IFJlc2V0XG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMTtcbiAgY29sb3I6ICM1NTU7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNGVtIDAuNWVtIDAuOGVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB3aWR0aCUzRCUyMjI5Mi40JTIyJTIwaGVpZ2h0JTNEJTIyMjkyLjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzAwN0NCMiUyMiUyMGQlM0QlMjJNMjg3JTIwNjkuNGExNy42JTIwMTcuNiUyMDAlMjAwJTIwMC0xMy01LjRIMTguNGMtNSUyMDAtOS4zJTIwMS44LTEyLjklMjA1LjRBMTcuNiUyMDE3LjYlMjAwJTIwMCUyMDAlMjAwJTIwODIuMmMwJTIwNSUyMDEuOCUyMDkuMyUyMDUuNCUyMDEyLjlsMTI4JTIwMTI3LjljMy42JTIwMy42JTIwNy44JTIwNS40JTIwMTIuOCUyMDUuNHM5LjItMS44JTIwMTIuOC01LjRMMjg3JTIwOTVjMy41LTMuNSUyMDUuNC03LjglMjA1LjQtMTIuOCUyMDAtNS0xLjktOS4yLTUuNS0xMi44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjdlbSB0b3AgNTAlLCAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMC42NWVtIGF1dG8sIDEwMCU7XG5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzg4ODtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2FhYTtcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4IDNweCByZ2JhKDU5LCAxNTMsIDI1MiwgLjcpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAtbW96LW1hYy1mb2N1c3Jpbmc7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYgb3B0aW9uIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG59XG5cbi8qIENoZWNrYm94IFJlc2V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICArKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgPioge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4ICNjY2M7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4ICM5OTk7XG4gICAgICBib3JkZXItbGVmdDogc29saWQgM3B4ICM5OTk7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIH1cbiAgfVxuXG4gICsqOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cblxuICAmOmNoZWNrZWQrKiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oI2ZmZiwgNSUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCNmZmYsIDUlKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKC44KTtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCBsaWdodGVuKCRncmVlbiwgMCk7XG4gICAgICBib3JkZXItbGVmdDogc29saWQgNHB4IGxpZ2h0ZW4oJGdyZWVuLCAwKTtcbiAgICB9XG4gIH1cbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItd2lkdGg6IDA7XG59IiwiLyogTGlzdCBzdHlsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWl0ZW0tbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG4gIH1cblxuICBvbCxcbiAgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLml0ZW0tbGlzdCB7XG4gIEBleHRlbmQgJWl0ZW0tbGlzdDtcblxuICA+IGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIH1cbn1cblxuLm51bWJlci1saXN0IHtcbiAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gID4gbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxufVxuLyogRW50cnkgTWV0YVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmVudHJ5LWNvbW1lbnRzLWxpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG4gIG1hcmdpbjogMCA2cHggMCAycHg7XG59XG4vKiBQYWdpbmF0aW9uXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGV4dGVuZCAlZmxleGJveC1jLWM7XG4gIG1hcmdpbjogNjBweCAwO1xufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGNvbG9yOiAjMzMzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYTpmb2N1cyxcbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYTpob3Zlcixcbi5hcmNoaXZlLXBhZ2luYXRpb24gbGkuYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBjb2xvcjogI2ZmZjtcbn1cbiIsIi8qIFNlY3Rpb24gVGl0bGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWN0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAmLmFsaWduLWMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIGg0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuLyogRGl2aWRlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHIge1xuICBib3JkZXI6IDA7XG59XG5cbmhyLnNtYWxsIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbiVkaXZpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDE1cHggMDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRvcmFuZ2U7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4uZGl2aWRlciB7XG4gIEBleHRlbmQgJWRpdmlkZXI7XG5cbiAgJi1jIHtcbiAgICBAZXh0ZW5kICVkaXZpZGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuIiwiLyogSW1hZ2UgQ2FyZFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuPGZpZ3VyZSBjbGFzcz1cImltZy1jYXJkXCI+XG4gIDxpbWcgc3JjPVwiXCI+XG4gIDxmaWdjYXB0aW9uPjwvZmlnY2FwdGlvbj5cbjwvZmlndXJlPlxuKi9cbi5pbWctY2FyZCB7XG4gIEBleHRlbmQgJWltZy1jYXJkO1xufVxuXG4laW1nLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgxMCwxMCUsMTAlLHRvcCk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cblxuICBmaWdjYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4xO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG4vKiBMb2dvIEdhbGxlcnlcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjxzZWN0aW9uIGNsYXNzPVwibG9nby1zaG93Y2FzZVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2VjdGlvbi10aXRsZSBhbGlnbi1jXCI+XG4gICAgPGgyPk91ciBDbGllbnRzPC9oMj5cbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyLWNcIj5cbiAgICA8cD5IZXJlIGFyZSBzb21lIG9mIG91ciBvdXIgY2xpZW50cy48L3A+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJsb2dvLXNob3djYXNlLWdhbGxlcnlcIj5cbiAgICA8aW1nIHNyYz1cIi4uLy4uLy4uL3N0YXRpYy9sb2dvLTEuanBnXCI+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuKi9cbi5sb2dvLWZlYXR1cmUtZ2FsbGVyeSB7XG4gIEBleHRlbmQgJWxvZ28tZmVhdHVyZS1nYWxsZXJ5O1xufVxuXG4lbG9nby1mZWF0dXJlLWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuXG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4vKiBJbWFnZSBCYW5uZXJcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIDxzZWN0aW9uIGNsYXNzPVwiaW1hZ2UtYmFubmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItbGVmdFwiPlxuICAgICAgPGgzPlRpdGxlPC9oMz5cbiAgICAgIDxwPkRlc2NyaXB0aW9uPC9wPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tM1wiPkxlYXJuIE1vcmU8L2E+XG4gICAgPC9kaXY+XG4gICAgPGltZyBzcmM9XCIvc3RhdGljL2FzZC5qcGdcIj5cbiAgPC9zZWN0aW9uPlxuXG4gICovXG4vLyAuaW1hZ2UtYmFubmVyIHtcbi8vICAgQGV4dGVuZCAlaW1hZ2UtYmFubmVyO1xuLy8gfVxuXG4laW1hZ2UtYmFubmVyIHtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICBwYWRkaW5nOiAxMHB4O1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICYuY29udGFpbmVyLWxlZnQge1xuICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JGRlc2t0b3Atd2lkdGh9ICogMC41KTtcbiAgICAgICAgbWF4LXdpZHRoOiAkZGVza3RvcC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAjeyRkZXNrdG9wLXdpZHRofSkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbnRhaW5lci1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDAlIC0gI3skZGVza3RvcC13aWR0aH0pIC8gMik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogQmFubmVyc1xuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4lYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgcGFkZGluZzogNTBweCAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBpbWcge1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi8qIFJlZ3VsYXIgQmFubmVyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVyZWd1bGFyLWJhbm5lciB7XG4gIEBleHRlbmQgJWJhbm5lcjtcbiAgLy8gQGV4dGVuZCAlYmctcGF0dGVybjtcbiAgYmFja2dyb3VuZDogJGRhcmstY29sb3I7XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbihcImJvdHRvbVwiLCAxMHB4KTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyAmOmJlZm9yZSB7XG4gIC8vICAgY29udGVudDogXCJcIjtcbiAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgd2lkdGg6IDUwJTtcbiAgLy8gICBoZWlnaHQ6IDEwMCU7XG4gIC8vICAgcmlnaHQ6IDA7XG4gIC8vICAgdG9wOiAwO1xuICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyAgIHotaW5kZXg6IDE7XG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstY29sb3I7XG4gIC8vIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIHJpZ2h0OiBtYXgoMCUsIGNhbGMoKDEwMHZ3IC0gJGRlc2t0b3AteGwtd2lkdGgpIC8gMikpO1xuICAgIHRvcDogY2FsYyg1MCUgLSAyNTBweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9zdGF0aWMvc3BpcmFsLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIGFuaW1hdGlvbjogcm90YXRlU2NhbGUgNjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gID4qOm5vdChpbWcpIHtcbiAgICB3aWR0aDogbWluKDkwJSwgJGRlc2t0b3AteGwtd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBtYXgoNSUsIGNhbGMoKDEwMHZ3IC0gJGRlc2t0b3AteGwtd2lkdGgpIC8gMikpO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIG1heC13aWR0aDogY2FsYygkZGVza3RvcC14bC13aWR0aCAvIDIpO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4yO1xuICAgIGNvbG9yOiAkb3JhbmdlLTUwO1xuICB9XG5cbiAgaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJG9yYW5nZS01MDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgbGVmdDptaW4oY2FsYygtNXZ3KSwgY2FsYygtMSAqICgxMDB2dyAtICRkZXNrdG9wLXhsLXdpZHRoKSAvIDIpKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gd2lkdGg6IDQwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiA4MCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICB0b3A6IDEwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogbWF4KDUlLCBjYWxjKCgxMDB2dyAtICRkZXNrdG9wLXhsLXdpZHRoKSAvIDIpKTtcbiAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLCAwJSwgOTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLmVudHJ5LWhlYWRlcixcbi5yZWd1bGFyLWJhbm5lciB7XG4gIEBleHRlbmQgJXJlZ3VsYXItYmFubmVyO1xufVxuXG4vKiBHaWFudCBCYW5uZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiVnaWFudC1iYW5uZXIge1xuICBoZWlnaHQ6IDUwMHB4O1xuICBtYXgtaGVpZ2h0OiA3MjBweDtcbiAgQGV4dGVuZCAlYmFubmVyO1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGhlaWdodDogY2FsYygxMDB2aCk7XG4gIH1cblxuICAuZW50cnktdGl0bGUsXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRleHQtc2hhZG93OiAzcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuNik7XG5cbiAgICBoMSxcbiAgICBoMiB7XG4gICAgICBjb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLmdpYW50LWJhbm5lciB7XG4vLyAgIEBleHRlbmQgJWdpYW50LWJhbm5lcjtcbi8vIH0iLCIvKiBIZXJvIFNsaWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2lhbnQgQmFubmVyIFNsaWRlciAqL1xuLmhlcm8tc2xpZGVyIHtcbiAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgQGV4dGVuZCAlYmFubmVyO1xuICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8vIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogYXV0bztcblxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cblxuICAvLyBAaW5jbHVkZSB0YWJsZXQge1xuICAvLyAgIG1heC1oZWlnaHQ6IDcyMHB4O1xuICAvLyB9XG59XG5cbi5oZXJvLXNsaWRlci0tc2hvcnQge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgLmhlcm8tc2xpZGUge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgfVxufVxuXG4vKiBHaWFudCBCYW5uZXIgU2xpZGUgKi9cbi5oZXJvLXNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAvLyBoZWlnaHQ6IDcwdmg7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICB9XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgLy8gbWF4LWhlaWdodDogY2FsYygxMDB2dyAvIDE2ICogOSk7XG4gICAgLy8gaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIC8qIEdlbmVyaWMgRmlnY2FwdGlvbiBTdHlsZXMgKi9cbiAgZmlnY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogaHNsYSgxMDcsMjMlLDEwJSwwLjMpO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDUlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICAgLy8gR3JhZGllbnQgRmFkZVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogLTk5cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwgMjU1JSwgMjU1JSwgdG9wKTtcbiAgICAgIH1cblxuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAzO1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMjUlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc3VidGl0bGUtZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBoZWlnaHQ6IDkwdnc7XG4gICAgfVxuICB9XG5cbiAgLyogQ2FwdGlvbiBQb3NpdGlvbnMgKi9cbiAgJi0tbGVmdCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZ3JhZGllbnQtZmFkZS1sZWZ0LXJpZ2h0O1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tbGlnaHQ6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWZhZGUoMjU1LCAyNTUlLCAyNTUlLCByaWdodCk7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1kYXJrOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsIDAlLCAwJSwgcmlnaHQpO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1maWdjYXB0aW9uLWxlZnQtcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGxlZnQ6IDV2dztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGUtbGVmdC1yaWdodDtcbiAgICB9XG5cbiAgICAmLmhlcm8tc2xpZGUtLWxpZ2h0OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDI1NSwgMjU1JSwgMjU1JSwgbGVmdCk7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1kYXJrOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsIDAlLCAwJSwgbGVmdCk7XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWZpZ2NhcHRpb24tbGVmdC1yaWdodDtcblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcmlnaHQ6IDV2dztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWNlbnRlciB7XG4gICAgJjpiZWZvcmUge31cblxuICAgICYuaGVyby1zbGlkZS0tbGlnaHQ6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWZhZGUoMjU1LCAyNTUlLCAyNTUlLCBib3R0b20pO1xuICAgIH1cblxuICAgICYuaGVyby1zbGlkZS0tZGFyazpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgwLCAwJSwgMCUsIGJvdHRvbSk7XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMjBweCA1JTtcblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYtLXRvcCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1ncmFkaWVudC1mYWRlLXRvcC1ib3R0b207XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1saWdodDpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgyNTUsIDI1NSUsIDI1NSUsIGJvdHRvbSk7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1kYXJrOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsIDAlLCAwJSwgYm90dG9tKTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZmlnY2FwdGlvbi10b3AtYm90dG9tO1xuXG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gICYtLWJvdHRvbSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgQGV4dGVuZCAlaGVyby1zbGlkZS1ncmFkaWVudC1mYWRlLXRvcC1ib3R0b207XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1saWdodDpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZmFkZSgyNTUsIDI1NSUsIDI1NSUsIHRvcCk7XG4gICAgfVxuXG4gICAgJi5oZXJvLXNsaWRlLS1kYXJrOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mYWRlKDAsIDAlLCAwJSwgdG9wKTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBleHRlbmQgJWhlcm8tc2xpZGUtZmlnY2FwdGlvbi10b3AtYm90dG9tO1xuXG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogRGFyayBmb250IHN0eWxlcyAqL1xuICAmLS1kYXJrIGZpZ2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAqIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogTGVmdCBhbmQgcmlnaHQgZmlnY2FwdGlvbiovXG4laGVyby1zbGlkZS1maWdjYXB0aW9uIHtcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAmLWxlZnQtcmlnaHQge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG5cbiAgICAmLXRvcC1ib3R0b20ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgcGFkZGluZzogMCAyMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbiVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGUge1xuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuICBvcGFjaXR5OiAwLjU7XG5cbiAgJi1sZWZ0LXJpZ2h0IHtcbiAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJi10b3AtYm90dG9tIHtcbiAgICBAZXh0ZW5kICVoZXJvLXNsaWRlLWdyYWRpZW50LWZhZGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxufSIsIi8qIERlZmF1bHQgQmxvY2tzICovXG4uaW5saW5lLXdyYXAge1xuICB3aWR0aDogbWluKDkwJSwgJGRlc2t0b3AteGwtd2lkdGgpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuXG4gICYubmFycm93IHtcbiAgICB3aWR0aDogbWluKDkwJSwgJGRlc2t0b3Atd2lkdGgpO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcC14bCB7XG4gICAgICB3aWR0aDogbWluKDkwJSwgJGRlc2t0b3AteGwtd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmFsaWduY2VudGVyIC5zZWN0aW9uLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLyogSW1hZ2UgR2FsbGVyeSAqL1xuLmltYWdlLWdhbGxlcnktc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDUwcHggNSU7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG59XG5cbi5pbWFnZS1nYWxsZXJ5LWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBhZGRpbmc6IDNweDtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi8qIExSIExheW91dCAqL1xuLmxyLWxheW91dCB7XG4gIC8vIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3N0YXRpYy9iYWNrZ3JvdW5kLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAtMTtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG5cbiAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgb3JkZXI6IC0xXG4gICAgICB9XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAtMTUwcHg7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBleHRlbmQgJWZsZXhib3gtYy1jO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAzcmVtO1xuICAgIG1hcmdpbi1ibG9jazogNXJlbTtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBnYXA6IDVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxuICB9XG5cbiAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtNTA7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlICsgMTUwcHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDE1MHB4KTtcbiAgICAgICAgdG9wOiAtNzVweDtcbiAgICAgICAgbGVmdDogLTE1MHB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICAvLyBwYWRkaW5nOiA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwcHggMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMDtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiAwcHggMCU7XG4gICAgfVxuICB9XG59XG5cbi5zZWNvbmRhcnktZ3JhcGhpYy0wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMC4zO1xuICB3aWR0aDogMjV2dztcbiAgaGVpZ2h0OiAyNXZ3O1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgbGVmdDogY2FsYyg1MCUgLSAxMi41dncpO1xuICB0b3A6IGNhbGMoNTAlIC0gMTIuNXZ3KTtcbn1cblxuLyogRWNvbW1lcmNlIEhpZ2hsaWdodHMgKi9cbi5hdHRyaWJ1dGUtaGlnaGxpZ2h0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICBwYWRkaW5nOiA2MHB4IDUlIDUwcHg7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogNjBweCAxMCUgNTBweDtcbiAgfVxuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgQGluY2x1ZGUgY29sdW1ucygyNXB4LCA0KTtcblxuICAgID4qIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljb24tY2FyZCB7XG4gICAgaW1nIHtcbiAgICAgIGZpbHRlcjogc2F0dXJhdGUoMCkgaW52ZXJ0KDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLyogRm9vZCBNZW51ICovXG4uZGlzaC1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJG9mZi13aGl0ZSwgMTAlKTtcbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSA0NSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyA1cHgpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRpc2gtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG5cbiAgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gIH1cbn1cblxuXG4vKiBQcm9kdWN0IEZlYXR1cmUgKi9cbi5saWJyYXJ5LWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIH1cblxuICAuc2luZ2xlLXByb2R1Y3QtZmVhdHVyZSB7XG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBib3R0b206IC0zMDBweDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLXByb2R1Y3QtZmVhdHVyZS5hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPmltZyB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjZzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IDAuNnM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiBoc2xhKDAsIDAlLCAwJSwgMC41KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggNTBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFN0YXRlIHdoZW4gbm90IGFjdGl2ZSAqL1xuICAuc2luZ2xlLXByb2R1Y3QtZmVhdHVyZTpub3QoLmFjdGl2ZSkge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA5NSUpO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCgwLCAwJSwgODUlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGhzbCgwLCAwJSwgODUlKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIGRhcmtlbigkbWFpbi1jb2xvciwgMjAlKTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuN3JlbTtcblxuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbnRhY3QgMSAqL1xuLmNvbnRhY3QtMSB7XG4gIG1hcmdpbjogODBweCAwO1xufVxuXG4uY29udGFjdC1kZXRhaWxzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBnYXA6IDQwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDgwcHggMDtcblxuICAuY29udGFjdC1kZXRhaWwge1xuICAgIGZsZXg6IDEgMSAyMDBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZGV0YWlsLWNhcHRpb24ge1xuICAgICAgYiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC0xX21hcGVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDUwcHggMCAxNTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA3NSU7XG4gICAgYm90dG9tOiAtMjUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbigkb2ZmLXdoaXRlLCAxMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJG9mZi13aGl0ZSwgMTAlKTtcblxuICAgIEBleHRlbmQgLmltYWdlLXJlbGVhc2U7XG4gIH1cbn0iLCIucG9zdC1hcmNoaXZlIHtcbiAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKCdib3R0b20nLCA1MHB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIC5hcmNoaXZlLWRlc2NyaXB0aW9uIHtcbiAgICBAZXh0ZW5kICVyZWd1bGFyLWJhbm5lcjtcbiAgICBwYWRkaW5nOiA1MHB4IDUlIDA7XG4gIH1cblxuICAucG9zdC1lbnRyeS1saXN0IHtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBleHRlbmQgLmlubGluZS13cmFwO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbGV4OiAzIDEgMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgIC8vIG1heC13aWR0aDogNjUwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxuICB9XG59XG5cbi5wb3N0LWVudHJ5LWxpc3Qge1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDMwcHgpO1xuXG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNTBweDtcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmVudHJ5LmNhdGVnb3J5LW5ld3MtdXBkYXRlcyB7XG4gICAgbWFyZ2luLWJsb2NrOiAzMHB4O1xuXG4gICAgKy5lbnRyeSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgaHNsKDAsIDAlLCA4MCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSAuZW50cnktY29udGVudCB7XG4gICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuXG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAuc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIC5jYXRlZ29yeS1saW5rIHtcbiAgICBAZXh0ZW5kICVidG4tc21hbGw7XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBtYXJnaW4tYmxvY2s6IDIwcHg7XG5cbiAgICBoMiB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gIH1cblxuICAuZW50cnktY29udGVudF9fdGh1bWJuYWlsLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNzBweDtcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gICAgbWluLXdpZHRoOiA1NSU7XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cbn0iLCIvKiBTdHJ1Y3R1cmUgb2Ygc2luZ2xlIHBvc3QqL1xuLnBvc3Qtc2luZ2xlIHtcbiAgLmVudHJ5IHtcbiAgICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDUwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC5oYXMtcG9zdC10aHVtYm5haWwgLmVudHJ5LWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTAwJSAvIDE2ICogMyk7XG5cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICAgICAgd2lkdGg6IG1pbigkZGVza3RvcC14bC13aWR0aCwgOTAlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWFyZ2luLWJsb2NrOiAzMHB4O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDBweCBjYWxjKC0jeyRkZXNrdG9wLXdpZHRofSAvIDE2ICogNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGV4dGVuZCAuaW5saW5lLXdyYXA7XG4gICAgbWF4LXdpZHRoOiAkZGVza3RvcC13aWR0aDtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAvLyBmbGV4OiAzIDEgMDtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIC8vIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgIC8vIG1heC13aWR0aDogNjUwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qIFByaW1hcnkgc2lkZWJhciBvbmx5ICovXG4uc2lkZWJhci1wcmltYXJ5IHtcbiAgLndpZGdldC10aXRsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoNHB4LCBoc2woMCwgMCUsIDg1JSksICdib3R0b20nLCAxMHB4KTtcbiAgfVxufVxuXG4uZW50cnktY29udGVudCB7XG4gIC5lbnRyeS1tZXRhIHtcbiAgICBAZXh0ZW5kIC5zbWFsbDtcbiAgICBjb2xvcjogaHNsKDAsIDAlLCA3MCUpO1xuICB9XG59XG5cbi8qIFNpbmdsZSBQYWdlIENvbnRlbnRcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucG9zdC1zaW5nbGUge1xuICAuZW50cnktY29udGVudCB7XG4gICAgQGV4dGVuZCAlYmxvZy10eXBvZ3JhcGh5O1xuXG4gICAgPnVsIHtcbiAgICAgIEBleHRlbmQgLml0ZW0tbGlzdDtcbiAgICB9XG5cbiAgICA+b2wge1xuICAgICAgQGV4dGVuZCAubnVtYmVyLWxpc3Q7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gLmNvbW1lbnQtcmVzcG9uZCB7XG4gIC8vICAgcGFkZGluZzogMCA1JTtcbiAgLy8gfVxufVxuXG4ucG9zdC1jYXRlZ29yaWVzIHtcbiAgYSB7XG4gICAgY29sb3I6ICRvZmYtd2hpdGU7XG4gIH1cbn1cbiIsIi5lcnJvcjQwNCB7XG4gICAgbWFpbi5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IG1pbigxMDAlLCA3MDBweCk7XG4gICAgICAgIG1hcmdpbjogMTUwcHggYXV0byA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59IiwiQGtleWZyYW1lcyByb3RhdGVTY2FsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZykgc2NhbGUoMS41KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpIHNjYWxlKDEpO1xuICB9XG59XG5cbi5iZy1vZmYtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ubXQtMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLyogRWNvbW1lcmNlIEhpZ2hsaWdodHMgKi9cbi5lY29tbWVyY2UtaGlnaGxpZ2h0cyB7XG4gIEBpbmNsdWRlIGNvbHVtbnMoMTVweCwgNCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICBwYWRkaW5nOiA2MHB4IDUlIDUwcHg7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgcGFkZGluZzogNjBweCAxMCUgNTBweDtcbiAgfVxuXG4gID4qIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuaWNvbi1jYXJkIHtcbiAgICBpbWcge1xuICAgICAgZmlsdGVyOiBzYXR1cmF0ZSgwKSBpbnZlcnQoMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4uaWNvbi1jYXJkIHtcbiAgQGluY2x1ZGUgdGh1bWJuYWlsLWNhcmQoMTAwJSwgNDBweCwgcmlnaHQsIDEwcHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgfVxuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHt9XG4gIH1cblxuICBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDIwJSk7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLyogRmxvYXRpbmcgYnV0dG9uICovXG4uZmxvYXRpbmctd2hhdHNhcHAtYnV0dG9uIHtcbiAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCg0NnB4LCAjMjVkMzY2LCAyM3B4KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGJvdHRvbTogMTBweDtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG5cbi8qIFN3aXBlciBCdXR0b24gKi9cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgY29sb3I6ICRtYWluLWNvbG9yO1xufVxuXG4vLyBWZW5kaW5nXG5cbi5zZWN0aW9uLXZlbmRpbmcge1xuICAuaW5saW5lLXdyYXAge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIGdhcDogMnJlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gICAgfVxuXG4gICAgPmRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLTUwO1xuICAgICAgcGxhY2Utc2VsZjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yNSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAxLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtIDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiAkbWFpbi1jb2xvci01MDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXR0cmlidXRlcyBmZWF0dXJlXG4uYXR0cmlidXRlcy1mZWF0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3ItOTAwO1xuICBwYWRkaW5nOiAxMHJlbSAwO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgZmlsdGVyOiBzYXR1cmF0ZSgwKTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vd3AtY29udGVudC91cGxvYWRzL2JnLTIuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG5cbiAgLmlubGluZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IG1pbig2MDBweCwgOTAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAzcmVtIDA7XG4gIH1cbn1cblxuLmF0dHJpYnV0ZS1jb3VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLTUwO1xuICB3aWR0aDogNTAlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMTtcblxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIHdpZHRoOiAyODBweDtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDEpIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweFxuICB9XG5cbiAgJjpudGgtY2hpbGQoNCkge1xuICAgIG1hcmdpbi10b3A6IC0xNDBweFxuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMi41O1xuICB9XG59XG5cbi5hdHRyaWJ1dGUtY291bnRlci0xIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSB0cmFuc2xhdGVZKDAlKTtcbn1cblxuLmF0dHJpYnV0ZS1jb3VudGVyLTIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHRyYW5zbGF0ZVkoMCUpO1xufVxuXG4uYXR0cmlidXRlLWNvdW50ZXItMyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgwJSk7XG59XG5cbi5hdHRyaWJ1dGUtY291bnRlci00IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSB0cmFuc2xhdGVZKDAlKTtcbn1cblxuLy8gSG9tZXBhZ2Vcbi5ob21lLWJyYW5kcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG5cbiAgLnByb2R1Y3RzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblxuICAgIH1cbiAgfVxufVxuXG4uY3RhLWxhcmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGZpbHRlcjogc2F0dXJhdGUoMCk7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3dwLWNvbnRlbnQvdXBsb2Fkcy9iZy0xLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gIH1cblxuICAuaW5saW5lLXdyYXAge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBnYXA6IDEwcmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgIHBhZGRpbmc6IDVyZW0gNXJlbSAyLjVyZW07XG5cbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgb3JkZXI6IC0xO1xuICAgIH1cbiAgfVxuXG4gIGgyLFxuICBoNCB7XG4gICAgY29sb3I6ICRvcmFuZ2UtNTA7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICA+KiB7XG4gICAgICB0cmFuc2l0aW9uOiAwcztcbiAgICAgIC8vIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5ob21lLWFib3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGZpbHRlcjogc2F0dXJhdGUoMCk7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3dwLWNvbnRlbnQvdXBsb2Fkcy9iZy0yLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogbWluKDEwMCUsICRkZXNrdG9wLXhsLXdpZHRoKTtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBnYXA6IDZyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiA1cmVtIDV2dztcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJG9yYW5nZS01MDtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4xO1xuICB9XG5cbiAgaW1nIHtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLy8gU3VtbWFyeVxuXG5kZXRhaWxzIHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIGhzbCgwLCAwJSwgNzAlKTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgd2lkdGg6IG1pbig2MDBweCwgMTAwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgOTglKTtcblxuICArZGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgOTYlKTtcbiAgfVxuXG4gICZbb3Blbl0ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRtYWluLWNvbG9yLTcwMDtcblxuXG4gICAgc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAmOjptYXJrZXIge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdW1tYXJ5IHtcbiAgICBjb2xvcjogJG1haW4tY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC8vIGgzIHtcbiAgICAvLyAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIC8vICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgLy8gICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICAvLyAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLy8gICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgLy8gfVxuICB9XG5cbiAgPio6bm90KHN1bW1hcnkpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICA+KjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgcCxcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4xO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICB1bCB7XG4gICAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gICAgPmxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgQGV4dGVuZCAlaXRlbS1saXN0O1xuXG4gICAgPmxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtcGFnZSB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICB3aWR0aDogbWluKCRkZXNrdG9wLXdpZHRoLCA5MCUpO1xuICAgIG1hcmdpbjogNXJlbSBhdXRvO1xuICAgIEBleHRlbmQgJWJsb2ctdHlwb2dyYXBoeTtcblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5pbmxpbmUtd3JhcCB7XG4gICAgICB3aWR0aDogbWluKDEwMCUsICRkZXNrdG9wLXhsLXdpZHRoKTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBDb250YWN0IFBhZ2Vcbi5jb250YWN0LXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuXG4gIC5pbmxpbmUtd3JhcCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDhyZW07XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxuXG4gIC53cGNmNyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vc3RhdGljL2JhY2tncm91bmQtcGF0dGVybi1kYXJrLndlYnBcIikgcmVwZWF0IGNlbnRlci9jb3ZlcjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycmVtIDJyZW07XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRvcmFuZ2U7XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICB9XG5cblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgfVxuICB9XG59XG5cbi5jb250YWN0LWRldGFpbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG5cbiAgKy5jb250YWN0LWRldGFpbCB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYiB7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG4gIH1cblxuICBhLFxuICBwIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogaHNsKDAsIDAlLCAzMCUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gICAgY29sb3I6ICRtYWluLWNvbG9yLTkwMDtcbiAgfVxuXG4gIGIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgICBjb2xvcjogaHNsKDAsIDAlLCA1MCUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCgzNnB4LCAkbWFpbi1jb2xvciwgJGJhc2UtZm9udC1zaXplKTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5zb2NpYWwtbWVkaWEtbWVudSB7XG4gIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCgzNnB4LCAkbWFpbi1jb2xvciwgJGJhc2UtZm9udC1zaXplKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuLmxvZ28tZ2FsbGVyeSB7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG59XG5cbi5hYm91dC1nb3VybWV0LXZlbmRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vc3RhdGljL2JhY2tncm91bmQtcGF0dGVybi53ZWJwKSByZXBlYXQgY2VudGVyIC8gY292ZXI7XG5cbiAgaDIge1xuICAgIC8vIGNvbG9yOiAkb2ZmLXdoaXRlO1xuICB9XG5cbiAgcCB7XG4gICAgd2lkdGg6IG1pbigxMDBjaCwgMTAwJSk7XG4gIH1cbn1cblxuLnZlbmRpbmctbG9jYXRpb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9mZi13aGl0ZTtcblxuICBmaWd1cmUgaW1nIHtcbiAgICBhc3BlY3QtcmF0aW86IDQvMztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIH1cblxuICBiIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLyBNYW5hZ2VtZW50IFByb2ZpbGVcblxuLnNlY3Rpb24tbWFuYWdlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG59XG5cbi5wcm9maWxlLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGdhcDogMnJlbTtcbn1cblxuLnByb2ZpbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3gtc2hhZG93OiAwLjI1cmVtIDAuMjVyZW0gMC41cmVtIDByZW0gaHNsYSgwLCAwJSwgMTAlLCAwLjEpO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAuMjVyZW0gMC4yNXJlbSAxcmVtIDByZW0gaHNsYSgwLCAwJSwgMTAlLCAwLjI1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYXNwZWN0LXJhdGlvOiAzLzQ7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cblxuICBmaWdjYXB0aW9uLFxuICAucHJvZmlsZS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICBiIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuMjtcbiAgICBjb2xvcjogJG1haW4tY29sb3ItOTAwO1xuICB9XG5cbiAgaSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogaHNsKDAsIDAlLCAzMCUpO1xuICB9XG59XG5cbi8vIFByb2ZpbGUgRGlhbG9nXG4jcHJvZmlsZS1kaWFsb2cge1xuICB3aWR0aDogbWluKDYwMHB4LCA5MCUpO1xuICBwYWRkaW5nOiAycmVtO1xuXG4gIHAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgI2Nsb3NlLWRpYWxvZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS10b3Age1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xuICAgIGdhcDogMXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgZGl2IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgfVxuICB9XG59XG5cbmRpYWxvZyB7XG4gIGJvcmRlcjogMDtcblxuICAmOjpiYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIDAuOCk7XG4gIH1cbn1cblxuLy8gQ29ycG9yYXRlIFN0cnVjdHVyZVxuI3RyZWUtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG5cbiAgcmVjdCB7XG4gICAgZmlsbDogJG1haW4tY29sb3I7XG4gIH1cblxuICBnLmxpbmsgcGF0aCB7XG4gICAgc3Ryb2tlOiAkb3JhbmdlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gcHJvY2Vzcy13aXRoLWltYWdlLXNlY3Rpb25cblxuLnByb2Nlc3Mtd2l0aC1pbWFnZS1zZWN0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcblxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuXG4gIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgbGVmdCAvIGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICB9XG4gIH1cblxuICAucHJvY2Vzcy1saXN0IHtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRvcmFuZ2U7XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICBjb2xvcjogJG9mZi13aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnJlbTtcbiAgICAgIHRleHQtaW5kZW50OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5wcm9jZXNzLXNpbmdsZSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICB9XG59XG5cbi5zZWN0aW9uLTItY29scyAuaW5saW5lLXdyYXAge1xuICBkaXNwbGF5OiBncmlkO1xuXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogNXJlbTtcbiAgfVxufVxuXG4uY2FyZC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZ2FwOiAwLjVyZW07XG4gIG1hcmdpbi1ibG9jazogMnJlbTtcblxuICBsaSB7XG4gICAgcGFkZGluZzogMXJlbSAxLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvci05NTA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcbiAgfVxufVxuXG4uc2VjdGlvbi1vZW0ge1xuICBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4vKiBUaGUgZnVsbHBhZ2UgY29udGFpbmVyIHRha2VzIHVwIGZ1bGwgdmlld3BvcnQgaGVpZ2h0IGFuZCBzY3JvbGxzIGludGVybmFsbHkgKi9cbiNmdWxscGFnZS13cmFwcGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTQwcHgpO1xuICAvKiBFeGFtcGxlOiBhZGp1c3QgaWYgaGVhZGVyL2Zvb3RlciBoZWlnaHQgdG90YWwgMTQwcHggKi9cbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cblxuICAvKiB3aWR0aCAqL1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDVweDtcbiAgfVxuXG4gIC8qIFRyYWNrICovXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICB9XG5cbiAgLyogSGFuZGxlICovXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICB9XG5cbiAgLyogSGFuZGxlIG9uIGhvdmVyICovXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICB9XG5cbiAgLyogT3B0aW9uYWwgbmF0aXZlIHNtb290aCBzY3JvbGxpbmcgZmFsbGJhY2sgKi9cbiAgLyogRWFjaCBzZWN0aW9uIGlzIGZ1bGwtc2NyZWVuIHJlbGF0aXZlIHRvIHRoZSBjb250YWluZXIgKi9cbiAgLnNlY3Rpb24ge1xuICAgIGhlaWdodDogOTB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi5mdWxsc2NyZWVuLXNsaWRlcyB7XG4gIC5zZWN0aW9uLmludHJvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIHdpZHRoOiBtaW4oNjAwcHgsIDEwMCUpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG5cbiAgICBoMixcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi10d28tY29scyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XG5cbiAgLmlubGluZS13cmFwIHtcbiAgICB3aWR0aDogbWluKCRkZXNrdG9wLXhsLXdpZHRoLCAxMDAlKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgID5pbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0LzNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG59XG5cbi53cC1ibG9jay1saXN0IGxpIHtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbi8vIHdwLWJsb2NrLWdhbGxlcnlcbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmxvZ28tZ2FsbGVyeSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gIGRpc3BsYXk6IGdyaWQ7XG5cbiAgPi53cC1ibG9jay1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gSG9tZSBNYWluIEZlYXR1cmVcbi5ob21lLW1haW4tZmVhdHVyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDkwdmg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHZoO1xuICB6LWluZGV4OiAtMTA7XG5cbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTEwO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGFic29sdXRlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAmOm5vdCg6bnRoLWNoaWxkKDEpKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDNyZW0gNnJlbTtcbiAgICB3aWR0aDogbWluKDkwJSwgY2FsYygkZGVza3RvcC14bC13aWR0aCAvIDEuNzUpKTtcbiAgICBjb2xvcjogJG9yYW5nZS01MDtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlLTUwO1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cblxuICAuYXJ0aWNsZS0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4vLyBPUkcgQ0hBUlRcbi5vcmctY2hhcnQge1xuICB1bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIDEwMCU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLm9yZy1jaGFydF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIGNvbG9yOiAkb3JhbmdlLTUwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jb2xvcjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICBsZWZ0OiAxcmVtO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBib3R0b206IC0ycmVtO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgfVxuXG4gICt1bCB7XG4gICAgPmxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICAgIH1cblxuICAgID5saTpvbmx5LWNoaWxkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmVcbiAgICB9XG5cbiAgICA+bGk6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG5cbiAgICA+bGk6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgfVxuICB9XG59XG5cbi5vcmctY2hhcnQge1xuICA+bGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG5cbiAgLmljb24tdGV4dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA5NSUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtNTA7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgJG9yYW5nZTtcblxuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiRvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIGNvbG9yOiRtYWluLWNvbG9yO1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICAgICAgY29sb3I6IGhzbCgwLCAwJSwgNTAlKTtcbiAgICB9XG4gIH1cbn0iLCIvKlxuICogRWRpdGVkIDIwMTkwNzI3XG4gKi9cbi8vIEVsZW1lbnRzIHVucWl1ZSB0byB3b29jb21tZXJjZSB0ZW1wbGF0ZVxuLypcbiogVEFCTEUgT0YgQ09OVEVOVFNcbiogLS0tLS0tLS0tLS0gKlxuKiAtIFdvb2NvbW1lcmNlIFZhcmlhYmxlc1xuKiAtIFdvb2NvbW1lcmNlIEdsb2JhbCBTdHlsZXNcbiogLSBBZGQgdG8gQ2FydCBCdXR0b25cbiogLSBCcmVhZGNydW1iXG4qIC0gU2FsZSBMYWJlbFxuKiAtIE1lc3NhZ2UgYm94XG4qIC0gUGFnaW5hdGlvblxuKi9cbi8qIFdvb2NvbW1lcmNlIFZhcmlhYmxlcyAqL1xuJXdvby1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGlwOiB1bnNldDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogaHNsKDAsIDAlLCA1MCUpO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cblxuJXdvby1sYWJlbC0yIHtcbiAgQGV4dGVuZCAld29vLWxhYmVsO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIGNvbG9yOiAjNjY2O1xufVxuJHByb2R1Y3Qtc2VsZWN0aW9uLWxheW91dC1jb2wtMTogMTIwcHg7XG5AbWl4aW4gd29vY29tbWVyY2UtbWVzc2FnZSgkbXNnLWNvbG9yKSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbXNnLWNvbG9yO1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbXNnLWNvbG9yLCA1JSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbXNnLWNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuQGltcG9ydCBcIl93b28tc3R5bGVzL2FyY2hpdmVcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9jYXJ0XCI7XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvY2hlY2tvdXRcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9vcmRlci1yZWNlaXZlZFwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL29yZGVyLXBheVwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL2FjY291bnRcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9sb2dpblwiOyAvLyBAaW1wb3J0IFwiX3dvby1zdHlsZXMvcHJpY2Utc2xpZGVyXCI7XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvd2lkZ2V0c1wiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL2ludGVyYWN0aXZlLWNhcnRcIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy9hZGRyZXNzXCI7XG5AaW1wb3J0IFwiX3dvby1zdHlsZXMvc21hbGxzY3JlZW5cIjtcbkBpbXBvcnQgXCJfd29vLXN0eWxlcy93b29jb21tZXJjZS1wcm9kdWN0LXNlYXJjaFwiO1xuQGltcG9ydCBcIl93b28tc3R5bGVzL2FkdmFuY2VkLXByb2R1Y3QtZmllbGRzXCI7XG4vKiBXb29jb21tZXJjZSBHbG9iYWwgU3R5bGVzICovXG4ud29vY29tbWVyY2Uge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuLyogTmV3bHkgZGlzY292ZXJlZCBnbG9iYWwgc3R5bGVzICovXG4uY29sMi1zZXQge1xuICBAZXh0ZW5kIC5jb2xzLTI7XG59XG5cbi53b29jb21tZXJjZS1jb2x1bW5fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi8qIEdsb2JhbCBmb3JtcyAqL1xuZm9ybSB7XG4gIGxhYmVsIHtcbiAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gIH1cbn1cbi8qIEJ1dHRvbiBzdHlsZXMgZm9yIHdvb2NvbW1lcmNlICovXG5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5idXR0b24ge1xuICBAZXh0ZW5kICVidG47XG59XG5cbi5zaG9wX3RhYmxlIC5idXR0b24ge1xuICBAZXh0ZW5kICVidG4tMS1saWdodDtcbn1cbi8qIEFkZCB0byBDYXJ0IEJ1dHRvbiBBS0EgTWFpbiBidXR0b24gKi9cbi5jaGVja291dC1idXR0b24sXG5hLmFkZF90b19jYXJ0X2J1dHRvbixcbmJ1dHRvbi5hZGRfdG9fY2FydF9idXR0b24sXG5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIEBleHRlbmQgJWJ0bi0xO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndjLWJhY2t3YXJkIHtcbiAgQGV4dGVuZCAlYnRuLTE7XG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi8qIEJSRUFEQ1JVTUIgKi9cbi53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qIEFyY2hpdmUgUGFnZSAqL1xuICAud29vY29tbWVyY2UuYXJjaGl2ZSAmIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIC8vIGNvbG9yOiAkb3JhbmdlLTUwO1xuICAgIFxuICAgIGEge1xuICAgICAgLy8gY29sb3I6ICRvcmFuZ2UtNTA7XG4gICAgfVxuICB9XG4gIC8qIFNpbmdsZSBQcm9kdWN0IEJyZWFkY3J1bWJzICovXG4gIC5zaW5nbGUtcHJvZHVjdCAmIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcigycHgsICNmMWYxZjEsIGJvdHRvbSwgMjBweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG4gIH1cbn1cbi8qIFNBTEUgTEFCRUwgKi9cbi5vbnNhbGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBjb2xvcjogI2ZmZjtcblxuICBsaS5wcm9kdWN0ICYge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogLTI2cHggYXV0byA1cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAuMDVyZW0gMC42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gIH1cblxuICAuc3VtbWFyeSAmIHtcbiAgICBAaW5jbHVkZSB0YWctbGFiZWwoJGdyZWVuLCBcInNtYWxsXCIpO1xuICB9XG59XG4vKiBNZXNzYWdlIGJveCAqL1xuLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XG4gIG1hcmdpbjogMzBweCBhdXRvIDA7XG4gIGZsZXg6IDEgMSAxMDAlO1xuXG4gIC53b29jb21tZXJjZS1hY2NvdW50LmxvZ2dlZC1pbiAmIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLWNhcnQgJiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xuICBtYXJnaW46IDMwcHggYXV0byAwO1xuICBmbGV4OiAxIDEgMTAwJTtcbn1cbi8qIEFsbCBpbmZvcm1hdGlvbiBhbmQgbWVzc2FnZXMgKi9cbi53b29jb21tZXJjZS1pbmZvLFxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4od2hpdGUsIDUlKTtcbiAgY29sb3I6ICM1NTU7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvIDJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHg7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMTJweCAyNHB4IDEycHggMTJweDtcbiAgfVxuXG4gIGEge1xuICAgIEBleHRlbmQgJWJ0bjtcbiAgICBAZXh0ZW5kICVidG4tMTtcbiAgICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLnJlc3RvcmUtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLyogQWxsIGVycm9ycyAqL1xuLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcbiAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIHBhZGRpbmc6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSAhaW1wb3J0YW50OyAvLyBSZXF1aXJlZCBmb3IgZGVmYXVsdCB0aGVtZSBjb21wYXRpYmlsaXR5XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIFJlcXVpcmVkIGZvciBkZWZhdWx0IHRoZW1lIGNvbXBhdGliaWxpdHlcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyAvLyBSZXF1aXJlZCBmb3IgZGVmYXVsdCB0aGVtZSBjb21wYXRpYmlsaXR5XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwLWNoZWNrb3V0ICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgQGluY2x1ZGUgd29vY29tbWVyY2UtbWVzc2FnZSgkZ3JlZW4pO1xufVxuXG4ud29vY29tbWVyY2UtaW5mbyB7XG4gIEBpbmNsdWRlIHdvb2NvbW1lcmNlLW1lc3NhZ2UoI2NjYyk7XG59XG5cbi53b29jb21tZXJjZS1lcnJvciB7XG4gIEBpbmNsdWRlIHdvb2NvbW1lcmNlLW1lc3NhZ2UoJHJlZCk7XG59XG4vKiBQQUdJTkFUSU9OICovXG4ud29vY29tbWVyY2UtcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwcHggMDtcbiAgZmxleDogMSAxIDEwMCU7XG5cbiAgLnBhZ2UtbnVtYmVycyB7XG4gICAgQGV4dGVuZCAlZmxleGJveC1jLWM7XG4gICAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKFwicmlnaHRcIiwgNXB4KTtcbiAgfVxuXG4gIGEsXG4gIHNwYW4ge1xuICAgIEBleHRlbmQgJWJ0bi1zbWFsbDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIEBleHRlbmQgJWJ0bi0xLWxpZ2h0O1xuICAgIGN1cnNvcjogdW5zZXQ7XG4gIH1cblxuICBhIHtcbiAgICBAZXh0ZW5kICVidG4tMTtcbiAgfVxufVxuLyogV29vY29tbWVyY2UgU3RvcmUgTm90aWNlICovXG4ud29vY29tbWVyY2Utc3RvcmUtbm90aWNlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDEycHggNSU7XG4gIHotaW5kZXg6IDg4O1xuICBib3R0b206IDA7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA2cHggNSU7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXN0b3JlLW5vdGljZV9fZGlzbWlzcy1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNSU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG59XG4iLCIvKiBBcmNoaXZlIFBhZ2UgTWFpbiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hcmNoaXZlLndvb2NvbW1lcmNlIHtcbiAgLnNpdGUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHdpZHRoOiBtaW4oJGRlc2t0b3AteGwtd2lkdGgsIDkwJSk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIEBpbmNsdWRlIGRlc2t0b3Age31cbiAgfVxuXG4gIC8vIHNwZWNpZmljIGZvciBhcmNoaXZlIHBhZ2VcbiAgYXNpZGUud2lkZ2V0LWFyZWEge1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAxMDAwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDUwcHg7XG4gICAgfVxuXG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxufVxuXG4vKiBTaG9wIEJhbm5lclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2hvcC1iYW5uZXIge1xuICBAZXh0ZW5kICVyZWd1bGFyLWJhbm5lcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkZGFyay1jb2xvcjtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJpZ2h0OiBtYXgoMCUsIGNhbGMoKDEwMHZ3IC0gJGRlc2t0b3AteGwtd2lkdGgpIC8gMikpO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3N0YXRpYy9oZXhhZ29uLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHRvcDogY2FsYyg1MCUgLSAxNTBweCk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICBpbWcge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLyogU2hvcCBBcmNoaXZlIFRvcCBCYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFyY2hpdmUtdG9wYmFyIHtcbiAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMnB4LCAjZjFmMWYxLCBib3R0b20sIDMwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBoc2woMCwgMCUsIDYwJSk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC40O1xufVxuXG4ud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBtb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gIH1cbn1cblxuLyogU2hvcCBBcmNoaXZlIFdpZGdldCBBcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53b29jb21tZXJjZSBhc2lkZS53aWRnZXQtYXJlYSB7XG4gIEBpbmNsdWRlIGxpbmUtYm9yZGVyKDJweCwgI2YxZjFmMSwgcmlnaHQsIDE1cHgpO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB3aWR0aDogMTUwcHg7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMnB4LCAjZjFmMWYxLCByaWdodCwgMzBweCk7XG4gICAgd2lkdGg6IDI1MHB4O1xuICB9XG5cbiAgLndpZGdldCB7XG4gICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMnB4LCAjZjFmMWYxLCBib3R0b20sIDMwcHgpO1xuICB9XG59XG5cbi8qIFNpZGViYXIgVG9nZ2xlICovXG4jc2lkZWJhci10b2dnbGUge1xuICBAZXh0ZW5kICVidG4tbGFyZ2U7XG4gIEBleHRlbmQgJWJ0bi0xO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3NpZGViYXItdG9nZ2xlLWNsb3NlIHtcbiAgQGluY2x1ZGUgY2lyY2xlLW9iamVjdCg0MHB4LCAjZjFmMWYxLCAyNXB4KTtcbiAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTUlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDV2dztcbiAgcmlnaHQ6IDV2dztcbn1cblxuLyogU3BlY2lmaWNhbGx5IGZvciBwcm9kdWN0IGNhdGVnb3J5ICovXG4lYXJjaGl2ZS1wcm9kdWN0LWNhdGVnb3J5IHtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG5cbiAgYSB7XG4gICAgQGV4dGVuZCAldHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICBjb2xvcjogaHNsKDAsIDAlLCA2MCUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBoc2woMCwgMCUsIDQwJSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNGVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubWVudS1zaG9wLW1lbnUtY29udGFpbmVyLFxuLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMge1xuICBAZXh0ZW5kICVhcmNoaXZlLXByb2R1Y3QtY2F0ZWdvcnk7XG59XG5cbi8qIFByb2R1Y3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN0cnVjdHVyZSBvZiBwcm9kdWN0cyB0byBkaWZmZXJlbnRpYXRlIGl0IGZyb20gcmVsYXRlZCBwcm9kdWN0cyAqL1xuLmFyY2hpdmUud29vY29tbWVyY2UgLnByb2R1Y3RzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAzcmVtO1xuXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cblxudWwucHJvZHVjdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleDogMSAxIDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi8qIFByb2R1Y3QgTGlzdCAqL1xuJXByb2R1Y3Qtc3R5bGUge1xuICAvLyBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oXCJib3R0b21cIiwgMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAycmVtO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciA1ZnI7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4zO1xuICAgIC8vIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDEwJSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gICAgY29sb3I6ICM5OTk7XG5cbiAgICAvKiBGb3Igc2FsZSBpdGVtICovXG4gICAgaW5zIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG5cbi8vIFByb2R1Y3QgQ2F0ZWdvcnkgU3R5bGVcbiVwcm9kdWN0LWNhdGVnb3J5LXN0eWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAycmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDRmcjtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cblxuICBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSArIDAuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG5saS50eXBlLXByb2R1Y3Qge1xuICBAZXh0ZW5kICVwcm9kdWN0LXN0eWxlO1xufVxuXG5saS5wcm9kdWN0LWNhdGVnb3J5IHtcbiAgQGV4dGVuZCAlcHJvZHVjdC1jYXRlZ29yeS1zdHlsZTtcbn1cblxuLyogQWRkZWQgdG8gY2FydCBidXR0b24gKi9cbi5hZGRlZF90b19jYXJ0IHtcbiAgQGV4dGVuZCAlYnRuO1xuICBAZXh0ZW5kICVidG4tMS1saWdodDtcbn1cblxuXG4ucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuc2hvcC1iYW5uZXIsXG4uc2hvcC1iYW5uZXItd2l0aC1jb2xvciB7XG5cbiAgaDEsXG4gIHAsXG4gIGEsXG4gIC53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgICBjb2xvcjogJG9yYW5nZS01MDtcbiAgfVxufSIsIi8qIFNpbmdsZSBQcm9kdWN0IExheW91dCAqL1xuLnNpbmdsZS1wcm9kdWN0IHtcbiAgLnByb2R1Y3QtcHJpbWFyeS1pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA5NyUpO1xuICAgIHBhZGRpbmc6IDAgMi41JTtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBwYWRkaW5nOiAwIDUlO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTaW1wbGUgQU5EIFZhcmlhYmxlIFByb2R1Y3QgKi9cbmRpdi5wcm9kdWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAvKiBDb21tb24gUHJvZHVjdCBEZXNjcmlwdGlvbiAvIFN1bW1hcnkgKi9cbiAgLnN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgMTVweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByb2R1Y3QgVGl0bGVcbiAgLnByb2R1Y3RfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxuXG4gIC8vIFByaWNlXG4gIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICB9XG5cbiAgLy8gU2hvcnQgRGVzY3JpcHRpb25cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigyMHB4LCBoc2woMCwgMCUsIDEwMCUpLCA1cHgsIDFweCBzb2xpZCBoc2woMCwgMCUsIDkwJSkpO1xuXG4gICAgb2wge1xuICAgICAgQGV4dGVuZCAubnVtYmVyLWxpc3Q7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgQGV4dGVuZCAuaXRlbS1saXN0O1xuICAgIH1cblxuICAgID4qOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLyogQ29tbW9uIFByb2R1Y3QgUGFnZSBHYWxsZXJ5ICovXG4ud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIGRpdi50aHVtYm5haWxzIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICB9XG5cbiAgJi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgIGZsZXgtZmxvdzogcm93LXJldmVyc2Ugbm93cmFwO1xuICAgICAgbWF4LXdpZHRoOiA0MnZ3O1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBhPmltZyB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGN1YmljLWJlemllcigwLjc5NSwgLTAuMDM1LCAwLCAxKSAwLjVzO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciAuem9vbUltZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UtLXBsYWNlaG9sZGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2U6bnRoLWNoaWxkKG4rMikge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41ZW07XG4gICAgcmlnaHQ6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIHotaW5kZXg6IDk7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICBsZWZ0OiA5cHg7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxOXB4O1xuICAgICAgbGVmdDogMjJweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG4gIH1cblxuICAuZmxleC1jb250cm9sLXRodW1icyB7XG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6b29tOiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWN1cnJlbnQge1xuICAgICAgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZmZmLCAwIDAgMCA0cHggI2NjYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogVmFyaWFibGUgUHJvZHVjdCAqL1xuZGl2LnByb2R1Y3QtdHlwZS12YXJpYWJsZSB7XG4gIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuICAgIEBleHRlbmQgJXNpbmdsZS1hZGQtdG8tY2FydC1tb2R1bGU7XG4gIH1cblxuICAvKiBGb3IgdmFyaWF0aW9ucyAqL1xuICB0YWJsZS52YXJpYXRpb25zIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICB0Ym9keSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgd2lkdGg6ICRwcm9kdWN0LXNlbGVjdGlvbi1sYXlvdXQtY29sLTE7XG4gICAgfVxuXG4gICAgLnZhbHVlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQWZ0ZXIgdmFyaWF0aW9uIHNlbGVjdCAqL1xuICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIHtcbiAgICA+KiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5zaW5nbGVfdmFyaWF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigyMHB4LCBoc2woMCwgMCUsIDEwMCUpLCA1cHgsIDFweCBzb2xpZCBoc2woMCwgMCUsIDkwJSkpO1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tcHJpY2Uge1xuICAgICAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCAjZjFmMWYxLCB0b3AsIDIwcHgpO1xuXG4gICAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlByaWNlXCI7XG4gICAgICAgICAgQGV4dGVuZCAld29vLWxhYmVsLTI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1zZWxlY3Rpb24tbGF5b3V0LWNvbC0xO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZGVsIHtcbiAgICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZGl2LnByb2R1Y3QtdHlwZS1zaW1wbGUge1xuICBmb3JtLmNhcnQge1xuICAgIEBleHRlbmQgJXNpbmdsZS1hZGQtdG8tY2FydC1tb2R1bGU7XG4gIH1cbn1cblxuLyogUXVhbnRpdHkgYW5kIEFkZCB0byBjYXJ0IG1vZHVsZSAqL1xuJXNpbmdsZS1hZGQtdG8tY2FydC1tb2R1bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBhZGRpbmc6IDE1cHggMDtcblxuICBpbnB1dC5xdHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgfVxuXG4gIC5xdWFudGl0eSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgZmxleDogMCAwIDQwcHg7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgaHNsKDAsIDAlLCA4MCUpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCgwLCAwJSwgODAlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAvKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbiAgICAgICZbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICZbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmW3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWludXMsXG4gIC5wbHVzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsIDAlLCA4MCUpO1xuICB9XG5cbiAgLm1pbnVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbiAgfVxuXG4gIC5wbHVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbiAgfVxuXG4gIC5idXR0b24uc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLyogV29vY29tbWVyY2UgVGFicyAqL1xuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIFJlbGF0ZWQgUHJvZHVjdHMgKi9cbi5yZWxhdGVkLnByb2R1Y3RzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNTBweCAyLjUlO1xuXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgcGFkZGluZzogNTBweCA1JTtcbiAgfVxuXG4gID5oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgfVxuXG4gIC5wcm9kdWN0cyB7XG4gICAgQGluY2x1ZGUgY29sdW1ucygyMHB4LCA0LCAyKTtcbiAgfVxufVxuXG4vKiBTaW5nbGUgcHJvZHVjdCBhZGQgdG8gYW55IHBsdWdpbiAqL1xuLnN1bW1hcnkge1xuICAuYWRkdG9hbnlfaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogJHByb2R1Y3Qtc2VsZWN0aW9uLWxheW91dC1jb2wtMTtcbiAgICB9XG4gIH1cblxuICAuYTJhX2tpdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cbiAgfVxufSIsIi8qIFdvbyBDYXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHJ1Y3R1cmUgKi9cbi53b29jb21tZXJjZS1jYXJ0IHtcbiAgLndvb2NvbW1lcmNlIHtcbiAgICBwYWRkaW5nOiA1MHB4IDN2dyA4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggNSUgODBweDtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLWNhcnQge1xuICAud29vY29tbWVyY2UtY2FydC1mb3JtIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXZ3O1xuICAgICAgZmxleDogMiAxIDA7XG4gICAgfVxuICB9XG5cbiAgLmNhcnQtY29sbGF0ZXJhbHMge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgfVxuICB9XG59XG4vKiBHZW5lcmFsIFRhYmxlICovXG4uc2hvcF90YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4yO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBjb2xvcjogaHNsKDAsMCUsNjAlKTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuNDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZWVlO1xuICB9XG5cbiAgdGgge1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICB9XG5cbiAgdGQge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMTVweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG4gIH1cblxuICB0ZC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGNvbG9yOiBkYXJrZW4oJG1haW4tY29sb3IsIDEwJSk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcblxuICAgIGEge1xuICAgICAgY29sb3I6IGhzbCgwLDAlLDMwJSk7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBoc2woMCwwJSw2MCUpO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zdWJ0b3RhbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG59XG4vKiBDYXJ0IFRhYmxlICovXG50YWJsZS5jYXJ0IHtcbiAgLnByb2R1Y3QtcmVtb3ZlIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMjZweCwgJHJlZCwgMCk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgJWljb247XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlYTBhXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZWVlO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplIC0gMC4zO1xuICAgIH1cblxuICAgIC5jb3Vwb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgbGFiZWxbZm9yPVwiY291cG9uX2NvZGVcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgICNjb3Vwb25fY29kZSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBNb2JpbGUgVGFibGUgKi9cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICB0Ym9keSB0ci5jYXJ0X2l0ZW0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Y1ZjVmNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFZhcmlhdGlvbiB0ZXh0IHdpdGhpbiB0YWJsZSAqL1xuLnZhcmlhdGlvbixcbi53Yy1pdGVtLW1ldGEge1xuICBtYXJnaW46IDA7XG5cbiAgLndjLWl0ZW0tbWV0YS1sYWJlbCxcbiAgZHQge1xuICAgIEBleHRlbmQgJXdvby1sYWJlbDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLyogQ2FydCBUb3RhbHMgVGFibGUgKi9cbi5jYXJ0X3RvdGFscyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjZmZmLCAzJSk7XG4gIHBhZGRpbmc6IDVweCAyMHB4IDIwcHg7XG5cbiAgLnNob3BfdGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLXRvdGFscyB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIHdpZHRoOiAyMDAlO1xuICAgIH1cbiAgfVxuXG4gID4gaDIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cjpmaXJzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgfVxuXG4gIHRoIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgICBjb2xvcjogIzY2NjtcbiAgfVxuXG4gIHRkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1zaGlwcGluZy1kZXN0aW5hdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgb3BhY2l0eTogMC44O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1idXR0b24ge1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgfVxuICB9XG59XG5cbiNzaGlwcGluZ19tZXRob2Qge1xuICBmb250OiAkZm9udC1ib2xkICRiYXNlLWZvbnQtc2l6ZSAtIDAuMiAkbWFpbi1mb250O1xuXG4gICVjaGVja2VkLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVidG4tMTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgZGFya2VuKCRtYWluLWNvbG9yLCAzMCUpO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJjpjaGVja2VkK2xhYmVsIHtcbiAgICAgIEBleHRlbmQgJWNoZWNrZWQtbGFiZWw7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cImhpZGRlblwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICtsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVjaGVja2VkLWxhYmVsO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBAZXh0ZW5kICVidG4tbGFyZ2U7XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cbn1cblxuLmNhcnQtZW1wdHkge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmV0dXJuLXRvLXNob3Age1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLndvb2NvbW1lcmNlLWNoZWNrb3V0Om5vdCgud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQpIHtcbiAgLmVudHJ5LFxuICAuZW50cnktY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAvLyBtYWtlIGxheW91dCBmdWxsIHdpZHRoXG4gIC53b29jb21tZXJjZSB7XG4gICAgcGFkZGluZzogMCA1JSA1MHB4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgIHBhZGRpbmc6IDAgNSUgNTBweDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtZm9ybS1sb2dpbi10b2dnbGUge1xuICAgICAgZmxleDoxIDEgMTAwJTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIHtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LW5vcm07XG4gICAgfVxuICB9XG59XG4vLyBDaGVja291dCBmb3JtXG5mb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgLmNvbDItc2V0IHtcbiAgICBAaW5jbHVkZSBjb2x1bW5zKDMwcHggMik7XG4gICAgQGluY2x1ZGUgY29sdW1uLWxheW91dCgzLDIpO1xuICB9XG5cbiAgLmNvbC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgMjVweCk7XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgQGV4dGVuZCBoMztcbiAgICAgIEBpbmNsdWRlIGxpbmUtYm9yZGVyKDFweCwgaHNsKDAsMCUsOTAlKSwgJ3RvcCcsIDUwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5jb2wtMiB7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4jb3JkZXItcmV2aWV3LXdyYXBwZXIge1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcigxcHgsIGhzbCgwLDAlLDk1JSksICdsZWZ0JywgNTBweCk7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgfVxufVxuLyogU2hpcCB0byBhIGRpZmZlcmVudCBhZGRyZXNzICovXG4ud29vY29tbWVyY2UtZm9ybV9fbGFiZWwtZm9yLWNoZWNrYm94IHtcbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbn1cbi8qIFNlbGVjdCBzaGlwcGluZyBtZXRob2Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNoZWNrb3V0LXNlbGVjdC1zaGlwcGluZy1tZXRob2Qge1xuICBAaW5jbHVkZSBsaW5lLWJvcmRlcigxcHgsIGhzbCgwLDAlLDg1JSksICd0b3AnLCA2MHB4KTtcbn1cbi8qIFBheW1lbnQgbWV0aG9kXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIgaDQge1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cbi8qIENoZWNrb3V0IFBhZ2UgT3JkZXIgU3VtbWFyeSBUYWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2hvcF90YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUge1xuICAucHJvZHVjdC10b3RhbCxcbiAgdGZvb3QgdGQge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRoIHtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgfVxuXG4gIHRkIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwYWRkaW5nOiAxM3B4IDA7XG4gIH1cblxuICAudmFyaWF0aW9uIHtcbiAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC52YXJpYXRpb24tLWFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gIH1cblxuICAub3JkZXItdG90YWwge1xuICAgIGJvcmRlci1ib3R0b206IDRweCBkb3VibGUgaHNsKDAsMCUsNzUlKTtcbiAgfVxuXG4gIC5wcm9kdWN0LW5hbWUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMjUlKTtcbiAgICB9XG4gIH1cbn1cbi8qIFBheW1lbnQgU2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jcGF5bWVudCB7XG4gIC8qIFRvIHNlbGVjdCBzYXZlZCBwYXltZW50IG1ldGhvZHMgKi9cbiAgLndjLXNhdmVkLXBheW1lbnQtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjZmZmLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5pbnB1dFtpZF49XCJwYXltZW50X21ldGhvZFwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8vIElmIHBhcnRpY3VsYXIgcGF5bWVudCBtZXRob2QgaXMgc2VsZWN0ZWRcbiAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHggN3B4IDAgMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLndjX3BheW1lbnRfbWV0aG9kcyB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi53Y19wYXltZW50X21ldGhvZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgPiBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsMCUsODAlKTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgQGV4dGVuZCAlYnRuO1xuICAgIEBleHRlbmQgJWJ0bi0xLWxpZ2h0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCwwJSw3MCUpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi5wYXltZW50X2JveCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLDAlLDg4JSk7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA3cHggN3B4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSw5OCUpO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMjBweDtcbiAgfVxuXG4gIC53Yy1wYXltZW50LWZvcm0ge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmZvcm0tcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG4gIC8qIEVycm9yIGluc2lkZSBwYXltZW50ICovXG4gIC53b29jb21tZXJjZV9lcnJvciB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4vKiBGb3IgU3RyaXBlIG9ubHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3N0cmlwZS1wYXltZW50LWRhdGEge1xuICBwIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMztcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbmxhYmVsW2Zvcj1cInBheW1lbnRfbWV0aG9kX3N0cmlwZVwiXSB7XG4gIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uU3RyaXBlRWxlbWVudC5pbnZhbGlkIHtcbiAgQGV4dGVuZCAlaW52YWxpZC1pbnB1dDtcbn1cbi8qIEFmdGVyIHBheW1lbnQgYm94XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wbGFjZS1vcmRlciB7XG4gIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICBjb2xvcjogIzY2NjtcbiAgfVxufVxuXG4jcGxhY2Vfb3JkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEVycm9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud29vY29tbWVyY2UtaW52YWxpZC1yZXF1aXJlZC1maWVsZCB7XG4gIGxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnZhbGlkLWxhYmVsO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIEBleHRlbmQgJWludmFsaWQtaW5wdXQ7XG4gIH1cbn1cbi8qIE9yZGVyIERlbGl2ZXJ5IERhdGUgT25seSAqL1xuI29yZGRkX3RpbWVfc2xvdF9maWVsZCB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIH1cbn1cblxuI3BheW1lbnQgLnBheW1lbnRfbWV0aG9kcyA+IGxpID4gbGFiZWwgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIENoZWNrb3V0IGNvdXBvbiAqL1xuLmNoZWNrb3V0X2NvdXBvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBleHRlbmQgLmNvbC0xO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZm9ybS1yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4jb3JkZXJfcmV2aWV3X2hlYWRpbmcge1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWZvcm0tbG9naW4ge1xuICAuZm9ybS1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvKiAxIGl0ZW0gdG8gcmV2aWV3XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQge1xuICAuZW50cnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1vcmRlciB7XG4gICAgQGluY2x1ZGUgY2hpbGQtbWFyZ2luKCdib3R0b20nLCA0MHB4KTtcbiAgICBwYWRkaW5nOiA1MHB4IDUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk3JSk7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDEwJTtcbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlsc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLFxuICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyB7XG4gICAgQGV4dGVuZCAlY29sLTE7XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4vKiBPdmVydmlldyBiYXIgKi9cbi53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgJG1haW4tY29sb3I7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2JhKDAsMCwwLDAuMTUpO1xuXG4gID4gKiB7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjQ7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCAjZGRkO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgICBjb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAyMiUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG4gIC8qIFJFVklFVyBUSElTICovXG4gIC5kZWxpdmVyeURldGFpbHMge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4OiAxIDEgNTAlO1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud29vY29tbWVyY2UtdGFibGUtLW9yZGVyLWRldGFpbHMge1xuICAucHJvZHVjdC10b3RhbCxcbiAgdGZvb3QgdGQge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuIiwiLndvb2NvbW1lcmNlLW9yZGVyLXBheSB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwwJSw5NyUpO1xuICB9XG5cbiAgLndvb2NvbW1lcmNlIHtcbiAgICBAZXh0ZW5kICVjb2wtMTtcbiAgfVxuXG4gIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiLyogV29vY29tbWVyY2UgQWNjb3VudCBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNYWluIFN0cnVjdHVyZSAqL1xuJXdvb2NvbW1lcmNlLWFjY291bnQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyKDM1cHgsIGhzbCgwLDAlLDEwMCUpLCAxMHB4LCAxcHggc29saWQgI2RkZCk7XG59XG4vKiBnZW5lcmFsIHdvb2NvbW1lcmNlIGFjY291bnQgc3R5bGUuIEZvciBteSBhY2NvdW50LCBsb2dnZWQgaW4sIGFuZCBsb3N0IHBhc3N3b3JkICovXG4ud29vY29tbWVyY2UtYWNjb3VudCB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsMCUsOTclKTtcbiAgICBwYWRkaW5nOiAzMHB4IDUlO1xuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAzMHB4IDEwJTtcbiAgICB9XG4gIH1cbiAgLyogV29vY29tbWVyY2UgYWNjb3VudCBsb2dnZWQgaW4gc3BlY2lmaWMgc3R5bGUqL1xuICAmLmxvZ2dlZC1pbiB7XG4gICAgLndvb2NvbW1lcmNlIHtcbiAgICAgIEBleHRlbmQgLmNvbHMtMjtcbiAgICAgIEBpbmNsdWRlIGNvbHVtbi1sYXlvdXQoMSwzKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuLyogTXkgQWNjb3VudCBOYXZpZ2F0aW9uICovXG4ud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rIHtcbiAgQGluY2x1ZGUgbGluZS1ib3JkZXIoMXB4LCAjZWVlLCBib3R0b20sIDEwcHgpO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbm9ybTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgfVxuICB9XG59XG4vKiBDb250ZW50ICovXG4ud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xuICBAZXh0ZW5kICV3b29jb21tZXJjZS1hY2NvdW50LWNvbnRhaW5lcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgLy8gcGFkZGluZzogMzBweCA1JTtcbiAgQGluY2x1ZGUgZGVza3RvcCB7fVxuXG4gIGVtIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gIH1cblxuICBtYXJrIHtcbiAgICBAaW5jbHVkZSB0YWctbGFiZWwoaHNsKDAsMCUsOTUlKSwgc21hbGwpO1xuICAgIGNvbG9yOiBoc2woMCwwJSwyMCUpO1xuICB9XG5cbiAgZmllbGRzZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk5JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsMCUsOTAlKTtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICBsZWdlbmQge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAgIGNvbG9yOiBoc2woMCwwJSw0MCUpO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgIH1cbiAgfVxufVxuLyogUmVtb3ZlIGRhc2hib2FyZCBsaW5rICovXG4ud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24tbGluay0tZGFzaGJvYXJkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFBhc3N3b3JkIHN0cmVuZ3RoICovXG4ud29vY29tbWVyY2UtcGFzc3dvcmQtc3RyZW5ndGgge1xuICBwYWRkaW5nOiA1cHggMDtcblxuICAmLnNob3J0IHtcbiAgICBjb2xvcjogJHJlZDtcbiAgfVxuXG4gICYuYmFkIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxuXG4gICYuZ29vZCB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgfVxuXG4gICYuc3Ryb25nIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICB9XG59XG4vKiBXb29jb21tZXJjZSBBY2NvdW50IE9yZGVycyBUYWJsZSAqL1xuLndvb2NvbW1lcmNlLW9yZGVycy10YWJsZSB7XG4gICZfX2NlbGwtb3JkZXItZGVsaXZlcnktZGF0ZSxcbiAgJl9faGVhZGVyLW9yZGVyLWRlbGl2ZXJ5LWRhdGUge1xuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgICZfX2hlYWRlci1vcmRlci1udW1iZXIge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLW9yZGVyLWFjdGlvbnMsXG4gICAgJl9faGVhZGVyLW9yZGVyLXN0YXR1cyB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgfVxuICB9XG59XG5cbi53b29jb21tZXJjZS10YWJsZS0tb3JkZXItZGV0YWlscyB7XG4gIHRkIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuIiwiLyogTG9naW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE15IGFjY291bnQgcGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jY3VzdG9tZXJfbG9naW4ge1xuICBAaW5jbHVkZSBjb2x1bW5zKDV2dywgMik7XG5cbiAgLndvb2NvbW1lcmNlLWZvcm0tbG9naW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuY29sLTEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBoc2woMCwwJSw4NSUpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLWZvcm0tbG9naW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIG1heC13aWR0aDogNTB2dztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIGxhYmVsLndvb2NvbW1lcmNlLWZvcm1fX2xhYmVsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLWZvcm0tbG9naW5fX3N1Ym1pdCxcbi53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyX19zdWJtaXQge1xuICBAZXh0ZW5kICVidG4tMTtcbn1cblxuLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQge1xuICBwIHtcbiAgICBAZXh0ZW5kIC5zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiBoc2woMCwwJSw2MCUpO1xuICB9XG59XG4vKiBGb3IgbG9zdCBwYXNzd29yZCBwYWdlICovXG4ud29vY29tbWVyY2UtbG9zdC1wYXNzd29yZCAud29vY29tbWVyY2Uge1xuICBAZXh0ZW5kICVjb2wtMTtcbn1cbiIsIi53aWRnZXRfbGF5ZXJlZF9uYXZfZmlsdGVycyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XG4gIHpvb206IDE7XG5cbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgMWVtIDFweCAxcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxZW0vMSAnYmFzZWljb24nO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyAqL1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgY29udGVudDogXCIvZjAwZFwiO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMTVweCwgJHJlZCwgJGJhc2UtZm9udC1zaXplIC0gMC4yKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBJbnRlcmFjdGl2ZSBDYXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgYnV0dG9ucyAqL1xuI2NhcnQtaXRlbXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpbmNsdWRlIGNpcmNsZS1vYmplY3QoMjBweCwgJG1haW4tY29sb3IsICRiYXNlLWZvbnQtc2l6ZSAtIDAuMik7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICB0b3A6IC01cHg7XG4gIHJpZ2h0OiAtM3B4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2ludGVyYWN0aXZlLWNhcnQtYWN0aXZhdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnRlcmFjdGl2ZS1jYXJ0X19iZyB7XG4gIEBpbmNsdWRlIGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMjAsMC41KTtcbn1cblxuLmludGVyYWN0aXZlLWNhcnQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmludGVyYWN0aXZlLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLDAlLDk1JSk7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGRlc2t0b3Age1xuICAgIHdpZHRoOiA0MHZ3O1xuICB9XG59XG4vKiBDYXJ0IEhlYWRlciAqL1xuLmludGVyYWN0aXZlLWNhcnQtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4IDEycHg7XG4gIGZsZXg6IDAgMSAwO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICB9XG5cbiAgPiAqIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjODg4O1xuICB9XG5cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmludGVyYWN0aXZlLWNhcnQtY2xvc2Uge1xuICAgIEBleHRlbmQgJXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBjb2xvcjogaHNsKDAsMCUsNTAlKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBsZWZ0OiAtM3B4O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgfVxuICB9XG59XG4vKiBNaW5pIENhcnQgTm90aWNlICovXG4uaW50ZXJhY3RpdmUtY2FydF9fbm90aWNlIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBAaW5jbHVkZSBjaGlsZC1tYXJnaW4oJ2JvdHRvbScsIDVweCk7XG5cbiAgPiAqIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cblxuICAmLmNhcnQtaXRlbS1jYXJkIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgfVxufVxuXG4ubWVzc2FnZS0tZXJyb3Ige1xuICBjb2xvcjogJHJlZDtcbn1cblxuLm1lc3NhZ2UtLXN1Y2Nlc3Mge1xuICBjb2xvcjogJGdyZWVuO1xufVxuLyogQ2FydCBJdGVtIExpc3QgKi9cbi5pbnRlcmFjdGl2ZS1jYXJ0LWl0ZW1zIHtcbiAgZmxleDogMSAxIDA7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgLyogSW5jcmVhc2UvZGVjcmVhc2UgdGhpcyB2YWx1ZSBmb3IgY3Jvc3MtYnJvd3NlciBjb21wYXRpYmlsaXR5ICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLyogU28gdGhlIHdpZHRoIHdpbGwgYmUgMTAwJSArIDE3cHggKi9cbiAgfVxufVxuLyogQ2FydCBJdGVtICovXG4uY2FydC1pdGVtLWNhcmQge1xuICBAaW5jbHVkZSB0aHVtYm5haWwtY2FyZCg4MHB4LCA4MHB4LCByaWdodCwgMTVweCk7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNiUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAzJTtcbiAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgZGVza3RvcCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDclKTtcbiAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgaW1nIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLmNhcHRpb24ge1xuICAgIEBpbmNsdWRlIGNoaWxkLW1hcmdpbignYm90dG9tJywgOHB4KTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgID4gKiB7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgLSAwLjI7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgY29sb3I6IGRhcmtlbigkbWFpbi1jb2xvciwgMjUlKTtcbiAgfVxuXG4gIC5yZW1vdmVfZnJvbV9jYXJ0X2J1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAvLyBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG59XG5cbi5pbnRlcmFjdGl2ZS1jYXJ0LXN1bW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZsZXg6IDAgMSAwO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBsaW5lLWJvcmRlcigxcHgsICNlNWU1ZTUsIGJvdHRvbSwgNXB4KTtcbiAgICBAZXh0ZW5kICVmbGV4Ym94LWMtYztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDhweCA1JTtcblxuICAgID4gKiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uaW50ZXJhY3RpdmUtY2FydC1zdW1tYXJ5X19idXR0b25zIHtcbiAgQGluY2x1ZGUgY29sdW1ucygwcHgsIDIsIDIpO1xuXG4gIGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkbWFpbi1jb2xvciwgMTUlKTtcbiAgICB9XG4gIH1cbn1cbi8qIElmIHRoZXJlIGFyZSBubyBwcm9kdWN0cyAqL1xuLm5vLXByb2R1Y3QtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCA1JTtcbn1cbi8vXG4vLyAuaW50ZXJhY3RpdmUtY2FydC1zdW1tYXJ5IC5pbnRlcmFjdGl2ZS1jYXJ0X19jb3Vwb24ge1xuLy8gICBwYWRkaW5nOiAwO1xuLy8gfVxuLy9cbi8vIC5pbnRlcmFjdGl2ZS1jYXJ0X19jb3Vwb24tZm9ybSB7XG4vLyAgIHdpZHRoOiAxMDAlO1xuLy8gICBAaW5jbHVkZSBjb2x1bW5zKDBweCwgMik7XG4vL1xuLy8gICBpbnB1dFtuYW1lPVwiYXBwbHlfY291cG9uXCJdIHtcbi8vICAgICBtYXJnaW4tdG9wOiAwO1xuLy8gICB9XG4vLyB9XG4iLCIvKiBXb29jb21tZXJjZSBhZGRyZXNzIGNvbXBvbmVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMS4gT3JkZXIgb3JkZXItcmVjZWl2ZWRcbjIuIE15IEFjY291bnQgZWRpdCBhZGRyZXNzXG4qL1xuLyogQWRkcmVzcyBzZWN0aW9uICovXG5oZWFkZXIud29vY29tbWVyY2UtQWRkcmVzcy10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgQGV4dGVuZCAlYnRuLXNtYWxsO1xuICAgIEBleHRlbmQgJWJ0bi0xLXNlY29uZGFyeTtcbiAgfVxufVxuLyogQWRkcmVzc2VzICovXG4uYWRkcmVzc2VzLFxuLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMge1xuICBoMixcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICsgMC4yO1xuICB9XG5cbiAgYWRkcmVzcyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKDE1cHgsIGhzbCgwLDAlLDEwMCUpLCA1cHgsIDFweCBzb2xpZCBoc2woMCwwJSw5MCUpKTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiQWRkcmVzczogXCI7XG4gICAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAtIDAuMjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICV3b28tbGFiZWw7XG4gICAgICB9XG5cbiAgICAgICYud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscy0tcGhvbmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJQaG9uZTogXCI7XG4gICAgICB9XG5cbiAgICAgICYud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscy0tZW1haWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJFbWFpbCBhZGRyZXNzOiBcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogd29vY29tbWVyY2Utc21hbGxzY3JlZW4uc2Nzc1xuICogT3B0aW1pc2VzIHRoZSBkZWZhdWx0IFdvb0NvbW1lcmNlIGZyb250ZW5kIGxheW91dCB3aGVuIHZpZXdlZCBvbiBzbWFsbGVyIHNjcmVlbnMuXG4gKi9cbi8qKlxuICogU3R5bGUgYmVnaW5zXG4gKi9cbkBpbmNsdWRlIG1vYmlsZSB7XG5cdC53b29jb21tZXJjZSxcblx0Lndvb2NvbW1lcmNlLXBhZ2Uge1xuXHRcdHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB7XG5cdFx0XHR0aGVhZCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdHRib2R5IHtcblx0XHRcdFx0dHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHRkOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dHIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgLy8gSW1wb3J0YW50IHRvIG92ZXJ3cml0ZSBvcmRlciBzdGF0dXMgaW5saW5lIHN0eWxpbmdcblxuXHRcdFx0XHRcdCYub3JkZXItYWN0aW9ucyB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IC8vIFRoaXMgbXVzdCBhbHdheXMgYWxpZ24gbGVmdCBvbiBoYW5kaGVsZFxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpICc6ICc7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hY3Rpb25zLFxuXHRcdFx0XHRcdCYucHJvZHVjdC1yZW1vdmUge1xuXHRcdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZCgybikge1xuXHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMjUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRhYmxlLm15X2FjY291bnRfb3JkZXJzIHtcblx0XHRcdHRyIHtcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdCYub3JkZXItYWN0aW9ucyB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMC4xMjVlbSAwLjI1ZW0gMC4xMjVlbSAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQvKipcblx0ICogR2VuZXJhbCBsYXlvdXRcblx0ICovXG5cdFx0LmNvbDItc2V0IHtcblx0XHRcdC5jb2wtMSxcblx0XHRcdC5jb2wtMiB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LyoqXG5cdCAqIFByb2R1Y3RzXG5cdCAqL1xuXHRcdC8vIHVsLnByb2R1Y3RzW2NsYXNzKj0nY29sdW1ucy0nXSB7XG5cdFx0Ly8gXHRsaS5wcm9kdWN0IHtcblx0XHQvLyBcdFx0d2lkdGg6IDQ4JTtcblx0XHQvLyBcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0Ly8gXHRcdGNsZWFyOiBib3RoO1xuXHRcdC8vIFx0XHRtYXJnaW46IDAgMCAyLjk5MmVtO1xuXHRcdC8vXG5cdFx0Ly8gXHRcdCY6bnRoLWNoaWxkKCAybiApIHtcblx0XHQvLyBcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0Ly8gXHRcdFx0Y2xlYXI6IG5vbmUgIWltcG9ydGFudDsgLy8gVGhpcyBzaG91bGQgbmV2ZXIgY2xlYXIuXG5cdFx0Ly8gXHRcdH1cblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cdFx0LyoqXG5cdCAqIFByb2R1Y3QgRGV0YWlsc1xuXHQgKi9cblx0XHQjY29udGVudCBkaXYucHJvZHVjdCxcblx0XHRkaXYucHJvZHVjdCB7XG5cdFx0XHRkaXYuaW1hZ2VzLFxuXHRcdFx0ZGl2LnN1bW1hcnkge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8qKlxuXHQgKiBDYXJ0XG5cdCAqL1xuXHRcdCNjb250ZW50IHRhYmxlLmNhcnQsXG5cdFx0dGFibGUuY2FydCB7XG5cdFx0XHQucHJvZHVjdC10aHVtYm5haWwge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHR0ZC5hY3Rpb25zIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0XHQuY291cG9uIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblxuXHRcdFx0XHRcdC5idXR0b24sXG5cdFx0XHRcdFx0LmlucHV0LXRleHQsXG5cdFx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQ4JTtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmJ1dHRvbi5hbHQsXG5cdFx0XHRcdFx0LmlucHV0LXRleHQgKyAuYnV0dG9uIHtcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jYXJ0LWNvbGxhdGVyYWxzIHtcblx0XHRcdC5jYXJ0X3RvdGFscyxcblx0XHRcdC5jcm9zcy1zZWxscyxcblx0XHRcdC5zaGlwcGluZ19jYWxjdWxhdG9yIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvKipcblx0ICogQ2hlY2tvdXRcblx0ICovXG5cdFx0Ji53b29jb21tZXJjZS1jaGVja291dCB7XG5cdFx0XHRmb3JtLmxvZ2luIHtcblx0XHRcdFx0LmZvcm0tcm93IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNwYXltZW50IHtcblx0XHRcdC50ZXJtcyB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCNwbGFjZV9vcmRlciB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvKipcblx0ICogQWNjb3VudFxuXHQgKi9cblx0XHQubG9zdF9yZXNldF9wYXNzd29yZCB7XG5cdFx0XHQuZm9ybS1yb3ctZmlyc3QsXG5cdFx0XHQuZm9ybS1yb3ctbGFzdCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC53b29jb21tZXJjZS1hY2NvdW50IHtcblx0XHQud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQsXG5cdFx0Lndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC8qKlxuICogVHdlbnR5IFRoaXJ0ZWVuIHNwZWNpZmljIHN0eWxlc1xuICovXG5cdC5zaW5nbGUtcHJvZHVjdCB7XG5cdFx0LnR3ZW50eXRoaXJ0ZWVuIHtcblx0XHRcdC5wYW5lbCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIjd29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2gtZmllbGQge1xuICBAZXh0ZW5kICV0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsMCUsOTUlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuNTtcbiAgbWF4LXdpZHRoOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC53b29jb21tZXJjZS1wcm9kdWN0LXNlYXJjaC0tYWN0aXZlICYge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gIH1cbn1cblxuI3dvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoLWJ1dHRvbiB7XG4gIEBleHRlbmQgJWhlYWRlci1idXR0b25zO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgaSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG59XG4iLCIvKiBNYWtlIHdvb2NvbW1lcmNlIHZhcmlhdGlvbnMgdGFibGUgZnVsbCB3aWR0aCovXG50YWJsZS52YXJpYXRpb25zIHRyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8qIHdhcGYgY2hlY2tib3ggcHJpY2VzICovXG4ud2FwZi1wcmljaW5nLWhpbnQge1xuICBmbG9hdDogcmlnaHQhaW1wb3J0YW50O1xufVxuXG4ud2FwZi1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyAud2FwZi1sYWJlbC10ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4vKiBXQVBGIFJhZGlvIEJ1dHRvbnMgKi9cbi53YXBmLXJhZGlvcyB7XG4gIEBpbmNsdWRlIGNoaWxkLW1hcmdpbigncmlnaHQnLCA2cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLndhcGYtcmFkaW9zIHtcbiAgLndhcGYtaW5wdXQtbGFiZWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC53YXBmLWNoZWNrYWJsZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAmLndhcGYtY2hlY2tlZCB7XG4gICAgICAud2FwZi1sYWJlbC10ZXh0IHtcbiAgICAgICAgQGV4dGVuZCAlYnRuLTE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkbWFpbi1jb2xvciwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAud2FwZi1sYWJlbC10ZXh0IHtcbiAgICBAZXh0ZW5kICVidG47XG4gICAgQGV4dGVuZCAlYnRuLTEtbGlnaHQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCwwJSw4MCUpO1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIl19 */
