/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Layout
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.0 | 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;
}

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

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

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff; /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul, ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto; /* Make sure images are scaled correctly. */
  max-width: 100%; /* Adhere to container width. */
}

figure {
  margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

table.woocommerce-product-attributes.shop_attributes tr {
  text-align: left;
}
table.woocommerce-product-attributes.shop_attributes tr td, table.woocommerce-product-attributes.shop_attributes tr th {
  padding: 8px 20px;
}
table.woocommerce-product-attributes.shop_attributes tr td p, table.woocommerce-product-attributes.shop_attributes tr th p {
  margin: 0;
}

table.woocommerce-product-attributes.shop_attributes tr:nth-child(odd) {
  background: #efefef;
}

table.woocommerce-product-attributes.shop_attributes tr:nth-child(even) {
  background: #f5f5f5;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
  outline: none;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
  outline: none;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: none;
  outline: none;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Header & Footer
--------------------------------------------------------------*/
/*
 * Layout: header
 *
 */
header#masthead {
  width: 100%;
}
header#masthead div#content.header-content {
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
}
header#masthead div#content.header-content > * {
  display: flex;
  height: 100%;
  align-items: center;
}
header#masthead div#content.header-content .mobile-menu {
  display: none;
}
header#masthead div#content.header-content .search {
  width: 33.33%;
  justify-content: center;
}
header#masthead div#content.header-content .search form.woocommerce-product-search {
  width: 100%;
  position: relative;
}
header#masthead div#content.header-content .search form.woocommerce-product-search:after {
  font-family: "wetail-icons";
  content: "w";
  background: #e7e7e7;
  height: 32px;
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 32px;
  color: #fff;
  position: absolute;
  right: 4px;
  top: 4px;
}
header#masthead div#content.header-content .search form.woocommerce-product-search input.search-field {
  width: 100%;
  height: 40px;
  border: 1px solid #e7e7e7;
  text-align: center;
}
header#masthead div#content.header-content .search form.woocommerce-product-search button {
  display: none;
}
header#masthead div#content.header-content .site-branding {
  width: 33.33%;
  justify-content: flex-start;
}
header#masthead div#content.header-content .site-branding a {
  height: 100%;
  display: flex;
  align-items: center;
}
header#masthead div#content.header-content .site-branding a img.branding-logo {
  height: 100%;
  width: auto;
  object-fit: contain;
}
header#masthead div#content.header-content .shop-nav {
  width: 33.33%;
  justify-content: flex-end;
}
header#masthead div#content.header-content .shop-nav i.toggle-search {
  display: none;
}
header#masthead div#content.header-content .shop-nav a.cart-contents {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 20px;
  white-space: nowrap;
}
header#masthead div#content.header-content .shop-nav a.cart-contents span.count {
  display: flex;
  justify-content: center;
  align-items: center;
}
header#masthead div#content.header-content .shop-nav a.cart-contents span.separator {
  padding: 0 10px;
}
header#masthead div#content.header-content .shop-nav a.cart-contents:after {
  font-family: "wetail-icons";
  content: "g";
  font-size: 20px;
  margin-left: 10px;
}
header#masthead nav.main-navigation #toggle-menu {
  display: none;
}
header#masthead nav.main-navigation > div {
  max-width: 1280px;
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
}
/*** Mobile menu ***/
footer .footer.no-widgets {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 300px;
  padding: 20px;
}
footer div#content {
  margin: 0 auto;
  padding-top: 50px;
}
footer div#content .footer.widgets {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
footer .site-info {
  text-align: center;
  font-size: 12px;
  padding: 5px 0;
}
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  text-decoration: none;
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  width: 100%;
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  background: #fff;
  position: absolute;
  top: 100%;
  left: auto;
  z-index: 99999;
  visibility: hidden;
  opacity: 0;
}
.main-navigation ul ul ul {
  left: 100%;
  top: 0;
  visibility: hidden;
  opacity: 0;
}
.main-navigation ul ul li {
  min-width: 200px;
  display: flex;
  align-items: center;
}
.main-navigation ul ul li.menu-item-has-children:after {
  font-family: "wetail-icons";
  content: "c";
  margin-right: 5px;
}
.main-navigation ul ul li a {
  width: 100%;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  padding: 5px 10px;
  text-decoration: none;
  color: #000;
  font-size: 14px;
}
.main-navigation ul#primary-menu > li.menu-item > a,
.main-navigation div#primary-menu > ul > li.menu-item > a {
  display: flex;
  align-items: center;
  height: 100%;
}
.main-navigation ul#primary-menu > li.menu-item-has-children,
.main-navigation div#primary-menu > ul > li.menu-item-has-children {
  display: inline-flex;
  align-items: center;
}
.main-navigation ul#primary-menu > li.menu-item-has-children:after,
.main-navigation div#primary-menu > ul > li.menu-item-has-children:after {
  font-family: "wetail-icons";
  content: "a";
  transition: 0.2s;
  font-size: 14px;
}

/*** Mega menu ***/
/*** Mobile menu ***/
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

/*
@media screen and (min-width: 768px) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}
*/
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}
/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.wc-widget, .widget {
  margin: 0 0 30px;
  width: 100%;
  /* Make sure select elements fit in widgets. */
}
.wc-widget h2, .widget h2 {
  margin-top: 0;
}
.wc-widget select, .widget select {
  max-width: 100%;
}
.wc-widget ul, .widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget {
  width: 25%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
body a.button.customize_items {
  border: 2px dashed #2196F3;
  background: transparent;
  border-radius: 5px;
  padding: 5px 15px;
  color: #2196F3;
  transition: 0.3s;
  text-align: center;
  max-height: 35px;
}
body a.button.customize_items:hover {
  opacity: 0.7;
}

#page {
  display: flex;
  flex-direction: column;
  min-height: var(--viewport-height, 100vh);
}
#page > .site-content {
  flex-grow: 1;
}
#page > * {
  width: 100%;
}

.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

div#content {
  max-width: 1280px; /* Override site width */
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

body.transparent-page-template header.site-header {
  position: absolute;
  z-index: 1;
}

body.single-fl-builder-template #content.site-content,
body.page.fl-builder #content.site-content {
  min-width: 100%;
  padding: 0;
}

body:not(.fl-builder) #content.site-content {
  margin: 20px auto;
}

/*
@media screen and (max-width: 1280px) {
	body:not(.fl-builder) #content.site-content {
		padding: 0 20px;
	}
}
*/
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
/*** Keyframes ***/
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/*--------------------------------------------------------------
# Keyframes
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Mix & Match plugins
--------------------------------------------------------------*/
.product-type-mix-and-match .summary.entry-summary p.price {
  display: none;
}

body.logged-in [class*=columns-]:empty:before {
  content: "Products will appear here";
  text-align: center;
  display: block;
  border: 2px dashed #cacaca;
  padding: 40px;
  border-radius: 10px;
  color: #cacaca;
  font-weight: 900;
}

.summary-add-to-cart-form-mnm {
  margin: 30px 0 0 0;
  position: relative;
  display: inline-block;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart {
  order: 2;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid a.mnm_reset {
  order: 1;
  margin: 15px 0 0 0;
  position: absolute;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap {
  display: flex !important;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  font-size: 20px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_price {
  width: inherit;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_price p.price {
  margin: 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_price p.price span.amount {
  font-weight: bold;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_message {
  width: 270px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_message .woocommerce-info {
  display: inherit;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  width: auto;
  font-size: inherit;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_message .woocommerce-info ul.msg.mnm_message_content {
  text-align: center;
  margin: 0;
  padding: 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .quantity {
  display: none;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products {
  order: 3;
  margin: 40px 0 0 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 20px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-thumbnail {
  order: 1;
  width: 34px;
  height: 34px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-details {
  order: 3;
  margin: 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-details p.price {
  display: none;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-quantity {
  order: 2;
  margin: 0 15px;
  border-radius: 20px;
  width: 70px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-quantity .quantity.mnm-quantity {
  display: flex;
  background: #efefef;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-quantity .quantity.mnm-quantity input.qty {
  margin: 0;
  background: transparent;
  border: none;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Mix & Match plugins
--------------------------------------------------------------*/
.product-type-mix-and-match .summary.entry-summary p.price {
  display: none;
}

body.logged-in [class*=columns-]:empty:before {
  content: "Products will appear here";
  text-align: center;
  display: block;
  border: 2px dashed #cacaca;
  padding: 40px;
  border-radius: 10px;
  color: #cacaca;
  font-weight: 900;
}

.summary-add-to-cart-form-mnm {
  margin: 30px 0 0 0;
  position: relative;
  display: inline-block;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart {
  order: 2;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid a.mnm_reset {
  order: 1;
  margin: 15px 0 0 0;
  position: absolute;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap {
  display: flex !important;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  font-size: 20px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_price {
  width: inherit;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_price p.price {
  margin: 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_price p.price span.amount {
  font-weight: bold;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_message {
  width: 270px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_message .woocommerce-info {
  display: inherit;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  width: auto;
  font-size: inherit;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .mnm_message .woocommerce-info ul.msg.mnm_message_content {
  text-align: center;
  margin: 0;
  padding: 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid .mnm_cart.mnm_data.cart .mnm_button_wrap .quantity {
  display: none;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products {
  order: 3;
  margin: 40px 0 0 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 20px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-thumbnail {
  order: 1;
  width: 34px;
  height: 34px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-details {
  order: 3;
  margin: 0;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-details p.price {
  display: none;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-quantity {
  order: 2;
  margin: 0 15px;
  border-radius: 20px;
  width: 70px;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-quantity .quantity.mnm-quantity {
  display: flex;
  background: #efefef;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.summary-add-to-cart-form-mnm .mnm_form.layout_grid ul.products li.mnm_item.product .product-quantity .quantity.mnm-quantity input.qty {
  margin: 0;
  background: transparent;
  border: none;
}
@media screen and (max-width: 1280px) {
  header#masthead div#content.header-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  body.admin-bar header#masthead div#content.header-content nav#site-navigation {
    top: 46px;
  }
  header#masthead {
    width: 100%;
  }
  header#masthead div#content.header-content {
    display: flex;
    padding-left: 10px;
    padding-right: 10px;
    position: relative;
    z-index: 9;
  }
  header#masthead div#content.header-content .mobile-menu {
    display: flex;
    order: 1;
    width: 20%;
  }
  header#masthead div#content.header-content .mobile-menu button {
    padding: 10px;
    background: transparent;
    border: none;
    font-size: 20px;
  }
  header#masthead div#content.header-content .mobile-menu i.toggle-search {
    padding: 10px;
    font-size: 16px;
    line-height: 1em;
  }
  header#masthead div#content.header-content .search {
    display: none;
    order: 4;
    width: 100%;
    justify-content: flex-start;
  }
  header#masthead div#content.header-content .search.show {
    display: block;
    padding-bottom: 10px;
    z-index: 99;
    height: 60px;
    width: calc(100% + 20px);
    padding: 10px;
    margin: 0 -10px;
  }
  header#masthead div#content.header-content .search input.search-field {
    width: 100%;
  }
  header#masthead div#content.header-content .site-branding {
    order: 2;
    max-width: 60%;
    justify-content: center;
  }
  header#masthead div#content.header-content .site-branding a img.custom-logo {
    width: 100%;
  }
  header#masthead div#content.header-content .shop-nav {
    order: 3;
    width: 20%;
    justify-content: flex-end;
    align-items: center;
  }
  header#masthead div#content.header-content .shop-nav i.toggle-search {
    display: block;
    padding: 15px;
    font-size: 20px;
  }
  header#masthead div#content.header-content .shop-nav a.cart-contents span.amount {
    display: none;
  }
  header#masthead div#content.header-content .shop-nav a.cart-contents:after {
    margin-left: 0px;
  }
  header#masthead nav.main-navigation {
    position: fixed;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    transition: 0.5s;
    padding: 40px;
    flex-direction: column;
    z-index: 999;
  }
  header#masthead nav.main-navigation #toggle-menu {
    display: flex;
    align-self: flex-end;
  }
  header#masthead nav.main-navigation ul li {
    width: 100%;
  }
  header#masthead nav.main-navigation.show {
    left: 0;
    transition: 0.5s;
  }
  header#masthead nav.main-navigation .mobile-menu-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between !important;
    margin: 0 0 20px 0 !important;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #efefef;
  }
  header#masthead nav.main-navigation .mobile-menu-header h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
  }
  header#masthead nav.main-navigation .mobile-menu-header button#toggle-menu {
    background: none;
    border: none;
    font-size: 22px;
    padding: 0;
  }
  nav.main-navigation ul.menu li.menu-item-has-children {
    display: flex;
    flex-direction: column;
  }
  nav.main-navigation ul.menu li.menu-item-has-children:after {
    font-family: "wetail-icons";
    content: "v";
    position: absolute;
    right: 0;
  }
  nav.main-navigation ul.menu li.menu-item-has-children a {
    width: 100%;
  }
  footer div#content .footer.widgets {
    justify-content: space-between;
  }
  footer div#content .footer.widgets section.widget {
    width: calc(50% - 10px);
  }
  footer div#content .footer.widgets section.widget h2.widget-title {
    word-break: break-all;
  }
  nav#site-navigation.main-navigation {
    height: 1px;
    min-height: 100vh;
    overflow-y: scroll;
  }
  nav#site-navigation.main-navigation a {
    padding: 5px 0;
  }
  .menu {
    width: 100%;
  }
  nav.main-navigation ul.menu li.menu-item-has-children {
    display: flex;
    flex-direction: column;
  }
  nav.main-navigation ul.menu li.menu-item-has-children:after {
    font-family: "wetail-icons";
    content: "a";
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px 20px;
    transition: 0.5s;
    margin-right: 0;
  }
  nav.main-navigation ul.menu li.menu-item-has-children.focus:after {
    transform: rotate(180deg);
  }
  nav.main-navigation ul.menu li.menu-item-has-children a {
    width: 100%;
  }
  nav.main-navigation ul.menu li.menu-item-has-children ul.sub-menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    visibility: visible;
    opacity: 1;
    position: relative;
    height: auto;
    top: 0;
    left: 0;
    padding-left: 10px;
    box-shadow: none;
    background-color: transparent;
  }
  .sml-only {
    display: block;
  }
  .med-only {
    display: none;
  }
  .lg-only {
    display: none;
  }
  .sml-n-med {
    display: block;
  }
  .med-n-lg {
    display: none;
  }
  body.admin-bar.archive.wc-has-sidebar.woocommerce aside#secondary,
  body.admin-bar header#masthead nav.main-navigation {
    top: 46px;
  }
}
@media screen and (min-width: 769px) {
  .main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
    left: 100%;
    visibility: visible;
    opacity: 1;
  }
  .main-navigation ul li:hover > ul,
  .main-navigation ul li.focus > ul {
    left: 0;
    visibility: visible;
    opacity: 1;
  }
  .main-navigation ul#primary-menu > li.menu-item-has-children:hover:after,
  .main-navigation div#primary-menu > ul > li.menu-item-has-children:hover:after {
    transform: rotate(180deg);
  }
  ul#primary-menu,
  div#primary-menu > ul {
    position: relative;
    width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }
  ul#primary-menu li.mega-menu,
  div#primary-menu > ul li.mega-menu { /* 1st level */
    position: static;
  }
  ul#primary-menu li.mega-menu > ul.sub-menu,
  div#primary-menu > ul li.mega-menu > ul.sub-menu {
    background: #fff;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    display: none;
    overflow: hidden;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%; /* The width is limited by the closesed parent relative element */
    left: 0;
    right: 0;
    top: 100%;
    flex-wrap: wrap;
    padding: 20px;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    border: 1px solid #e0e0e0;
    margin-top: 50px;
  }
  ul#primary-menu li.mega-menu > ul.sub-menu li.menu-item-has-children,
  div#primary-menu > ul li.mega-menu > ul.sub-menu li.menu-item-has-children {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-bottom: 20px;
  }
  ul#primary-menu li.mega-menu > ul.sub-menu li.menu-item-has-children:after,
  div#primary-menu > ul li.mega-menu > ul.sub-menu li.menu-item-has-children:after {
    content: "";
  }
  ul#primary-menu li.mega-menu > ul.sub-menu li.menu-item-has-children ul.sub-menu,
  div#primary-menu > ul li.mega-menu > ul.sub-menu li.menu-item-has-children ul.sub-menu {
    display: flex;
    position: static;
    flex-direction: column;
    min-width: 100%;
    margin-top: 10px;
    box-shadow: none;
    visibility: visible;
    opacity: 1;
  }
  ul#primary-menu li.mega-menu > ul.sub-menu > li.menu-item,
  div#primary-menu > ul li.mega-menu > ul.sub-menu > li.menu-item {
    width: 20%;
    align-items: flex-start;
  }
  ul#primary-menu li.mega-menu > ul.sub-menu > li.menu-item > a,
  div#primary-menu > ul li.mega-menu > ul.sub-menu > li.menu-item > a {
    font-size: 18px;
    font-weight: 700;
  }
  ul#primary-menu li.mega-menu:hover > ul.sub-menu,
  div#primary-menu > ul li.mega-menu:hover > ul.sub-menu {
    display: flex;
    z-index: 9999 !important;
    opacity: 1;
    visibility: visible;
    margin-top: 0;
  }
  body.admin-bar.archive.wc-has-sidebar.woocommerce aside#secondary,
  body.admin-bar header#masthead nav.main-navigation {
    top: 32px;
  }
}
@media screen and (min-width: 769px) and (max-width: 992px) {
  .sml-only {
    display: none;
  }
  .med-only {
    display: block;
  }
  .lg-only {
    display: none;
  }
  .sml-n-med {
    display: block;
  }
  .med-n-lg {
    display: block;
  }
}
@media screen and (min-width: 993px) {
  .sml-only {
    display: none;
  }
  .med-only {
    display: none;
  }
  .lg-only {
    display: block;
  }
  .sml-n-med {
    display: none;
  }
  .med-n-lg {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .mobile-only {
    display: block;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJfbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJ0eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fY29sb3JzLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fdHlwb2dyYXBoeS5zY3NzIiwibWl4aW5zL19taXhpbnMtbWFzdGVyLnNjc3MiLCJ0eXBvZ3JhcGh5L19oZWFkaW5ncy5zY3NzIiwidHlwb2dyYXBoeS9fY29weS5zY3NzIiwiZWxlbWVudHMvX2VsZW1lbnRzLnNjc3MiLCJlbGVtZW50cy9fbGlzdHMuc2NzcyIsImVsZW1lbnRzL190YWJsZXMuc2NzcyIsImZvcm1zL19idXR0b25zLnNjc3MiLCJmb3Jtcy9fZmllbGRzLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJuYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJuYXZpZ2F0aW9uL19saW5rcy5zY3NzIiwibmF2aWdhdGlvbi9fbWVudXMuc2NzcyIsIm1vZHVsZXMvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX2FsaWdubWVudHMuc2NzcyIsIm1vZHVsZXMvX2NsZWFyaW5ncy5zY3NzIiwic2l0ZS9zZWNvbmRhcnkvX3dpZGdldHMuc2NzcyIsInNpdGUvX3NpdGUuc2NzcyIsInNpdGUvcHJpbWFyeS9fcG9zdHMtYW5kLXBhZ2VzLnNjc3MiLCJzaXRlL3ByaW1hcnkvX2NvbW1lbnRzLnNjc3MiLCJtb2R1bGVzL19pbmZpbml0ZS1zY3JvbGwuc2NzcyIsImtleWZyYW1lcy9fa2V5ZnJhbWVzLnNjc3MiLCJwbHVnaW5zL19wbHVnaW5zLnNjc3MiLCJwbHVnaW5zL19taXgtbi1tYXRjaC5zY3NzIiwiPG5vIHNvdXJjZT4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0RBQUE7QUEwQkE7OytEQUFBO0FD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O0VpQmh6QkM7O0lBQ0MsYUFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtJQUNBLG1CQUFBO0lBQ0EsYUFBQTtFakJtekJGO0V1Qi8vQkQ7O0lBRUMsU0FBQTtFdkJxd0NBO0M2Qnh3Q0Y7QUFBQTtFWDhEQztJQUNDLGFBQUE7RWxCcWxDQTtFa0JsbENEO0lBQ0MsY0FBQTtFbEJvbENBO0VrQmpsQ0Q7SUFDQyxhQUFBO0VsQm1sQ0E7RWtCaGxDRDtJQUNDLGNBQUE7RWxCa2xDQTtFa0Iva0NEO0lBQ0MsY0FBQTtFbEJpbENBO0M2QmhxQ0Y7QUFBQTtFWHFGQztJQUNDLGFBQUE7RWxCK2tDQTtFa0I1a0NEO0lBQ0MsYUFBQTtFbEI4a0NBO0VrQjNrQ0Q7SUFDQyxjQUFBO0VsQjZrQ0E7RWtCMWtDRDtJQUNDLGFBQUE7RWxCNGtDQTtFa0J6a0NEO0lBQ0MsY0FBQTtFbEIya0NBO0M2QmpyQ0Y7QUFBQTtFTnNHQztJQUNDLGNBQUE7RXZCMnZDQTtDNkJsMkNGIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuPj4+IFRBQkxFIE9GIENPTlRFTlRTOlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTm9ybWFsaXplXHJcbiMgVHlwb2dyYXBoeVxyXG4jIEVsZW1lbnRzXHJcbiMgRm9ybXNcclxuIyBMYXlvdXRcclxuIyBOYXZpZ2F0aW9uXHJcblx0IyMgTGlua3NcclxuXHQjIyBNZW51c1xyXG4jIEFjY2Vzc2liaWxpdHlcclxuIyBBbGlnbm1lbnRzXHJcbiMgQ2xlYXJpbmdzXHJcbiMgV2lkZ2V0c1xyXG4jIENvbnRlbnRcclxuXHQjIyBQb3N0cyBhbmQgcGFnZXNcclxuXHQjIyBDb21tZW50c1xyXG4jIEluZmluaXRlIHNjcm9sbFxyXG4jIE1lZGlhXHJcblx0IyMgQ2FwdGlvbnNcclxuXHQjIyBHYWxsZXJpZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwidmFyaWFibGVzLXNpdGUvdmFyaWFibGVzLXNpdGVcIjtcclxuQGltcG9ydCBcIm1peGlucy9taXhpbnMtbWFzdGVyXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTm9ybWFsaXplXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIFR5cG9ncmFwaHlcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwidHlwb2dyYXBoeS90eXBvZ3JhcGh5XCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgRWxlbWVudHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvZWxlbWVudHNcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBGb3Jtc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJmb3Jtcy9mb3Jtc1wiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIExheW91dFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJsYXlvdXQvbGF5b3V0XCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTmF2aWdhdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJuYXZpZ2F0aW9uL25hdmlnYXRpb25cIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBBY2Nlc3NpYmlsaXR5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcIm1vZHVsZXMvYWNjZXNzaWJpbGl0eVwiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIEFsaWdubWVudHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibW9kdWxlcy9hbGlnbm1lbnRzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgQ2xlYXJpbmdzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcIm1vZHVsZXMvY2xlYXJpbmdzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgV2lkZ2V0c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJzaXRlL3NlY29uZGFyeS93aWRnZXRzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgQ29udGVudFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJzaXRlL3NpdGVcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBJbmZpbml0ZSBzY3JvbGxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibW9kdWxlcy9pbmZpbml0ZS1zY3JvbGxcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBNZWRpYVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJrZXlmcmFtZXMva2V5ZnJhbWVzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgS2V5ZnJhbWVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcInBsdWdpbnMvcGx1Z2luc1wiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIFBsdWdpbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwicGx1Z2lucy9wbHVnaW5zXCI7XHJcblxyXG5cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuLyogRG9jdW1lbnRcclxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qIFNlY3Rpb25zXHJcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcblx0Zm9udC1zaXplOiAyZW07XHJcblx0bWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG5cdGhlaWdodDogMDsgLyogMSAqL1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG5cdGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcblx0Zm9udC1zaXplOiA3NSU7XHJcblx0bGluZS1oZWlnaHQ6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuXHRib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcblx0dG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcblx0Zm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuXHRtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuXHRib3JkZXItc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcblx0b3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICpcdFx0YGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcblx0Y29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuXHRkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG5cdG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG5cdHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuXHRwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcblx0Zm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4jIFR5cG9ncmFwaHlcbiMgRWxlbWVudHNcbiMgRm9ybXNcbiMgTGF5b3V0XG4jIE5hdmlnYXRpb25cblx0IyMgTGlua3Ncblx0IyMgTWVudXNcbiMgQWNjZXNzaWJpbGl0eVxuIyBBbGlnbm1lbnRzXG4jIENsZWFyaW5nc1xuIyBXaWRnZXRzXG4jIENvbnRlbnRcblx0IyMgUG9zdHMgYW5kIHBhZ2VzXG5cdCMjIENvbW1lbnRzXG4jIEluZmluaXRlIHNjcm9sbFxuIyBNZWRpYVxuXHQjIyBDYXB0aW9uc1xuXHQjIyBHYWxsZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuZGZuLCBjaXRlLCBlbSwgaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAxLjVlbTtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbjogMCAwIDEuNWVtO1xufVxuXG5wcmUge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBmb250LWZhbWlseTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMS42ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEuNmVtO1xufVxuXG5jb2RlLCBrYmQsIHR0LCB2YXIge1xuICBmb250LWZhbWlseTogTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG5hYmJyLCBhY3JvbnltIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbm1hcmssIGlucyB7XG4gIGJhY2tncm91bmQ6ICNmZmY5YzA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYmlnIHtcbiAgZm9udC1zaXplOiAxMjUlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIgeyAvKiBJbmhlcml0IGJveC1zaXppbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY2hhbmdlIHRoZSBwcm9wZXJ0eSBmb3IgY29tcG9uZW50cyB0aGF0IGxldmVyYWdlIG90aGVyIGJlaGF2aW9yOyBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvICovXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyAvKiBGYWxsYmFjayBmb3Igd2hlbiB0aGVyZSBpcyBubyBjdXN0b20gYmFja2dyb3VuZCBjb2xvciBkZWZpbmVkLiAqL1xufVxuXG5ociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG51bCwgb2wge1xuICBtYXJnaW46IDAgMCAxLjVlbSAzZW07XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGQge1xuICBtYXJnaW46IDAgMS41ZW0gMS41ZW07XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bzsgLyogTWFrZSBzdXJlIGltYWdlcyBhcmUgc2NhbGVkIGNvcnJlY3RseS4gKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqL1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSAwOyAvKiBFeHRyYSB3aWRlIGltYWdlcyB3aXRoaW4gZmlndXJlIHRhZ3MgZG9uJ3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYS4gKi9cbn1cblxudGFibGUge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnRhYmxlLndvb2NvbW1lcmNlLXByb2R1Y3QtYXR0cmlidXRlcy5zaG9wX2F0dHJpYnV0ZXMgdHIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxudGFibGUud29vY29tbWVyY2UtcHJvZHVjdC1hdHRyaWJ1dGVzLnNob3BfYXR0cmlidXRlcyB0ciB0ZCwgdGFibGUud29vY29tbWVyY2UtcHJvZHVjdC1hdHRyaWJ1dGVzLnNob3BfYXR0cmlidXRlcyB0ciB0aCB7XG4gIHBhZGRpbmc6IDhweCAyMHB4O1xufVxudGFibGUud29vY29tbWVyY2UtcHJvZHVjdC1hdHRyaWJ1dGVzLnNob3BfYXR0cmlidXRlcyB0ciB0ZCBwLCB0YWJsZS53b29jb21tZXJjZS1wcm9kdWN0LWF0dHJpYnV0ZXMuc2hvcF9hdHRyaWJ1dGVzIHRyIHRoIHAge1xuICBtYXJnaW46IDA7XG59XG5cbnRhYmxlLndvb2NvbW1lcmNlLXByb2R1Y3QtYXR0cmlidXRlcy5zaG9wX2F0dHJpYnV0ZXMgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xufVxuXG50YWJsZS53b29jb21tZXJjZS1wcm9kdWN0LWF0dHJpYnV0ZXMuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRm9ybXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmJ1dHRvbixcbmlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9cmVzZXRdLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2NjYyAjY2NjICNiYmI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjZlbSAxZW0gMC40ZW07XG59XG5idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPWJ1dHRvbl06aG92ZXIsXG5pbnB1dFt0eXBlPXJlc2V0XTpob3ZlcixcbmlucHV0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2NjYyAjYmJiICNhYWE7XG59XG5idXR0b246YWN0aXZlLCBidXR0b246Zm9jdXMsXG5pbnB1dFt0eXBlPWJ1dHRvbl06YWN0aXZlLFxuaW5wdXRbdHlwZT1idXR0b25dOmZvY3VzLFxuaW5wdXRbdHlwZT1yZXNldF06YWN0aXZlLFxuaW5wdXRbdHlwZT1yZXNldF06Zm9jdXMsXG5pbnB1dFt0eXBlPXN1Ym1pdF06YWN0aXZlLFxuaW5wdXRbdHlwZT1zdWJtaXRdOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjYWFhICNiYmIgI2JiYjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT11cmxdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXNlYXJjaF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXJhbmdlXSxcbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9d2Vla10sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT1kYXRldGltZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9Y29sb3JdLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAzcHg7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5pbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG5pbnB1dFt0eXBlPXVybF06Zm9jdXMsXG5pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbmlucHV0W3R5cGU9c2VhcmNoXTpmb2N1cyxcbmlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cyxcbmlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzLFxuaW5wdXRbdHlwZT1kYXRlXTpmb2N1cyxcbmlucHV0W3R5cGU9bW9udGhdOmZvY3VzLFxuaW5wdXRbdHlwZT13ZWVrXTpmb2N1cyxcbmlucHV0W3R5cGU9dGltZV06Zm9jdXMsXG5pbnB1dFt0eXBlPWRhdGV0aW1lXTpmb2N1cyxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLFxuaW5wdXRbdHlwZT1jb2xvcl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGNvbG9yOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5zZWxlY3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBIZWFkZXIgJiBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gKiBMYXlvdXQ6IGhlYWRlclxuICpcbiAqL1xuaGVhZGVyI21hc3RoZWFkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgPiAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgLnNlYXJjaCB7XG4gIHdpZHRoOiAzMy4zMyU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zZWFyY2ggZm9ybS53b29jb21tZXJjZS1wcm9kdWN0LXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgLnNlYXJjaCBmb3JtLndvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwid2V0YWlsLWljb25zXCI7XG4gIGNvbnRlbnQ6IFwid1wiO1xuICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgdG9wOiA0cHg7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgLnNlYXJjaCBmb3JtLndvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoIGlucHV0LnNlYXJjaC1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2VhcmNoIGZvcm0ud29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2ggYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2l0ZS1icmFuZGluZyB7XG4gIHdpZHRoOiAzMy4zMyU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbmhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2l0ZS1icmFuZGluZyBhIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zaXRlLWJyYW5kaW5nIGEgaW1nLmJyYW5kaW5nLWxvZ28ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zaG9wLW5hdiB7XG4gIHdpZHRoOiAzMy4zMyU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgLnNob3AtbmF2IGkudG9nZ2xlLXNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5oZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgLnNob3AtbmF2IGEuY2FydC1jb250ZW50cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbmhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2hvcC1uYXYgYS5jYXJ0LWNvbnRlbnRzIHNwYW4uY291bnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2hvcC1uYXYgYS5jYXJ0LWNvbnRlbnRzIHNwYW4uc2VwYXJhdG9yIHtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zaG9wLW5hdiBhLmNhcnQtY29udGVudHM6YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJ3ZXRhaWwtaWNvbnNcIjtcbiAgY29udGVudDogXCJnXCI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5oZWFkZXIjbWFzdGhlYWQgbmF2Lm1haW4tbmF2aWdhdGlvbiAjdG9nZ2xlLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xufVxuaGVhZGVyI21hc3RoZWFkIG5hdi5tYWluLW5hdmlnYXRpb24gPiBkaXYge1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuYWRtaW4tYmFyIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCBuYXYjc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICB0b3A6IDQ2cHg7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBoZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcmRlcjogMTtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAubW9iaWxlLW1lbnUgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5tb2JpbGUtbWVudSBpLnRvZ2dsZS1zZWFyY2gge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3JkZXI6IDQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2VhcmNoLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IDAgLTEwcHg7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zZWFyY2ggaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBoZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQgLnNpdGUtYnJhbmRpbmcge1xuICAgIG9yZGVyOiAyO1xuICAgIG1heC13aWR0aDogNjAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2l0ZS1icmFuZGluZyBhIGltZy5jdXN0b20tbG9nbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zaG9wLW5hdiB7XG4gICAgb3JkZXI6IDM7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IC5zaG9wLW5hdiBpLnRvZ2dsZS1zZWFyY2gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2hvcC1uYXYgYS5jYXJ0LWNvbnRlbnRzIHNwYW4uYW1vdW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBkaXYjY29udGVudC5oZWFkZXItY29udGVudCAuc2hvcC1uYXYgYS5jYXJ0LWNvbnRlbnRzOmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBuYXYubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi5tYWluLW5hdmlnYXRpb24gI3RvZ2dsZS1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCBuYXYubWFpbi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBoZWFkZXIjbWFzdGhlYWQgbmF2Lm1haW4tbmF2aWdhdGlvbi5zaG93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXM7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDIwcHggMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZWY7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWhlYWRlciBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWhlYWRlciBidXR0b24jdG9nZ2xlLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4vKioqIE1vYmlsZSBtZW51ICoqKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIG5hdi5tYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgbmF2Lm1haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIndldGFpbC1pY29uc1wiO1xuICAgIGNvbnRlbnQ6IFwidlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxuICBuYXYubWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuZm9vdGVyIC5mb290ZXIubm8td2lkZ2V0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDMwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xufVxuZm9vdGVyIGRpdiNjb250ZW50IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuZm9vdGVyIGRpdiNjb250ZW50IC5mb290ZXIud2lkZ2V0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbmZvb3RlciAuc2l0ZS1pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBmb290ZXIgZGl2I2NvbnRlbnQgLmZvb3Rlci53aWRnZXRzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgZm9vdGVyIGRpdiNjb250ZW50IC5mb290ZXIud2lkZ2V0cyBzZWN0aW9uLndpZGdldCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIH1cbiAgZm9vdGVyIGRpdiNjb250ZW50IC5mb290ZXIud2lkZ2V0cyBzZWN0aW9uLndpZGdldCBoMi53aWRnZXQtdGl0bGUge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE1lbnVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwgdWwge1xuICBib3gtc2hhZG93OiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgei1pbmRleDogOTk5OTk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwgdWwgdWwge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwgdWwgbGkge1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLm1haW4tbmF2aWdhdGlvbiB1bCB1bCBsaTpob3ZlciA+IHVsLCAubWFpbi1uYXZpZ2F0aW9uIHVsIHVsIGxpLmZvY3VzID4gdWwge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJ3ZXRhaWwtaWNvbnNcIjtcbiAgY29udGVudDogXCJjXCI7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiB1bCB1bCBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpOmhvdmVyID4gdWwsXG4gIC5tYWluLW5hdmlnYXRpb24gdWwgbGkuZm9jdXMgPiB1bCB7XG4gICAgbGVmdDogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5tYWluLW5hdmlnYXRpb24gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtID4gYSxcbi5tYWluLW5hdmlnYXRpb24gZGl2I3ByaW1hcnktbWVudSA+IHVsID4gbGkubWVudS1pdGVtID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbixcbi5tYWluLW5hdmlnYXRpb24gZGl2I3ByaW1hcnktbWVudSA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyLFxuLm1haW4tbmF2aWdhdGlvbiBkaXYjcHJpbWFyeS1tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwid2V0YWlsLWljb25zXCI7XG4gIGNvbnRlbnQ6IFwiYVwiO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI6YWZ0ZXIsXG4gIC5tYWluLW5hdmlnYXRpb24gZGl2I3ByaW1hcnktbWVudSA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuXG4vKioqIE1lZ2EgbWVudSAqKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICB1bCNwcmltYXJ5LW1lbnUsXG4gIGRpdiNwcmltYXJ5LW1lbnUgPiB1bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMjgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51LFxuICBkaXYjcHJpbWFyeS1tZW51ID4gdWwgbGkubWVnYS1tZW51IHsgLyogMXN0IGxldmVsICovXG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51ID4gdWwuc3ViLW1lbnUsXG4gIGRpdiNwcmltYXJ5LW1lbnUgPiB1bCBsaS5tZWdhLW1lbnUgPiB1bC5zdWItbWVudSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlOyAvKiBUaGUgd2lkdGggaXMgbGltaXRlZCBieSB0aGUgY2xvc2VzZWQgcGFyZW50IHJlbGF0aXZlIGVsZW1lbnQgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51ID4gdWwuc3ViLW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbixcbiAgZGl2I3ByaW1hcnktbWVudSA+IHVsIGxpLm1lZ2EtbWVudSA+IHVsLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51ID4gdWwuc3ViLW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlcixcbiAgZGl2I3ByaW1hcnktbWVudSA+IHVsIGxpLm1lZ2EtbWVudSA+IHVsLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgdWwjcHJpbWFyeS1tZW51IGxpLm1lZ2EtbWVudSA+IHVsLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUsXG4gIGRpdiNwcmltYXJ5LW1lbnUgPiB1bCBsaS5tZWdhLW1lbnUgPiB1bC5zdWItbWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51ID4gdWwuc3ViLW1lbnUgPiBsaS5tZW51LWl0ZW0sXG4gIGRpdiNwcmltYXJ5LW1lbnUgPiB1bCBsaS5tZWdhLW1lbnUgPiB1bC5zdWItbWVudSA+IGxpLm1lbnUtaXRlbSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51ID4gdWwuc3ViLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiBhLFxuICBkaXYjcHJpbWFyeS1tZW51ID4gdWwgbGkubWVnYS1tZW51ID4gdWwuc3ViLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuICB1bCNwcmltYXJ5LW1lbnUgbGkubWVnYS1tZW51OmhvdmVyID4gdWwuc3ViLW1lbnUsXG4gIGRpdiNwcmltYXJ5LW1lbnUgPiB1bCBsaS5tZWdhLW1lbnU6aG92ZXIgPiB1bC5zdWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB6LWluZGV4OiA5OTk5ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi8qKiogTW9iaWxlIG1lbnUgKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgbmF2I3NpdGUtbmF2aWdhdGlvbi5tYWluLW5hdmlnYXRpb24ge1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxuICBuYXYjc2l0ZS1uYXZpZ2F0aW9uLm1haW4tbmF2aWdhdGlvbiBhIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxuICAubWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgbmF2Lm1haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBuYXYubWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwid2V0YWlsLWljb25zXCI7XG4gICAgY29udGVudDogXCJhXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBuYXYubWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5mb2N1czphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuICBuYXYubWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBuYXYubWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4vKiBTbWFsbCBtZW51LiAqL1xuLm1lbnUtdG9nZ2xlLFxuLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQubWVudS10b2dnbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0Lm1haW4tbmF2aWdhdGlvbiB1bCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiovXG4uc2l0ZS1tYWluIC5jb21tZW50LW5hdmlnYXRpb24sXG4uc2l0ZS1tYWluIC5wb3N0cy1uYXZpZ2F0aW9uLFxuLnNpdGUtbWFpbiAucG9zdC1uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBY2Nlc3NpYmlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cbn1cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IG5vbmU7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4vKiBEbyBub3Qgc2hvdyB0aGUgb3V0bGluZSBvbiB0aGUgc2tpcCBsaW5rIHRhcmdldC4gKi9cbiNjb250ZW50W3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc21sLW9ubHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5tZWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGctb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc21sLW4tbWVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubWVkLW4tbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnNtbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZWQtb25seSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmxnLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNtbC1uLW1lZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm1lZC1uLWxnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkzcHgpIHtcbiAgLnNtbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGctb25seSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnNtbC1uLW1lZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWVkLW4tbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEFsaWdubWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hbGlnbmxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBDbGVhcmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jbGVhcjpiZWZvcmUsXG4uY2xlYXI6YWZ0ZXIsXG4uZW50cnktY29udGVudDpiZWZvcmUsXG4uZW50cnktY29udGVudDphZnRlcixcbi5jb21tZW50LWNvbnRlbnQ6YmVmb3JlLFxuLmNvbW1lbnQtY29udGVudDphZnRlcixcbi5zaXRlLWhlYWRlcjpiZWZvcmUsXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OmJlZm9yZSxcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YmVmb3JlLFxuLnNpdGUtZm9vdGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi5jbGVhcjphZnRlcixcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDphZnRlcixcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud2Mtd2lkZ2V0LCAud2lkZ2V0IHtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIE1ha2Ugc3VyZSBzZWxlY3QgZWxlbWVudHMgZml0IGluIHdpZGdldHMuICovXG59XG4ud2Mtd2lkZ2V0IGgyLCAud2lkZ2V0IGgyIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi53Yy13aWRnZXQgc2VsZWN0LCAud2lkZ2V0IHNlbGVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi53Yy13aWRnZXQgdWwsIC53aWRnZXQgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi53aWRnZXQge1xuICB3aWR0aDogMjUlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIFBvc3RzIGFuZCBwYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgYm9keS5hZG1pbi1iYXIuYXJjaGl2ZS53Yy1oYXMtc2lkZWJhci53b29jb21tZXJjZSBhc2lkZSNzZWNvbmRhcnksXG4gIGJvZHkuYWRtaW4tYmFyIGhlYWRlciNtYXN0aGVhZCBuYXYubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICB0b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuYWRtaW4tYmFyLmFyY2hpdmUud2MtaGFzLXNpZGViYXIud29vY29tbWVyY2UgYXNpZGUjc2Vjb25kYXJ5LFxuICBib2R5LmFkbWluLWJhciBoZWFkZXIjbWFzdGhlYWQgbmF2Lm1haW4tbmF2aWdhdGlvbiB7XG4gICAgdG9wOiA0NnB4O1xuICB9XG59XG5ib2R5IGEuYnV0dG9uLmN1c3RvbWl6ZV9pdGVtcyB7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjMjE5NkYzO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgY29sb3I6ICMyMTk2RjM7XG4gIHRyYW5zaXRpb246IDAuM3M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LWhlaWdodDogMzVweDtcbn1cbmJvZHkgYS5idXR0b24uY3VzdG9taXplX2l0ZW1zOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4jcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXZpZXdwb3J0LWhlaWdodCwgMTAwdmgpO1xufVxuI3BhZ2UgPiAuc2l0ZS1jb250ZW50IHtcbiAgZmxleC1ncm93OiAxO1xufVxuI3BhZ2UgPiAqIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGlja3kge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBvc3QsXG4ucGFnZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnVwZGF0ZWQ6bm90KC5wdWJsaXNoZWQpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuZGl2I2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEyODBweDsgLyogT3ZlcnJpZGUgc2l0ZSB3aWR0aCAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktc3VtbWFyeSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBhZ2UtbGlua3Mge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbmJvZHkudHJhbnNwYXJlbnQtcGFnZS10ZW1wbGF0ZSBoZWFkZXIuc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG59XG5cbmJvZHkuc2luZ2xlLWZsLWJ1aWxkZXItdGVtcGxhdGUgI2NvbnRlbnQuc2l0ZS1jb250ZW50LFxuYm9keS5wYWdlLmZsLWJ1aWxkZXIgI2NvbnRlbnQuc2l0ZS1jb250ZW50IHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xufVxuXG5ib2R5Om5vdCguZmwtYnVpbGRlcikgI2NvbnRlbnQuc2l0ZS1jb250ZW50IHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcblx0Ym9keTpub3QoLmZsLWJ1aWxkZXIpICNjb250ZW50LnNpdGUtY29udGVudCB7XG5cdFx0cGFkZGluZzogMCAyMHB4O1xuXHR9XG59XG4qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb21tZW50LWNvbnRlbnQgYSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmJ5cG9zdGF1dGhvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEluZmluaXRlIHNjcm9sbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR2xvYmFsbHkgaGlkZGVuIGVsZW1lbnRzIHdoZW4gSW5maW5pdGUgU2Nyb2xsIGlzIHN1cHBvcnRlZCBhbmQgaW4gdXNlLiAqL1xuLmluZmluaXRlLXNjcm9sbCAucG9zdHMtbmF2aWdhdGlvbixcbi5pbmZpbml0ZS1zY3JvbGwubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHsgLyogVGhlbWUgRm9vdGVyICh3aGVuIHNldCB0byBzY3JvbGxpbmcpICovXG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFdoZW4gSW5maW5pdGUgU2Nyb2xsIGhhcyByZWFjaGVkIGl0cyBlbmQgd2UgbmVlZCB0byByZS1kaXNwbGF5IGVsZW1lbnRzIHRoYXQgd2VyZSBoaWRkZW4gKHZpYSAubmV2ZXJlbmRpbmcpIGJlZm9yZS4gKi9cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWVkaWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKiogS2V5ZnJhbWVzICoqKi9cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEtleWZyYW1lc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgTWl4ICYgTWF0Y2ggcGx1Z2luc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnByb2R1Y3QtdHlwZS1taXgtYW5kLW1hdGNoIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkubG9nZ2VkLWluIFtjbGFzcyo9Y29sdW1ucy1dOmVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiUHJvZHVjdHMgd2lsbCBhcHBlYXIgaGVyZVwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDJweCBkYXNoZWQgI2NhY2FjYTtcbiAgcGFkZGluZzogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIHtcbiAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCB7XG4gIG9yZGVyOiAyO1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIGEubW5tX3Jlc2V0IHtcbiAgb3JkZXI6IDE7XG4gIG1hcmdpbjogMTVweCAwIDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIC5tbm1fY2FydC5tbm1fZGF0YS5jYXJ0IC5tbm1fYnV0dG9uX3dyYXAge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIC5tbm1fcHJpY2Uge1xuICB3aWR0aDogaW5oZXJpdDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIC5tbm1fcHJpY2UgcC5wcmljZSB7XG4gIG1hcmdpbjogMDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIC5tbm1fcHJpY2UgcC5wcmljZSBzcGFuLmFtb3VudCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIC5tbm1fY2FydC5tbm1fZGF0YS5jYXJ0IC5tbm1fYnV0dG9uX3dyYXAgLm1ubV9tZXNzYWdlIHtcbiAgd2lkdGg6IDI3MHB4O1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIC5tbm1fY2FydC5tbm1fZGF0YS5jYXJ0IC5tbm1fYnV0dG9uX3dyYXAgLm1ubV9tZXNzYWdlIC53b29jb21tZXJjZS1pbmZvIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIC5tbm1fY2FydC5tbm1fZGF0YS5jYXJ0IC5tbm1fYnV0dG9uX3dyYXAgLm1ubV9tZXNzYWdlIC53b29jb21tZXJjZS1pbmZvIHVsLm1zZy5tbm1fbWVzc2FnZV9jb250ZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgLm1ubV9jYXJ0Lm1ubV9kYXRhLmNhcnQgLm1ubV9idXR0b25fd3JhcCAucXVhbnRpdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIHVsLnByb2R1Y3RzIHtcbiAgb3JkZXI6IDM7XG4gIG1hcmdpbjogNDBweCAwIDAgMDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IC5wcm9kdWN0LXRodW1ibmFpbCB7XG4gIG9yZGVyOiAxO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHMge1xuICBvcmRlcjogMztcbiAgbWFyZ2luOiAwO1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIHVsLnByb2R1Y3RzIGxpLm1ubV9pdGVtLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyBwLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgb3JkZXI6IDI7XG4gIG1hcmdpbjogMCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICB3aWR0aDogNzBweDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eS5tbm0tcXVhbnRpdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eS5tbm0tcXVhbnRpdHkgaW5wdXQucXR5IHtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFBsdWdpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE1peCAmIE1hdGNoIHBsdWdpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wcm9kdWN0LXR5cGUtbWl4LWFuZC1tYXRjaCAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmxvZ2dlZC1pbiBbY2xhc3MqPWNvbHVtbnMtXTplbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlByb2R1Y3RzIHdpbGwgYXBwZWFyIGhlcmVcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjYWNhY2E7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjY2FjYWNhO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSB7XG4gIG1hcmdpbjogMzBweCAwIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgLm1ubV9jYXJ0Lm1ubV9kYXRhLmNhcnQge1xuICBvcmRlcjogMjtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCBhLm1ubV9yZXNldCB7XG4gIG9yZGVyOiAxO1xuICBtYXJnaW46IDE1cHggMCAwIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgLm1ubV9jYXJ0Lm1ubV9kYXRhLmNhcnQgLm1ubV9idXR0b25fd3JhcCAubW5tX3ByaWNlIHtcbiAgd2lkdGg6IGluaGVyaXQ7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgLm1ubV9jYXJ0Lm1ubV9kYXRhLmNhcnQgLm1ubV9idXR0b25fd3JhcCAubW5tX3ByaWNlIHAucHJpY2Uge1xuICBtYXJnaW46IDA7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgLm1ubV9jYXJ0Lm1ubV9kYXRhLmNhcnQgLm1ubV9idXR0b25fd3JhcCAubW5tX3ByaWNlIHAucHJpY2Ugc3Bhbi5hbW91bnQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIC5tbm1fbWVzc2FnZSB7XG4gIHdpZHRoOiAyNzBweDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIC5tbm1fbWVzc2FnZSAud29vY29tbWVyY2UtaW5mbyB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCAubW5tX2NhcnQubW5tX2RhdGEuY2FydCAubW5tX2J1dHRvbl93cmFwIC5tbm1fbWVzc2FnZSAud29vY29tbWVyY2UtaW5mbyB1bC5tc2cubW5tX21lc3NhZ2VfY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnN1bW1hcnktYWRkLXRvLWNhcnQtZm9ybS1tbm0gLm1ubV9mb3JtLmxheW91dF9ncmlkIC5tbm1fY2FydC5tbm1fZGF0YS5jYXJ0IC5tbm1fYnV0dG9uX3dyYXAgLnF1YW50aXR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyB7XG4gIG9yZGVyOiAzO1xuICBtYXJnaW46IDQwcHggMCAwIDA7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgdWwucHJvZHVjdHMgbGkubW5tX2l0ZW0ucHJvZHVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgdWwucHJvZHVjdHMgbGkubW5tX2l0ZW0ucHJvZHVjdCAucHJvZHVjdC10aHVtYm5haWwge1xuICBvcmRlcjogMTtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgdWwucHJvZHVjdHMgbGkubW5tX2l0ZW0ucHJvZHVjdCAucHJvZHVjdC1kZXRhaWxzIHtcbiAgb3JkZXI6IDM7XG4gIG1hcmdpbjogMDtcbn1cbi5zdW1tYXJ5LWFkZC10by1jYXJ0LWZvcm0tbW5tIC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB1bC5wcm9kdWN0cyBsaS5tbm1faXRlbS5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHMgcC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgdWwucHJvZHVjdHMgbGkubW5tX2l0ZW0ucHJvZHVjdCAucHJvZHVjdC1xdWFudGl0eSB7XG4gIG9yZGVyOiAyO1xuICBtYXJnaW46IDAgMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgd2lkdGg6IDcwcHg7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgdWwucHJvZHVjdHMgbGkubW5tX2l0ZW0ucHJvZHVjdCAucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkubW5tLXF1YW50aXR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSAubW5tX2Zvcm0ubGF5b3V0X2dyaWQgdWwucHJvZHVjdHMgbGkubW5tX2l0ZW0ucHJvZHVjdCAucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkubW5tLXF1YW50aXR5IGlucHV0LnF0eSB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbn0iLCJib2R5LFxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbm9wdGdyb3VwLFxyXG50ZXh0YXJlYSB7XHJcblx0Y29sb3I6ICRjb2xvcl9fdGV4dC1tYWluO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcclxuXHRAaW5jbHVkZSBmb250LXNpemUoMSk7XHJcblx0bGluZS1oZWlnaHQ6ICRmb250X19saW5lLWhlaWdodC1ib2R5O1xyXG59XHJcblxyXG5AaW1wb3J0IFwiaGVhZGluZ3NcIjtcclxuXHJcbkBpbXBvcnQgXCJjb3B5XCI7XHJcbiIsIiRjb2xvcl9fYmFja2dyb3VuZC1ib2R5OiAjZmZmO1xyXG4kY29sb3JfX2JhY2tncm91bmQtc2NyZWVuOiAjZjFmMWYxO1xyXG4kY29sb3JfX2JhY2tncm91bmQtaHI6ICNjY2M7XHJcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICNlNmU2ZTY7XHJcbiRjb2xvcl9fYmFja2dyb3VuZC1wcmU6ICNlZWU7XHJcbiRjb2xvcl9fYmFja2dyb3VuZC1pbnM6ICNmZmY5YzA7XHJcblxyXG4kY29sb3JfX3RleHQtc2NyZWVuOiAjMjE3NTliO1xyXG4kY29sb3JfX3RleHQtaW5wdXQ6ICM2NjY7XHJcbiRjb2xvcl9fdGV4dC1pbnB1dC1mb2N1czogIzExMTtcclxuJGNvbG9yX19saW5rOiAjREQwQjBEO1xyXG4kY29sb3JfX2xpbmstdmlzaXRlZDogI0REMEIwRDtcclxuJGNvbG9yX19saW5rLWhvdmVyOiAjZDc4MjgzO1xyXG4kY29sb3JfX3RleHQtbWFpbjogIzQwNDA0MDtcclxuXHJcbiRjb2xvcl9fYm9yZGVyLWJ1dHRvbjogI2NjYyAjY2NjICNiYmI7XHJcbiRjb2xvcl9fYm9yZGVyLWJ1dHRvbi1ob3ZlcjogI2NjYyAjYmJiICNhYWE7XHJcbiRjb2xvcl9fYm9yZGVyLWJ1dHRvbi1mb2N1czogI2FhYSAjYmJiICNiYmI7XHJcbiRjb2xvcl9fYm9yZGVyLWlucHV0OiAjY2NjO1xyXG4kY29sb3JfX2JvcmRlci1hYmJyOiAjNjY2O1xyXG5cclxuJHRoZV9saWdodF9ncmF5OiAjZWZlZmVmO1xyXG4kdGhlX2JsdWU6ICMwMDg1YmE7XHJcblxyXG4kd29vY29tbWVyY2VfX2NvbG9yLXN1Y2Nlc3M6ICM3REU3Nzc7XHJcbiR3b29jb21tZXJjZV9fY29sb3ItZXJyb3I6ICNERDBCMEQ7XHJcbiIsIiRmb250X19oZWFkaW5nczogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XHJcbiRmb250X19tYWluOiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xyXG4kZm9udF9fY29kZTogTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xyXG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kZm9udF9fbGluZS1oZWlnaHQtYm9keTogMS41O1xyXG4kZm9udF9fbGluZS1oZWlnaHQtcHJlOiAxLjY7XHJcblxyXG4iLCIvLyBSZW0gb3V0cHV0IHdpdGggcHggZmFsbGJhY2tcclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxKSB7XHJcblx0Zm9udC1zaXplOiAoJHNpemVWYWx1ZSAqIDE2KSAqIDFweDtcclxuXHRmb250LXNpemU6ICRzaXplVmFsdWUgKiAxcmVtO1xyXG59XHJcblxyXG4vLyBDZW50ZXIgYmxvY2tcclxuQG1peGluIGNlbnRlci1ibG9jayB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLyBDbGVhcmZpeFxyXG5AbWl4aW4gY2xlYXJmaXgoKSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG59XHJcblxyXG4vLyBDbGVhciBhZnRlciAobm90IGFsbCBjbGVhcmZpeCBuZWVkIHRoaXMgYWxzbylcclxuQG1peGluIGNsZWFyZml4LWFmdGVyKCkge1xyXG5cdGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4vLyBDb2x1bW4gd2lkdGggd2l0aCBtYXJnaW5cclxuQG1peGluIGNvbHVtbi13aWR0aCgkbnVtYmVyQ29sdW1uczogMykge1xyXG5cdHdpZHRoOiBtYXAtZ2V0KCAkY29sdW1ucywgJG51bWJlckNvbHVtbnMgKSAtICggY2FsYygoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSApICkgLyAkbnVtYmVyQ29sdW1ucyApKTtcclxufVxyXG5cclxuLy8gV29vQ29tbWVyY2UgUHJpbWFyeSBidXR0b25cclxuQG1peGluIHByaW1hcnktd2MtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vLyBXb29Db21tZXJjZSBTZWNvbmRhcnkgYnV0dG9uXHJcbkBtaXhpbiBzZWNvbmRhcnktd2MtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG5cdGNsZWFyOiBib3RoO1xyXG59XHJcbiIsInAge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG59XHJcblxyXG5kZm4sIGNpdGUsIGVtLCBpIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG5cdG1hcmdpbjogMCAxLjVlbTtcclxufVxyXG5cclxuYWRkcmVzcyB7XHJcblx0bWFyZ2luOiAwIDAgMS41ZW07XHJcbn1cclxuXHJcbnByZSB7XHJcblx0YmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kLXByZTtcclxuXHRmb250LWZhbWlseTogJGZvbnRfX3ByZTtcclxuXHRAaW5jbHVkZSBmb250LXNpemUoMC45Mzc1KTtcclxuXHRsaW5lLWhlaWdodDogJGZvbnRfX2xpbmUtaGVpZ2h0LXByZTtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjZlbTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cGFkZGluZzogMS42ZW07XHJcbn1cclxuXHJcbmNvZGUsIGtiZCwgdHQsIHZhciB7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250X19jb2RlO1xyXG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgwLjkzNzUpO1xyXG59XHJcblxyXG5hYmJyLCBhY3JvbnltIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvcl9fYm9yZGVyLWFiYnI7XHJcblx0Y3Vyc29yOiBoZWxwO1xyXG59XHJcblxyXG5tYXJrLCBpbnMge1xyXG5cdGJhY2tncm91bmQ6ICRjb2xvcl9fYmFja2dyb3VuZC1pbnM7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5iaWcge1xyXG5cdGZvbnQtc2l6ZTogMTI1JTtcclxufVxyXG4iLCJodG1sIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG59XHJcblxyXG4qLFxyXG4qOmJlZm9yZSxcclxuKjphZnRlciB7IC8qIEluaGVyaXQgYm94LXNpemluZyB0byBtYWtlIGl0IGVhc2llciB0byBjaGFuZ2UgdGhlIHByb3BlcnR5IGZvciBjb21wb25lbnRzIHRoYXQgbGV2ZXJhZ2Ugb3RoZXIgYmVoYXZpb3I7IHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS8gKi9cclxuXHRib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtYm9keTsgLyogRmFsbGJhY2sgZm9yIHdoZW4gdGhlcmUgaXMgbm8gY3VzdG9tIGJhY2tncm91bmQgY29sb3IgZGVmaW5lZC4gKi9cclxufVxyXG5cclxuaHIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZC1ocjtcclxuXHRib3JkZXI6IDA7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbn1cclxuXHJcbkBpbXBvcnQgXCJsaXN0c1wiO1xyXG5cclxuaW1nIHtcclxuXHRoZWlnaHQ6IGF1dG87IC8qIE1ha2Ugc3VyZSBpbWFnZXMgYXJlIHNjYWxlZCBjb3JyZWN0bHkuICovXHJcblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqL1xyXG59XHJcblxyXG5maWd1cmUge1xyXG5cdG1hcmdpbjogMWVtIDA7IC8qIEV4dHJhIHdpZGUgaW1hZ2VzIHdpdGhpbiBmaWd1cmUgdGFncyBkb24ndCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhLiAqL1xyXG59XHJcblxyXG5AaW1wb3J0IFwidGFibGVzXCI7XHJcbiIsInVsLCBvbCB7XHJcblx0bWFyZ2luOiAwIDAgMS41ZW0gM2VtO1xyXG59XHJcblxyXG51bCB7XHJcblx0bGlzdC1zdHlsZTogZGlzYztcclxufVxyXG5cclxub2wge1xyXG5cdGxpc3Qtc3R5bGU6IGRlY2ltYWw7XHJcbn1cclxuXHJcbmxpID4gdWwsXHJcbmxpID4gb2wge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0bWFyZ2luLWxlZnQ6IDEuNWVtO1xyXG59XHJcblxyXG5kdCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbmRkIHtcclxuXHRtYXJnaW46IDAgMS41ZW0gMS41ZW07XHJcbn1cclxuIiwidGFibGUge1xyXG5cdG1hcmdpbjogMCAwIDEuNWVtO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG50YWJsZS53b29jb21tZXJjZS1wcm9kdWN0LWF0dHJpYnV0ZXMuc2hvcF9hdHRyaWJ1dGVzIHRyIHtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHR0ZCwgdGgge1xyXG5cdFx0cGFkZGluZzogOHB4IDIwcHg7XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG50YWJsZS53b29jb21tZXJjZS1wcm9kdWN0LWF0dHJpYnV0ZXMuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChvZGQpIHtcclxuXHRiYWNrZ3JvdW5kOiAjZWZlZmVmO1xyXG59XHJcblxyXG50YWJsZS53b29jb21tZXJjZS1wcm9kdWN0LWF0dHJpYnV0ZXMuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZChldmVuKSB7XHJcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcclxufVxyXG4iLCJidXR0b24sXHJcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQ7XHJcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3JfX2JvcmRlci1idXR0b247XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGJhY2tncm91bmQ6ICRjb2xvcl9fYmFja2dyb3VuZC1idXR0b247XHJcblx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgLjgpO1xyXG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgwLjc1KTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRwYWRkaW5nOiAuNmVtIDFlbSAuNGVtO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yX19ib3JkZXItYnV0dG9uLWhvdmVyO1xyXG5cdH1cclxuXHJcblx0JjphY3RpdmUsXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvcl9fYm9yZGVyLWJ1dHRvbi1mb2N1cztcclxuXHRcdG91dGxpbmU6IG5vbmU7XHJcblx0fVxyXG59XHJcbiIsImlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuaW5wdXRbdHlwZT1cInJhbmdlXCJdLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXHJcbnRleHRhcmVhIHtcclxuXHRjb2xvcjogJGNvbG9yX190ZXh0LWlucHV0O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fYm9yZGVyLWlucHV0O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRwYWRkaW5nOiAzcHg7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRjb2xvcjogbm9uZTtcclxuXHRcdG91dGxpbmU6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5zZWxlY3Qge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fYm9yZGVyLWlucHV0O1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIEhlYWRlciAmIEZvb3RlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJoZWFkZXJcIjtcclxuQGltcG9ydCBcImZvb3RlclwiO1xyXG4iLCIvKlxyXG4gKiBMYXlvdXQ6IGhlYWRlclxyXG4gKlxyXG4gKi9cclxuXHJcbmhlYWRlciNtYXN0aGVhZCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdCYgPiAqIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tb2JpbGUtbWVudSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNlYXJjaCB7XHJcblx0XHRcdHdpZHRoOiAzMy4zMyU7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdFx0Zm9ybS53b29jb21tZXJjZS1wcm9kdWN0LXNlYXJjaCB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBcIndldGFpbC1pY29uc1wiO1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcXDc3XCI7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTdlN2U3O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMycHg7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMzJweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDRweDtcclxuXHRcdFx0XHRcdHRvcDogNHB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aW5wdXQuc2VhcmNoLWZpZWxkIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zaXRlLWJyYW5kaW5nIHtcclxuXHRcdFx0d2lkdGg6IDMzLjMzJTtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHRcdFx0aW1nLmJyYW5kaW5nLWxvZ28ge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zaG9wLW5hdiB7XHJcblx0XHRcdHdpZHRoOiAzMy4zMyU7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG5cdFx0XHRpLnRvZ2dsZS1zZWFyY2gge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEuY2FydC1jb250ZW50cyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuXHRcdFx0XHRzcGFuLmNvdW50IHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRzcGFuLnNlcGFyYXRvciB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLmNhcnQtY29udGVudHM6YWZ0ZXIge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIndldGFpbC1pY29uc1wiO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFw2N1wiO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmF2Lm1haW4tbmF2aWdhdGlvbiB7XHJcblxyXG5cdFx0I3RvZ2dsZS1tZW51IHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQmID4gZGl2IHtcclxuXHRcdFx0bWF4LXdpZHRoOiAxMjgwcHg7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuXHRoZWFkZXIjbWFzdGhlYWQgZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Ym9keS5hZG1pbi1iYXIgaGVhZGVyI21hc3RoZWFkIGRpdiNjb250ZW50LmhlYWRlci1jb250ZW50IG5hdiNzaXRlLW5hdmlnYXRpb24ge1xyXG5cdFx0dG9wOiA0NnB4O1xyXG5cdH1cclxuXHRoZWFkZXIjbWFzdGhlYWQge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0ZGl2I2NvbnRlbnQuaGVhZGVyLWNvbnRlbnQge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0ei1pbmRleDogOTtcclxuXHJcblx0XHRcdC5tb2JpbGUtbWVudSB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRvcmRlcjogMTtcclxuXHRcdFx0XHR3aWR0aDogMjAlO1xyXG5cclxuXHRcdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aS50b2dnbGUtc2VhcmNoIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMWVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNlYXJjaCB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRvcmRlcjogNDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblxyXG5cdFx0XHRcdCYuc2hvdyB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0ei1pbmRleDogOTk7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XHJcblx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIC0xMHB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aW5wdXQuc2VhcmNoLWZpZWxkIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNpdGUtYnJhbmRpbmcge1xyXG5cdFx0XHRcdG9yZGVyOiAyO1xyXG5cdFx0XHRcdG1heC13aWR0aDogNjAlO1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRhIGltZy5jdXN0b20tbG9nbyB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zaG9wLW5hdiB7XHJcblx0XHRcdFx0b3JkZXI6IDM7XHJcblx0XHRcdFx0d2lkdGg6IDIwJTtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdGkudG9nZ2xlLXNlYXJjaCB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRhLmNhcnQtY29udGVudHMgc3Bhbi5hbW91bnQge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGEuY2FydC1jb250ZW50czphZnRlciB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdG5hdi5tYWluLW5hdmlnYXRpb24ge1xyXG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdGxlZnQ6IC0xMDAlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IDAuNXM7XHJcblx0XHRcdHBhZGRpbmc6IDQwcHg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdHotaW5kZXg6IDk5OTtcclxuXHJcblx0XHRcdCN0b2dnbGUtbWVudSB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdC8vZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHQvL2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdFx0Ly93aWR0aDogMTAwJTtcclxuXHRcdFx0XHQvL1xyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5zaG93IHtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IDAuNXM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5tb2JpbGUtbWVudS1oZWFkZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcclxuXHRcdFx0XHRtYXJnaW46IDAgMCAyMHB4IDAgIWltcG9ydGFudDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMjBweCAwO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubW9iaWxlLW1lbnUtaGVhZGVyIGg0IHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1vYmlsZS1tZW51LWhlYWRlciBidXR0b24jdG9nZ2xlLW1lbnUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKiBNb2JpbGUgbWVudSAqKiovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0bmF2Lm1haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBcIndldGFpbC1pY29uc1wiO1xyXG5cdFx0XHRjb250ZW50OiBcIlxcNzZcIjtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0dWwuc3ViLW1lbnUge1xyXG5cdFx0XHQvL2Rpc3BsYXk6IG5vbmU7XHJcblx0XHRcdC8vdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0XHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Ly9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0Ly9oZWlnaHQ6IDA7XHJcblx0XHRcdC8vdG9wOiAwO1xyXG5cdFx0XHQvL2xlZnQ6IDA7XHJcblx0XHRcdC8vcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0XHQvL2JveC1zaGFkb3c6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8mOmZvY3VzID4gdWwuc3ViLW1lbnUsXHJcblx0XHQvLyY6aG92ZXIgPiB1bC5zdWItbWVudSB7XHJcblx0XHQvL1x0ZGlzcGxheTogZmxleDtcclxuXHRcdC8vXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdFx0Ly9cdGhlaWdodDogaW5oZXJpdDtcclxuXHRcdC8vfVxyXG5cdH1cclxufVxyXG4iLCJmb290ZXIge1xyXG5cclxuXHQuZm9vdGVyLm5vLXdpZGdldHMge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGhlaWdodDogMzAwcHg7XHJcblx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0ZGl2I2NvbnRlbnQge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcclxuXHJcblx0XHQuZm9vdGVyLndpZGdldHMge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc2l0ZS1pbmZvIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdHBhZGRpbmc6IDVweCAwO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Zm9vdGVyIGRpdiNjb250ZW50IC5mb290ZXIud2lkZ2V0cyB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdFx0c2VjdGlvbi53aWRnZXQge1xyXG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcclxuXHJcblx0XHRcdGgyLndpZGdldC10aXRsZSB7XHJcblx0XHRcdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgTGlua3NcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibGlua3NcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgTWVudXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibWVudXNcIjtcclxuIiwiYSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuXHQmOnZpc2l0ZWQge1xyXG5cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Jjpmb2N1cyxcclxuXHQmOmFjdGl2ZSB7XHJcblxyXG5cdH1cclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHQvLyBcdFx0b3V0bGluZTogdGhpbiBkb3R0ZWQ7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCY6YWN0aXZlIHtcclxuXHRcdC8vIFx0XHRvdXRsaW5lOiAwO1xyXG5cdH1cclxufVxyXG4iLCIubWFpbi1uYXZpZ2F0aW9uIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHJcblx0XHR1bCB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdC8vZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAxMDAlO1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHR6LWluZGV4OiA5OTk5OTtcclxuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHQvL3RyYW5zaXRpb246IDAuN3M7XHJcblxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0bGVmdDogMTAwJTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0Ly90cmFuc2l0aW9uOiAwLjdzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0bWluLXdpZHRoOiAyMDBweDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcblx0XHRcdFx0XHQmOmhvdmVyID4gdWwsXHJcblx0XHRcdFx0XHQmLmZvY3VzID4gdWwge1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0XHQvL3RyYW5zaXRpb246IDAuN3M7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IFwid2V0YWlsLWljb25zXCI7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcImNcIjtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ6aG92ZXIgPiBhLFxyXG5cdFx0XHQuZm9jdXMgPiBhIHtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YTpob3ZlcixcclxuXHRcdFx0YS5mb2N1cyB7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xyXG5cdFx0XHRsaTpob3ZlciA+IHVsLFxyXG5cdFx0XHRsaS5mb2N1cyA+IHVsIHtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHQvL3RyYW5zaXRpb246IDAuN3M7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGxpIHtcclxuXHRcdC8vZmxvYXQ6IGxlZnQ7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0Jjpob3ZlciA+IGEsXHJcblx0XHQmLmZvY3VzID4gYSB7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogNXB4IDEwcHg7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRjb2xvcjogIzAwMDtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHR9XHJcblxyXG5cdC5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsXHJcblx0LmN1cnJlbnQtbWVudS1pdGVtID4gYSxcclxuXHQuY3VycmVudF9wYWdlX2FuY2VzdG9yID4gYSxcclxuXHQuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSB7XHJcblxyXG5cdH1cclxuXHJcblx0dWwjcHJpbWFyeS1tZW51LFxyXG5cdGRpdiNwcmltYXJ5LW1lbnUgPiB1bCB7XHJcblx0XHQmID4gbGkubWVudS1pdGVtIHtcclxuXHRcdFx0JiA+IGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwid2V0YWlsLWljb25zXCI7XHJcblx0XHRcdFx0Y29udGVudDogXCJhXCI7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogMC4ycztcclxuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcblx0XHRcdFx0Jjpob3ZlcjphZnRlciB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqKiBNZWdhIG1lbnUgKioqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xyXG5cdHVsI3ByaW1hcnktbWVudSxcclxuXHRkaXYjcHJpbWFyeS1tZW51ID4gdWwge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDEyODBweDtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdGxpLm1lZ2EtbWVudSB7IC8qIDFzdCBsZXZlbCAqL1xyXG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xyXG5cclxuXHRcdFx0JiA+IHVsLnN1Yi1tZW51IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7IC8qIFRoZSB3aWR0aCBpcyBsaW1pdGVkIGJ5IHRoZSBjbG9zZXNlZCBwYXJlbnQgcmVsYXRpdmUgZWxlbWVudCAqL1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0dG9wOiAxMDAlO1xyXG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cclxuXHRcdFx0XHRsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR1bC5zdWItbWVudSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgICAgIGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdFx0XHRcdC8vdG9wOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmID4gbGkubWVudS1pdGVtIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAyMCU7XHJcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcblx0XHRcdFx0XHQmID4gYSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciA+IHVsLnN1Yi1tZW51IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqKiBNb2JpbGUgbWVudSAqKiovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0bmF2I3NpdGUtbmF2aWdhdGlvbi5tYWluLW5hdmlnYXRpb24ge1xyXG5cdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0cGFkZGluZzogNXB4IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubWVudSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdG5hdi5tYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRmb250LWZhbWlseTogXCJ3ZXRhaWwtaWNvbnNcIjtcclxuXHRcdFx0Y29udGVudDogXCJhXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cGFkZGluZzogNXB4IDIwcHg7XHJcblx0XHRcdHRyYW5zaXRpb246IDAuNXM7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmZvY3VzOmFmdGVyIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0dWwuc3ViLW1lbnUge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyY6Zm9jdXMgPiB1bC5zdWItbWVudSxcclxuXHRcdC8vJjpob3ZlciA+IHVsLnN1Yi1tZW51IHtcclxuXHRcdC8vICBkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Ly8gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHQvLyAgaGVpZ2h0OiBpbmhlcml0O1xyXG5cdFx0Ly99XHJcblx0fVxyXG59XHJcblxyXG4vKiBTbWFsbCBtZW51LiAqL1xyXG4ubWVudS10b2dnbGUsXHJcbi5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCB1bCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblx0Lm1lbnUtdG9nZ2xlIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdC5tYWluLW5hdmlnYXRpb24gdWwge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59XHJcbiovXHJcblxyXG4uY29tbWVudC1uYXZpZ2F0aW9uLFxyXG4ucG9zdHMtbmF2aWdhdGlvbixcclxuLnBvc3QtbmF2aWdhdGlvbiB7XHJcblxyXG5cdC5zaXRlLW1haW4gJiB7XHJcblx0XHRtYXJnaW46IDAgMCAxLjVlbTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQubmF2LXByZXZpb3VzIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5uYXYtbmV4dCB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0fVxyXG59XHJcbiIsIi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXHJcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG5cdGJvcmRlcjogMDtcclxuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcblx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdG1hcmdpbjogLTFweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDFweDtcclxuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JhY2tncm91bmQtc2NyZWVuO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG5cdFx0Y2xpcDogYXV0byAhaW1wb3J0YW50O1xyXG5cdFx0Y2xpcC1wYXRoOiBub25lO1xyXG5cdFx0Y29sb3I6ICRjb2xvcl9fdGV4dC1zY3JlZW47XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgwLjg3NSk7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGxlZnQ6IDVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHR6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXHJcblx0fVxyXG59XHJcblxyXG4vKiBEbyBub3Qgc2hvdyB0aGUgb3V0bGluZSBvbiB0aGUgc2tpcCBsaW5rIHRhcmdldC4gKi9cclxuI2NvbnRlbnRbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XHJcblx0b3V0bGluZTogMDtcclxufVxyXG5cclxuLy8gTW9iaWxlIGRldmljZVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5zbWwtb25seSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblx0Lm1lZC1vbmx5IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdC5sZy1vbmx5IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuc21sLW4tbWVkIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHJcblx0Lm1lZC1uLWxnIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vLyBtZWRpdW0gZGV2aWNlXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcclxuXHQuc21sLW9ubHkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5tZWQtb25seSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC5sZy1vbmx5IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuc21sLW4tbWVkIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHJcblx0Lm1lZC1uLWxnIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuLy8gTGFyZ2UgZGV2aWNlXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5M3B4KSB7XHJcblx0LnNtbC1vbmx5IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQubWVkLW9ubHkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5sZy1vbmx5IHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHJcblx0LnNtbC1uLW1lZCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0Lm1lZC1uLWxnIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuIiwiLmFsaWdubGVmdCB7XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbi1yaWdodDogMS41ZW07XHJcbn1cclxuXHJcbi5hbGlnbnJpZ2h0IHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdG1hcmdpbi1sZWZ0OiAxLjVlbTtcclxufVxyXG5cclxuLmFsaWduY2VudGVyIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRAaW5jbHVkZSBjZW50ZXItYmxvY2s7XHJcbn1cclxuIiwiLmNsZWFyOmJlZm9yZSxcclxuLmNsZWFyOmFmdGVyLFxyXG4uZW50cnktY29udGVudDpiZWZvcmUsXHJcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxyXG4uY29tbWVudC1jb250ZW50OmJlZm9yZSxcclxuLmNvbW1lbnQtY29udGVudDphZnRlcixcclxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcclxuLnNpdGUtaGVhZGVyOmFmdGVyLFxyXG4uc2l0ZS1jb250ZW50OmJlZm9yZSxcclxuLnNpdGUtY29udGVudDphZnRlcixcclxuLnNpdGUtZm9vdGVyOmJlZm9yZSxcclxuLnNpdGUtZm9vdGVyOmFmdGVyIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLmNsZWFyOmFmdGVyLFxyXG4uZW50cnktY29udGVudDphZnRlcixcclxuLmNvbW1lbnQtY29udGVudDphZnRlcixcclxuLnNpdGUtaGVhZGVyOmFmdGVyLFxyXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxyXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4LWFmdGVyO1xyXG59XHJcbiIsIi53Yy13aWRnZXQsIC53aWRnZXQge1xyXG5cdG1hcmdpbjogMCAwIDMwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdGgyIHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG5cclxuXHQvKiBNYWtlIHN1cmUgc2VsZWN0IGVsZW1lbnRzIGZpdCBpbiB3aWRnZXRzLiAqL1xyXG5cdHNlbGVjdCB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcbn1cclxuXHJcbi53aWRnZXQge1xyXG5cdHdpZHRoOiAyNSU7XHJcbn1cclxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIyBQb3N0cyBhbmQgcGFnZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwicHJpbWFyeS9wb3N0cy1hbmQtcGFnZXNcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgQ29tbWVudHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwicHJpbWFyeS9jb21tZW50c1wiO1xyXG4iLCJAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xyXG5cdGJvZHkuYWRtaW4tYmFyLmFyY2hpdmUud2MtaGFzLXNpZGViYXIud29vY29tbWVyY2UgYXNpZGUjc2Vjb25kYXJ5LFxyXG5cdGJvZHkuYWRtaW4tYmFyIGhlYWRlciNtYXN0aGVhZCBuYXYubWFpbi1uYXZpZ2F0aW9uIHtcclxuXHRcdHRvcDogMzJweDtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Ym9keS5hZG1pbi1iYXIuYXJjaGl2ZS53Yy1oYXMtc2lkZWJhci53b29jb21tZXJjZSBhc2lkZSNzZWNvbmRhcnksXHJcblx0Ym9keS5hZG1pbi1iYXIgaGVhZGVyI21hc3RoZWFkIG5hdi5tYWluLW5hdmlnYXRpb24ge1xyXG5cdFx0dG9wOiA0NnB4O1xyXG5cdH1cclxufVxyXG5cclxuYm9keSBhLmJ1dHRvbi5jdXN0b21pemVfaXRlbXMge1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCAjMjE5NkYzO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRwYWRkaW5nOiA1cHggMTVweDtcclxuXHRjb2xvcjogIzIxOTZGMztcclxuXHR0cmFuc2l0aW9uOiAwLjNzO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXgtaGVpZ2h0OiAzNXB4O1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdG9wYWNpdHk6IDAuNztcclxuXHR9XHJcbn1cclxuXHJcbiNwYWdlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0bWluLWhlaWdodDogdmFyKC0tdmlld3BvcnQtaGVpZ2h0LCAxMDB2aCk7XHJcblxyXG5cdCYgPiAuc2l0ZS1jb250ZW50IHtcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHR9XHJcblxyXG5cdCYgPiAqIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLnN0aWNreSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5wb3N0LFxyXG4ucGFnZSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udXBkYXRlZDpub3QoLnB1Ymxpc2hlZCkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbmRpdiNjb250ZW50IHtcclxuXHRtYXgtd2lkdGg6IDEyODBweDsgLyogT3ZlcnJpZGUgc2l0ZSB3aWR0aCAqL1xyXG5cdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4ucGFnZS1jb250ZW50LFxyXG4uZW50cnktY29udGVudCxcclxuLmVudHJ5LXN1bW1hcnkge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnBhZ2UtbGlua3Mge1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdG1hcmdpbjogMCAwIDEuNWVtO1xyXG59XHJcblxyXG5ib2R5LnRyYW5zcGFyZW50LXBhZ2UtdGVtcGxhdGUge1xyXG5cdGhlYWRlci5zaXRlLWhlYWRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxufVxyXG5cclxuYm9keS5zaW5nbGUtZmwtYnVpbGRlci10ZW1wbGF0ZSAjY29udGVudC5zaXRlLWNvbnRlbnQsXHJcbmJvZHkucGFnZS5mbC1idWlsZGVyICNjb250ZW50LnNpdGUtY29udGVudCB7XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmJvZHk6bm90KC5mbC1idWlsZGVyKSAjY29udGVudC5zaXRlLWNvbnRlbnQge1xyXG5cdG1hcmdpbjogMjBweCBhdXRvO1xyXG59XHJcblxyXG4vKlxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuXHRib2R5Om5vdCguZmwtYnVpbGRlcikgI2NvbnRlbnQuc2l0ZS1jb250ZW50IHtcclxuXHRcdHBhZGRpbmc6IDAgMjBweDtcclxuXHR9XHJcbn1cclxuKi9cclxuXHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHQubW9iaWxlLW9ubHkge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59XHJcblxyXG4iLCIuY29tbWVudC1jb250ZW50IGEge1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxufVxyXG5cclxuLmJ5cG9zdGF1dGhvciB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuIiwiLyogR2xvYmFsbHkgaGlkZGVuIGVsZW1lbnRzIHdoZW4gSW5maW5pdGUgU2Nyb2xsIGlzIHN1cHBvcnRlZCBhbmQgaW4gdXNlLiAqL1xyXG4uaW5maW5pdGUtc2Nyb2xsIC5wb3N0cy1uYXZpZ2F0aW9uLCAvKiBPbGRlciAvIE5ld2VyIFBvc3RzIE5hdmlnYXRpb24gKGFsd2F5cyBoaWRkZW4pICovXHJcbi5pbmZpbml0ZS1zY3JvbGwubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHsgLyogVGhlbWUgRm9vdGVyICh3aGVuIHNldCB0byBzY3JvbGxpbmcpICovXHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogV2hlbiBJbmZpbml0ZSBTY3JvbGwgaGFzIHJlYWNoZWQgaXRzIGVuZCB3ZSBuZWVkIHRvIHJlLWRpc3BsYXkgZWxlbWVudHMgdGhhdCB3ZXJlIGhpZGRlbiAodmlhIC5uZXZlcmVuZGluZykgYmVmb3JlLiAqL1xyXG4uaW5maW5pdHktZW5kLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuIiwiLyoqKiBLZXlmcmFtZXMgKioqL1xyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuXHRmcm9tIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG5cdH1cclxufVxyXG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIE1peCAmIE1hdGNoIHBsdWdpbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibWl4LW4tbWF0Y2hcIjtcclxuIiwiLnByb2R1Y3QtdHlwZS1taXgtYW5kLW1hdGNoIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuYm9keS5sb2dnZWQtaW4gW2NsYXNzKj1cImNvbHVtbnMtXCJdOmVtcHR5OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJQcm9kdWN0cyB3aWxsIGFwcGVhciBoZXJlXCI7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCAjY2FjYWNhO1xyXG5cdHBhZGRpbmc6IDQwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRjb2xvcjogI2NhY2FjYTtcclxuXHRmb250LXdlaWdodDogOTAwO1xyXG59XHJcblxyXG4uc3VtbWFyeS1hZGQtdG8tY2FydC1mb3JtLW1ubSB7XHJcblx0bWFyZ2luOiAzMHB4IDAgMCAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdC5tbm1fZm9ybS5sYXlvdXRfZ3JpZCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0XHQubW5tX2NhcnQubW5tX2RhdGEuY2FydCB7XHJcblx0XHRcdG9yZGVyOiAyO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEubW5tX3Jlc2V0IHtcclxuXHRcdFx0b3JkZXI6IDE7XHJcblx0XHRcdG1hcmdpbjogMTVweCAwIDAgMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tbm1fY2FydC5tbm1fZGF0YS5jYXJ0IC5tbm1fYnV0dG9uX3dyYXAge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHJcblx0XHRcdC5tbm1fcHJpY2Uge1xyXG5cdFx0XHRcdHdpZHRoOiBpbmhlcml0O1xyXG5cclxuXHRcdFx0XHRwLnByaWNlIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0XHRzcGFuLmFtb3VudCB7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1ubV9tZXNzYWdlIHtcclxuXHRcdFx0XHR3aWR0aDogMjcwcHg7XHJcblxyXG5cdFx0XHRcdC53b29jb21tZXJjZS1pbmZvIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGluaGVyaXQ7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcblx0XHRcdFx0XHR1bC5tc2cubW5tX21lc3NhZ2VfY29udGVudCB7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnF1YW50aXR5IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0dWwucHJvZHVjdHMge1xyXG5cdFx0XHRvcmRlcjogMztcclxuXHRcdFx0bWFyZ2luOiA0MHB4IDAgMCAwO1xyXG5cclxuXHRcdFx0bGkubW5tX2l0ZW0ucHJvZHVjdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRcdFx0LnByb2R1Y3QtdGh1bWJuYWlsIHtcclxuXHRcdFx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDM0cHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDM0cHg7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnByb2R1Y3QtZGV0YWlscyB7XHJcblx0XHRcdFx0XHRvcmRlcjogMztcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0XHRwLnByaWNlIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5wcm9kdWN0LXF1YW50aXR5IHtcclxuXHRcdFx0XHRcdG9yZGVyOiAyO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDE1cHg7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDcwcHg7XHJcblxyXG5cdFx0XHRcdFx0LnF1YW50aXR5Lm1ubS1xdWFudGl0eSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNlZmVmZWY7XHJcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdFx0aW5wdXQucXR5IHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsbnVsbF19 */
