@charset "UTF-8";
/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666;
}

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

/* Links
 ========================================================================== */
/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none;
}

/*
 * Style
 */
a,
.uk-link {
  color: #1e87f0;
  text-decoration: none;
  cursor: pointer;
}

a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link,
.uk-link-toggle:focus .uk-link {
  color: #0f6ecd;
  text-decoration: underline;
}

/* Text-level semantics
 ========================================================================== */
/*
 * 1. Add the correct text decoration in Edge.
 * 2. The shorthand declaration `underline dotted` is not supported in Safari.
 */
abbr[title] {
  /* 1 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
  -webkit-text-decoration-style: dotted;
}

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

/*
 * 1. Consolas has a better baseline in running text compared to `Courier`
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Style
 */
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-family: Consolas, monaco, monospace;
  /* 2 */
  font-size: 0.875rem;
  /* 3 */
  color: #f0506e;
  white-space: nowrap;
  padding: 2px 6px;
  background: #f8f8f8;
}

/*
 * Emphasize
 */
em {
  color: #f0506e;
}

/*
 * Insert
 */
ins {
  background: #ffd;
  color: #666;
  text-decoration: none;
}

/*
 * Mark
 */
mark {
  background: #ffd;
  color: #666;
}

/*
 * Quote
 */
q {
  font-style: italic;
}

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
 ========================================================================== */
/*
 * Remove the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * 1. Add responsiveness.
 * 2. Auto-scale the height. Only needed if `height` attribute is present.
 * 3. Corrects responsive `max-width` behavior if padding and border are used.
 * 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
 */
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  box-sizing: border-box;
}

/* 4 */
@supports (display: block) {
  svg {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
  }
}
/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/*
 * 1. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
 * 2. Hide `alt` text for lazy loading images.
 * Note: Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  /* 1 */
  min-width: 1px;
  /* 2 */
  visibility: hidden;
}

/*
 * Iframe
 * Remove border in all browsers
 */
iframe {
  border: 0;
}

/* Block elements
 ========================================================================== */
/*
 * Margins
 */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
  margin: 0 0 20px 0;
}

/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 20px;
}

/* Headings
 ========================================================================== */
h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5,
h6, .uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge {
  margin: 0 0 20px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: normal;
  color: #333;
  text-transform: none;
}

/* Add margin if adjacent element */
* + h1, * + .uk-h1,
* + h2, * + .uk-h2,
* + h3, * + .uk-h3,
* + h4, * + .uk-h4,
* + h5, * + .uk-h5,
* + h6, * + .uk-h6,
* + .uk-heading-small,
* + .uk-heading-medium,
* + .uk-heading-large,
* + .uk-heading-xlarge,
* + .uk-heading-2xlarge {
  margin-top: 40px;
}

/*
 * Sizes
 */
h1, .uk-h1 {
  font-size: 2.23125rem;
  line-height: 1.2;
}

h2, .uk-h2 {
  font-size: 1.7rem;
  line-height: 1.3;
}

h3, .uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4;
}

h4, .uk-h4 {
  font-size: 1.25rem;
  line-height: 1.4;
}

h5, .uk-h5 {
  font-size: 16px;
  line-height: 1.4;
}

h6, .uk-h6 {
  font-size: 0.875rem;
  line-height: 1.4;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  h1, .uk-h1 {
    font-size: 2.625rem;
  }

  h2, .uk-h2 {
    font-size: 2rem;
  }
}
/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 30px;
}

/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0;
}

/* Description lists
 ========================================================================== */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Horizontal rules
 ========================================================================== */
/*
 * 1. Show the overflow in Chrome, Edge and IE.
 * 2. Add the correct text-align in Edge and IE.
 * 3. Style
 */
hr, .uk-hr {
  /* 1 */
  overflow: visible;
  /* 2 */
  text-align: inherit;
  /* 3 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5;
}

/* Add margin if adjacent element */
* + hr,
* + .uk-hr {
  margin-top: 20px;
}

/* Address
 ========================================================================== */
address {
  font-style: normal;
}

/* Blockquotes
 ========================================================================== */
blockquote {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.5;
  font-style: italic;
  color: #333;
}

/* Add margin if adjacent element */
* + blockquote {
  margin-top: 20px;
}

/*
 * Content
 */
blockquote p:last-of-type {
  margin-bottom: 0;
}

blockquote footer {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #666;
}
blockquote footer::before {
  content: "— ";
}

/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  /* 1 */
  overflow: auto;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  background: #fff;
}

pre code {
  font-family: Consolas, monaco, monospace;
}

/* Selection pseudo-element
 ========================================================================== */
::-moz-selection {
  background: #39f;
  color: #fff;
  text-shadow: none;
}
::selection {
  background: #39f;
  color: #fff;
  text-shadow: none;
}

/* HTML5 elements
 ========================================================================== */
/*
 * 1. Add the correct display in Edge, IE 10+, and Firefox.
 * 2. Add the correct display in IE.
 */
details,
main {
  /* 2 */
  display: block;
}

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

/*
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Pass media breakpoints to JS
 ========================================================================== */
/*
 * Breakpoints
 */
.uk-breakpoint-s::before {
  content: "320px";
}

.uk-breakpoint-m::before {
  content: "768px";
}

.uk-breakpoint-l::before {
  content: "1200px";
}

.uk-breakpoint-xl::before {
  content: "1600px";
}

:root {
  --uk-breakpoint-s: 320px;
  --uk-breakpoint-m: 768px;
  --uk-breakpoint-l: 1200px;
  --uk-breakpoint-xl: 1600px;
}

/* ========================================================================
   Component: Link
 ========================================================================== */
/* Muted
 ========================================================================== */
a.uk-link-muted,
.uk-link-muted a {
  color: #999;
}

a.uk-link-muted:hover,
.uk-link-muted a:hover,
.uk-link-toggle:hover .uk-link-muted,
.uk-link-toggle:focus .uk-link-muted {
  color: #666;
}

/* Text
 ========================================================================== */
a.uk-link-text,
.uk-link-text a {
  color: inherit;
}

a.uk-link-text:hover,
.uk-link-text a:hover,
.uk-link-toggle:hover .uk-link-text,
.uk-link-toggle:focus .uk-link-text {
  color: #999;
}

/* Heading
 ========================================================================== */
a.uk-link-heading,
.uk-link-heading a {
  color: inherit;
}

a.uk-link-heading:hover,
.uk-link-heading a:hover,
.uk-link-toggle:hover .uk-link-heading,
.uk-link-toggle:focus .uk-link-heading {
  color: #1e87f0;
  text-decoration: none;
}

/* Reset
 ========================================================================== */
/*
 * `!important` needed to override inverse component
 */
a.uk-link-reset,
.uk-link-reset a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Toggle
 ========================================================================== */
.uk-link-toggle {
  color: inherit !important;
  text-decoration: none !important;
}

.uk-link-toggle:focus {
  outline: none;
}

/* ========================================================================
   Component: Heading
 ========================================================================== */
.uk-heading-small {
  font-size: 2.6rem;
  line-height: 1.2;
}

.uk-heading-medium {
  font-size: 2.8875rem;
  line-height: 1.1;
}

.uk-heading-large {
  font-size: 3.4rem;
  line-height: 1.1;
}

.uk-heading-xlarge {
  font-size: 4rem;
  line-height: 1;
}

.uk-heading-2xlarge {
  font-size: 6rem;
  line-height: 1;
}

/* Tablet Landscape and bigger */
@media (min-width: 768px) {
  .uk-heading-small {
    font-size: 3.25rem;
  }

  .uk-heading-medium {
    font-size: 3.5rem;
  }

  .uk-heading-large {
    font-size: 4rem;
  }

  .uk-heading-xlarge {
    font-size: 6rem;
  }

  .uk-heading-2xlarge {
    font-size: 8rem;
  }
}
/* Laptop and bigger */
@media (min-width: 1200px) {
  .uk-heading-medium {
    font-size: 4rem;
  }

  .uk-heading-large {
    font-size: 6rem;
  }

  .uk-heading-xlarge {
    font-size: 8rem;
  }

  .uk-heading-2xlarge {
    font-size: 11rem;
  }
}
/* Primary
   Deprecated: Use `uk-heading-medium` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Hero
   Deprecated: Use `uk-heading-xlarge` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: calc(5px + 0.1em);
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}

/* Bullet
 ========================================================================== */
.uk-heading-bullet {
  position: relative;
}

/*
 * 1. Using `inline-block` to make it work with text alignment
 * 2. Center vertically
 * 3. Style
 */
.uk-heading-bullet::before {
  content: "";
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  top: calc(-0.1 * 1em);
  vertical-align: middle;
  /* 3 */
  height: calc(4px + 0.7em);
  margin-right: calc(5px + 0.2em);
  border-left: calc(5px + 0.1em) solid #e5e5e5;
}

/* Line
 ========================================================================== */
/*
 * Clip the child element
 */
.uk-heading-line {
  overflow: hidden;
}

/*
 * Extra markup is needed to make it work with text align
 */
.uk-heading-line > * {
  display: inline-block;
  position: relative;
}

/*
 * 1. Center vertically
 * 2. Make the element as large as possible. It's clipped by the container.
 * 3. Style
 */
.uk-heading-line > ::before,
.uk-heading-line > ::after {
  content: "";
  /* 1 */
  position: absolute;
  top: calc(50% - (calc(0.2px + 0.05em) / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}

.uk-heading-line > ::before {
  right: 100%;
  margin-right: calc(5px + 0.3em);
}

.uk-heading-line > ::after {
  left: 100%;
  margin-left: calc(5px + 0.3em);
}

/* ========================================================================
   Component: Divider
 ========================================================================== */
/*
 * 1. Reset default `hr`
 * 2. Set margin if a `div` is used for semantical reason
 */
[class*=uk-divider] {
  /* 1 */
  border: none;
  /* 2 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + [class*=uk-divider] {
  margin-top: 20px;
}

/* Icon
 ========================================================================== */
.uk-divider-icon {
  position: relative;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-divider-icon::before,
.uk-divider-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  max-width: calc(50% - (50px / 2));
  border-bottom: 1px solid #e5e5e5;
}

.uk-divider-icon::before {
  right: calc(50% + (50px / 2));
  width: 100%;
}

.uk-divider-icon::after {
  left: calc(50% + (50px / 2));
  width: 100%;
}

/* Small
 ========================================================================== */
/*
 * 1. Fix height because of `inline-block`
 * 2. Using ::after and inline-block to make `text-align` work
 */
/* 1 */
.uk-divider-small {
  line-height: 0;
}

/* 2 */
.uk-divider-small::after {
  content: "";
  display: inline-block;
  width: 100px;
  max-width: 100%;
  border-top: 1px solid #e5e5e5;
  vertical-align: top;
}

/* Vertical
 ========================================================================== */
.uk-divider-vertical {
  width: 1px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  border-left: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: List
 ========================================================================== */
.uk-list {
  padding: 0;
  list-style: none;
}

/*
 * Remove margin from the last-child
 */
.uk-list > * > :last-child {
  margin-bottom: 0;
}

/*
 * Style
 */
.uk-list > :nth-child(n+2),
.uk-list > * > ul {
  margin-top: 10px;
}

/* Marker modifiers
 * Moving `::marker` inside `::before` to style it differently
 * To style the `::marker` is currently only supported in Firefox and Safari
 ========================================================================== */
.uk-list-disc > *,
.uk-list-circle > *,
.uk-list-square > *,
.uk-list-decimal > *,
.uk-list-hyphen > * {
  padding-left: 30px;
}

/*
 * Type modifiers
 */
.uk-list-decimal {
  counter-reset: decimal;
}

.uk-list-decimal > * {
  counter-increment: decimal;
}

[class*=uk-list] > ::before {
  content: "";
  position: relative;
  left: -30px;
  width: 30px;
  height: 1.5em;
  margin-bottom: -1.5em;
  display: list-item;
  list-style-position: inside;
  text-align: right;
}

.uk-list-disc > ::before {
  list-style-type: disc;
}

.uk-list-circle > ::before {
  list-style-type: circle;
}

.uk-list-square > ::before {
  list-style-type: square;
}

.uk-list-decimal > ::before {
  content: counter(decimal, decimal) " . ";
}

.uk-list-hyphen > ::before {
  content: "–  ";
}

/*
 * Color modifiers
 */
.uk-list-muted > ::before {
  color: #999 !important;
}

.uk-list-emphasis > ::before {
  color: #333 !important;
}

.uk-list-primary > ::before {
  color: #1e87f0 !important;
}

.uk-list-secondary > ::before {
  color: #222 !important;
}

/* Image bullet modifier
 ========================================================================== */
.uk-list-bullet > * {
  padding-left: 30px;
}

.uk-list-bullet > ::before {
  content: "";
  position: relative;
  left: -30px;
  width: 30px;
  height: 1.5em;
  margin-bottom: -1.5em;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-list-divider > :nth-child(n+2) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */
.uk-list-striped > * {
  padding: 10px 10px;
}
.uk-list-striped > *:nth-of-type(odd) {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.uk-list-striped > :nth-of-type(odd) {
  background: #f8f8f8;
}

.uk-list-striped > :nth-child(n+2) {
  margin-top: 0;
}

/* Size modifier
 ========================================================================== */
.uk-list-large > :nth-child(n+2),
.uk-list-large > * > ul {
  margin-top: 20px;
}

.uk-list-collapse > :nth-child(n+2),
.uk-list-collapse > * > ul {
  margin-top: 0;
}

/*
 * Divider
 */
.uk-list-large.uk-list-divider > :nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
}

.uk-list-collapse.uk-list-divider > :nth-child(n+2) {
  margin-top: 0;
  padding-top: 0;
}

/*
 * Striped
 */
.uk-list-large.uk-list-striped > * {
  padding: 20px 10px;
}

.uk-list-collapse.uk-list-striped > * {
  padding-top: 0;
  padding-bottom: 0;
}

.uk-list-large.uk-list-striped > :nth-child(n+2),
.uk-list-collapse.uk-list-striped > :nth-child(n+2) {
  margin-top: 0;
}

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.uk-description-list > dt {
  color: #333;
  font-size: 0.875rem;
  font-weight: normal;
  text-transform: uppercase;
}

.uk-description-list > dt:nth-child(n+2) {
  margin-top: 20px;
}

/*
 * Description
 */
/* Style modifier
 ========================================================================== */
/*
 * Line
 */
.uk-description-list-divider > dt:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Table
 ========================================================================== */
/*
 * 1. Remove most spacing between table cells.
 * 2. Behave like a block element
 * 3. Style
 */
.uk-table {
  /* 1 */
  border-collapse: collapse;
  border-spacing: 0;
  /* 2 */
  width: 100%;
  /* 3 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + .uk-table {
  margin-top: 20px;
}

/* Header cell
 ========================================================================== */
/*
 * 1. Style
 */
.uk-table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  /* 1 */
  font-size: 0.875rem;
  font-weight: normal;
  color: #999;
  text-transform: uppercase;
}

/* Cell
 ========================================================================== */
.uk-table td {
  padding: 16px 12px;
  vertical-align: top;
}

/*
 * Remove margin from the last-child
 */
.uk-table td > :last-child {
  margin-bottom: 0;
}

/* Footer
 ========================================================================== */
.uk-table tfoot {
  font-size: 0.875rem;
}

/* Caption
 ========================================================================== */
.uk-table caption {
  font-size: 0.875rem;
  text-align: left;
  color: #999;
}

/* Alignment modifier
 ========================================================================== */
.uk-table-middle,
.uk-table-middle td {
  vertical-align: middle !important;
}

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > tr:not(:first-child) {
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */
.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd) {
  background: #f8f8f8;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * Hover
 */
.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
  background: #ffd;
}

/* Active state
 ========================================================================== */
.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd;
}

/* Size modifier
 ========================================================================== */
.uk-table-small th,
.uk-table-small td {
  padding: 10px 12px;
}

.uk-table-large th,
.uk-table-large td {
  padding: 22px 12px;
}

/* Justify modifier
 ========================================================================== */
.uk-table-justify th:first-child,
.uk-table-justify td:first-child {
  padding-left: 0;
}

.uk-table-justify th:last-child,
.uk-table-justify td:last-child {
  padding-right: 0;
}

/* Cell size modifier
 ========================================================================== */
.uk-table-shrink {
  width: 1px;
}

.uk-table-expand {
  min-width: 150px;
}

/* Cell link modifier
 ========================================================================== */
/*
 * Does not work with `uk-table-justify` at the moment
 */
.uk-table-link {
  padding: 0 !important;
}

.uk-table-link > a {
  display: block;
  padding: 16px 12px;
}

.uk-table-small .uk-table-link > a {
  padding: 10px 12px;
}

/* Responsive table
 ========================================================================== */
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .uk-table-responsive,
.uk-table-responsive tbody,
.uk-table-responsive th,
.uk-table-responsive td,
.uk-table-responsive tr {
    display: block;
  }

  .uk-table-responsive thead {
    display: none;
  }

  .uk-table-responsive th,
.uk-table-responsive td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .uk-table-responsive th:not(:first-child):not(.uk-table-link),
.uk-table-responsive td:not(:first-child):not(.uk-table-link),
.uk-table-responsive .uk-table-link:not(:first-child) > a {
    padding-top: 5px !important;
  }

  .uk-table-responsive th:not(:last-child):not(.uk-table-link),
.uk-table-responsive td:not(:last-child):not(.uk-table-link),
.uk-table-responsive .uk-table-link:not(:last-child) > a {
    padding-bottom: 5px !important;
  }

  .uk-table-justify.uk-table-responsive th,
.uk-table-justify.uk-table-responsive td {
    padding-left: 0;
    padding-right: 0;
  }
}
.uk-table tbody tr {
  transition: background-color 0.1s linear;
}

/* ========================================================================
   Component: Icon
 ========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.uk-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0;
}

/* Required for `button`. */
button.uk-icon:not(:disabled) {
  cursor: pointer;
}

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-icon::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * Set the fill and stroke color of all SVG elements to the current text color
 */
.uk-icon:not(.uk-preserve) [fill*="#"]:not(.uk-preserve) {
  fill: currentcolor;
}

.uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
  stroke: currentcolor;
}

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-icon > * {
  transform: translate(0, 0);
}

/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Style modifiers
 ========================================================================== */
/*
 * Link
 */
.uk-icon-link {
  color: #999;
}

.uk-icon-link:hover,
.uk-icon-link:focus {
  color: #666;
  outline: none;
}

/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: #595959;
}

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none;
}

/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dfdfdf;
  color: #666;
}

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  box-sizing: border-box;
  margin: 0;
  vertical-align: middle;
  /* 2 */
  max-width: 100%;
  /* 3 */
  width: 100%;
  /* 4 */
  -webkit-appearance: none;
  /* 5 */
  background: transparent;
  /* 6 */
  padding: 0;
}

/* Focus */
.uk-range:focus {
  outline: none;
}

.uk-range::-moz-focus-outer {
  border: none;
}

/* IE11 Reset */
.uk-range::-ms-track {
  height: 15px;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-range:not(:disabled)::-webkit-slider-thumb {
  cursor: pointer;
}

.uk-range:not(:disabled)::-moz-range-thumb {
  cursor: pointer;
}

.uk-range:not(:disabled)::-ms-thumb {
  cursor: pointer;
}

/* Thumb
 ========================================================================== */
/*
 * 1. Reset
 * 2. Style
 */
/* Webkit */
.uk-range::-webkit-slider-thumb {
  /* 1 */
  -webkit-appearance: none;
  margin-top: -7px;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Firefox */
.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Edge */
.uk-range::-ms-thumb {
  /* 1 */
  margin-top: 0;
}

/* IE11 */
.uk-range::-ms-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Edge + IE11 */
.uk-range::-ms-tooltip {
  display: none;
}

/* Track
 ========================================================================== */
/*
 * 1. Safari doesn't have a focus state. Using active instead.
 */
/* Webkit */
.uk-range::-webkit-slider-runnable-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: #d2d2d2;
}

/* Firefox */
.uk-range::-moz-range-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-moz-range-track {
  background: #d2d2d2;
}

/* Edge */
.uk-range::-ms-fill-lower,
.uk-range::-ms-fill-upper {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-ms-fill-lower,
.uk-range:focus::-ms-fill-upper {
  background: #d2d2d2;
}

/* ========================================================================
   Component: Form
 ========================================================================== */
/*
 * 1. Define consistent box sizing.
 *    Default is `content-box` with following exceptions set to `border-box`
 *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
 *    `input[type="search"]` in Chrome, Safari and Opera
 *    `input[type="color"]` in Firefox
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers.
 */
.uk-input,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox {
  /* 1 */
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
}

/*
 * Show the overflow in Edge.
 */
.uk-input {
  overflow: visible;
}

/*
 * Remove the inheritance of text transform in Firefox.
 */
.uk-select {
  text-transform: none;
}

/*
 * 1. Change font properties to `inherit` in all browsers
 * 2. Don't inherit the `font-weight` and use `bold` instead.
 * NOTE: Both declarations don't work in Chrome, Safari and Opera.
 */
.uk-select optgroup {
  /* 1 */
  font: inherit;
  /* 2 */
  font-weight: bold;
}

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

/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-input[type=search]::-webkit-search-cancel-button,
.uk-input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder,
.uk-textarea::-moz-placeholder {
  opacity: 1;
}

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-checkbox:not(:disabled) {
  cursor: pointer;
}

/*
 * Define consistent border, margin, and padding.
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

/* Input, select and textarea
 * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
            `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
 * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
 ========================================================================== */
/*
 * Remove default style in iOS.
 */
.uk-input,
.uk-textarea {
  -webkit-appearance: none;
}

/*
 * 1. Prevent content overflow if a fixed width is used
 * 2. Take the full width
 * 3. Reset default
 * 4. Style
 */
.uk-input,
.uk-select,
.uk-textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 10px;
  background: #fff;
  color: #666;
  border: 1px solid #e5e5e5;
  transition: 0.2s ease-in-out;
  transition-property: color, background-color, border;
}

/*
 * Single-line
 * 1. Allow any element to look like an `input` or `select` element
 * 2. Make sure line-height is not larger than height
 *    Also needed to center the text vertically
 */
.uk-input,
.uk-select:not([multiple]):not([size]) {
  height: 40px;
  vertical-align: middle;
  /* 1 */
  display: inline-block;
}

/* 2 */
.uk-input:not(input),
.uk-select:not(select) {
  line-height: 38px;
}

/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea {
  padding-top: 4px;
  padding-bottom: 4px;
  vertical-align: top;
}

.uk-select[multiple],
.uk-select[size] {
  resize: vertical;
}

/* Focus */
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  outline: none;
  background-color: #fff;
  color: #666;
  border-color: #1e87f0;
}

/* Disabled */
.uk-input:disabled,
.uk-select:disabled,
.uk-textarea:disabled {
  background-color: #f8f8f8;
  color: #999;
  border-color: #e5e5e5;
}

/*
 * Placeholder
 */

.uk-input::-moz-placeholder {
  color: #999;
}

.uk-input:-ms-input-placeholder {
  color: #999;
}

.uk-input::placeholder {
  color: #999;
}

.uk-textarea::-moz-placeholder {
  color: #999;
}

.uk-textarea:-ms-input-placeholder {
  color: #999;
}

.uk-textarea::placeholder {
  color: #999;
}

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Small
 */
.uk-form-small {
  font-size: 0.875rem;
}

.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 30px;
  padding-left: 8px;
  padding-right: 8px;
}

.uk-form-small:not(select):not(input):not(textarea) {
  line-height: 28px;
}

/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem;
}

.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px;
}

.uk-form-large:not(select):not(input):not(textarea) {
  line-height: 53px;
}

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f0506e;
  border-color: #f0506e;
}

/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #32d296;
  border-color: #32d296;
}

/*
 * Blank
 */
.uk-form-blank {
  background: none;
  border-color: transparent;
}

.uk-form-blank:focus {
  border-color: #e5e5e5;
  border-style: dashed;
}

/* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Fixed widths
 * Different widths for mini sized `input` and `select` elements
 */
input.uk-form-width-xsmall {
  width: 50px;
}

select.uk-form-width-xsmall {
  width: 75px;
}

.uk-form-width-small {
  width: 130px;
}

.uk-form-width-medium {
  width: 200px;
}

.uk-form-width-large {
  width: 500px;
}

/* Select
 ========================================================================== */
/*
 * 1. Remove default style. Also works in Firefox
 * 2. Style
 * 3. Remove default style in IE 10/11
 * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

/* 3 */
.uk-select:not([multiple]):not([size])::-ms-expand {
  display: none;
}

/* 4 */
.uk-select:not([multiple]):not([size]) option {
  color: #444;
}

/*
 * Disabled
 */
.uk-select:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

/* Datalist
 ========================================================================== */
/*
 * 1. Remove default style in Chrome
 */
.uk-input[list] {
  padding-right: 20px;
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

.uk-input[list]:hover,
.uk-input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

/* 1 */
.uk-input[list]::-webkit-calendar-picker-indicator {
  display: none;
}

/* Radio and checkbox
 * Note: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: transparent;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #cccccc;
  transition: 0.2s ease-in-out;
  transition-property: background-color, border;
}

.uk-radio {
  border-radius: 50%;
}

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  outline: none;
  border-color: #1e87f0;
}

/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #1e87f0;
  border-color: transparent;
}

/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus {
  background-color: #0e6ecd;
}

/*
 * Icons
 */
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled {
  background-color: #f8f8f8;
  border-color: #e5e5e5;
}

.uk-radio:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-checkbox:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Legend
 ========================================================================== */
/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */
.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Custom controls
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */
.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
}

/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */
.uk-form-custom select,
.uk-form-custom input[type=file] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer;
}

.uk-form-custom input[type=file] {
  /* 5 */
  font-size: 500px;
  /* 6 */
  overflow: hidden;
}

/* Label
 ========================================================================== */
.uk-form-label {
  color: #333;
  font-size: 0.875rem;
}

/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 5px;
}

/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 767px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left;
  }

  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px;
  }

  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px;
  }
}
/* Icons
 ========================================================================== */
/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */
.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 40px;
  /* 3 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  /* 4 */
  color: #999;
}

/*
 * Required for `a`.
 */
.uk-form-icon:hover {
  color: #666;
}

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-form-icon:not(a):not(button):not(input) {
  pointer-events: none;
}

/*
 * Input padding
 */
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input {
  padding-left: 40px !important;
}

/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto;
}

.uk-form-icon-flip ~ .uk-input {
  padding-right: 40px !important;
}

/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default style for `input type="submit"`in iOS.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  -webkit-appearance: none;
  border-radius: 0;
  /* 7 */
  display: inline-block;
  box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 0.875rem;
  /* 8 */
  line-height: 38px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color, border-color;
}

.uk-button:not(:disabled) {
  cursor: pointer;
}

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Hover */
.uk-button:hover {
  /* 9 */
  text-decoration: none;
}

/* Focus */
.uk-button:focus {
  outline: none;
}

/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: transparent;
  color: #333;
  border: 1px solid #e5e5e5;
}

/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: transparent;
  color: #333;
  border-color: #b2b2b2;
}

/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: transparent;
  color: #333;
  border-color: #999999;
}

/*
 * Primary
 */
.uk-button-primary {
  background-color: #1e87f0;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */
.uk-button-primary:hover,
.uk-button-primary:focus {
  background-color: #0f7ae5;
  color: #fff;
}

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #0e6ecd;
  color: #fff;
}

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #222;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #151515;
  color: #fff;
}

/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #090909;
  color: #fff;
}

/*
 * Danger
 */
.uk-button-danger {
  background-color: #f0506e;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  background-color: #ee395b;
  color: #fff;
}

/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ec2147;
  color: #fff;
}

/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: transparent;
  color: #999;
  border-color: #e5e5e5;
}

/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 28px;
  font-size: 0.875rem;
}

.uk-button-large {
  padding: 0 40px;
  line-height: 53px;
  font-size: 0.875rem;
}

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #333;
  position: relative;
}
.uk-button-text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 100%;
  border-bottom: 1px solid #333;
  transition: right 0.3s ease-out;
}

/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #333;
}
.uk-button-text:hover::before,
.uk-button-text:focus::before {
  right: 0;
}

/* Disabled */
.uk-button-text:disabled {
  color: #999;
}
.uk-button-text:disabled::before {
  display: none;
}

/*
 * Link
 * 1. Reset
 * 2. Style
 */
.uk-button-link {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #1e87f0;
}

/* Hover + Focus */
.uk-button-link:hover,
.uk-button-link:focus {
  color: #0f6ecd;
  text-decoration: underline;
}

/* Disabled */
.uk-button-link:disabled {
  color: #999;
  text-decoration: none;
}

/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  display: inline-flex;
  /* 2 */
  vertical-align: middle;
  /* 3 */
  position: relative;
}

/* Group
 ========================================================================== */
/*
 * Collapse border
 */
.uk-button-group > .uk-button:nth-child(n+2),
.uk-button-group > div:nth-child(n+2) .uk-button {
  margin-left: -1px;
}

/*
 * Create position context to superimpose the successor elements border
 * Known issue: If you use an `a` element as button and an icon inside,
 * the active state will not work if you click the icon inside the button
 * Workaround: Just use a `button` or `input` element as button
 */
.uk-button-group .uk-button:hover,
.uk-button-group .uk-button:focus,
.uk-button-group .uk-button:active,
.uk-button-group .uk-button.uk-active {
  position: relative;
  z-index: 1;
}

/* ========================================================================
   Component: Progress
 ========================================================================== */
/*
 * 1. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 * 2. Remove default style
 * 3. Behave like a block element
 * 4. Remove borders in Firefox and Edge
 * 5. Set background color for progress container in Firefox, IE11 and Edge
 * 6. Style
 */
.uk-progress {
  /* 1 */
  vertical-align: baseline;
  /* 2 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 3 */
  display: block;
  width: 100%;
  /* 4 */
  border: 0;
  /* 5 */
  background-color: #f8f8f8;
  /* 6 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden;
}

/* Add margin if adjacent element */
* + .uk-progress {
  margin-top: 20px;
}

/*
 * Remove animated circles for indeterminate state in IE11 and Edge
 */
.uk-progress:indeterminate {
  color: transparent;
}

/*
 * Progress container
 * 2. Remove progress bar for indeterminate state in Firefox
 */
.uk-progress::-webkit-progress-bar {
  background-color: #f8f8f8;
  border-radius: 500px;
  overflow: hidden;
}

/* 2 */
.uk-progress:indeterminate::-moz-progress-bar {
  width: 0;
}

/*
 * Progress bar
 * 1. Remove right border in IE11 and Edge
 */
.uk-progress::-webkit-progress-value {
  background-color: #1e87f0;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.uk-progress::-moz-progress-bar {
  background-color: #1e87f0;
}

.uk-progress::-ms-fill {
  background-color: #1e87f0;
  -ms-transition: width 0.6s ease;
  transition: width 0.6s ease;
  /* 1 */
  border: 0;
}

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  display: flow-root;
  box-sizing: border-box;
  /* 1 */
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Desktop and bigger */
@media (min-width: 768px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
/*
 * Remove margin from the last-child
 */
.uk-section > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-section-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */
.uk-section-small {
  padding-top: 40px;
  padding-bottom: 40px;
}

/*
 * Large
 */
.uk-section-large {
  padding-top: 70px;
  padding-bottom: 70px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-section-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}
/*
 * XLarge
 */
.uk-section-xlarge {
  padding-top: 140px;
  padding-bottom: 140px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-section-default {
  background: #fff;
}

/*
 * Muted
 */
.uk-section-muted {
  background: #f8f8f8;
}

/*
 * Primary
 */
.uk-section-primary {
  background: #1e87f0;
}

/*
 * Secondary
 */
.uk-section-secondary {
  background: #222;
}

/* Overlap modifier
 ========================================================================== */
/*
 * Reserved modifier to make a section overlap another section with an border image
 * Implemented by the theme
 */
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container {
  display: flow-root;
  /* 1 */
  box-sizing: content-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
  margin-bottom: 0;
}

/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
  padding-left: 0;
  padding-right: 0;
}

/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 750px;
}

.uk-container-small {
  max-width: 900px;
}

.uk-container-large {
  max-width: 1400px;
}

.uk-container-xlarge {
  max-width: 1600px;
}

.uk-container-expand {
  max-width: none;
}

/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0;
}

.uk-container-expand-right {
  margin-right: 0;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-container-expand-left.uk-container-xsmall,
.uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 30px);
  }

  .uk-container-expand-left.uk-container-small,
.uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 30px);
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-container-expand-left,
.uk-container-expand-right {
    max-width: calc(50% + (1200px / 2) - 40px);
  }

  .uk-container-expand-left.uk-container-xsmall,
.uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 40px);
  }

  .uk-container-expand-left.uk-container-small,
.uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 40px);
  }

  .uk-container-expand-left.uk-container-large,
.uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1400px / 2) - 40px);
  }

  .uk-container-expand-left.uk-container-xlarge,
.uk-container-expand-right.uk-container-xlarge {
    max-width: calc(50% + (1600px / 2) - 40px);
  }
}
/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
  width: calc(100% + 15px);
}

.uk-container-item-padding-remove-left {
  margin-left: -15px;
}

.uk-container-item-padding-remove-right {
  margin-right: -15px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
    width: calc(100% + 30px);
  }

  .uk-container-item-padding-remove-left {
    margin-left: -30px;
  }

  .uk-container-item-padding-remove-right {
    margin-right: -30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
    width: calc(100% + 40px);
  }

  .uk-container-item-padding-remove-left {
    margin-left: -40px;
  }

  .uk-container-item-padding-remove-right {
    margin-right: -40px;
  }
}
/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  display: flow-root;
  position: relative;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
/*
 * Remove margin from the last-child
 */
.uk-tile > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-tile-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */
.uk-tile-small {
  padding-top: 40px;
  padding-bottom: 40px;
}

/*
 * Large
 */
.uk-tile-large {
  padding-top: 70px;
  padding-bottom: 70px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-tile-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}
/*
 * XLarge
 */
.uk-tile-xlarge {
  padding-top: 140px;
  padding-bottom: 140px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  background: #fff;
}

/*
 * Muted
 */
.uk-tile-muted {
  background: #f8f8f8;
}

/*
 * Primary
 */
.uk-tile-primary {
  background: #1e87f0;
}

/*
 * Secondary
 */
.uk-tile-secondary {
  background: #222;
}

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  box-sizing: border-box;
  transition: box-shadow 0.1s ease-in-out;
}

/* Sections
 ========================================================================== */
.uk-card-body {
  display: flow-root;
  padding: 30px 30px;
}

.uk-card-header {
  display: flow-root;
  padding: 15px 30px;
}

.uk-card-footer {
  display: flow-root;
  padding: 15px 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body {
    padding: 40px 40px;
  }

  .uk-card-header {
    padding: 20px 40px;
  }

  .uk-card-footer {
    padding: 20px 40px;
  }
}
/*
 * Remove margin from the last-child
 */
.uk-card-body > :last-child,
.uk-card-header > :last-child,
.uk-card-footer > :last-child {
  margin-bottom: 0;
}

/* Media
 ========================================================================== */
/*
 * Reserved alignment modifier to style the media element, e.g. with `border-radius`
 * Implemented by the theme
 */
/* Title
 ========================================================================== */
.uk-card-title {
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Badge
 ========================================================================== */
/*
 * 1. Position
 * 2. Size
 * 3. Style
 * 4. Center child vertically
 */
.uk-card-badge {
  /* 1 */
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 1;
  /* 2 */
  height: 30px;
  padding-left: 10px;
  padding-right: 10px;
  /* 3 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 4 */
  display: flex;
  justify-content: center;
  align-items: center;
}

/*
 * Remove margin from adjacent element
 */
.uk-card-badge:first-child + * {
  margin-top: 0;
}

/* Hover modifier
 ========================================================================== */
.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
  background: #fff;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background: #fff;
  color: #666;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-default .uk-card-title {
  color: #333;
}

.uk-card-default.uk-card-hover:hover {
  background-color: #fff;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-card-default .uk-card-header {
  border-bottom: 1px solid #e5e5e5;
}

.uk-card-default .uk-card-footer {
  border-top: 1px solid #e5e5e5;
}

/*
 * Primary
 */
.uk-card-primary {
  background: #1e87f0;
  color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-primary .uk-card-title {
  color: #fff;
}

.uk-card-primary.uk-card-hover:hover {
  background-color: #1e87f0;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/*
 * Secondary
 */
.uk-card-secondary {
  background: #222;
  color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-secondary .uk-card-title {
  color: #fff;
}

.uk-card-secondary.uk-card-hover:hover {
  background-color: #222;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/* Size modifier
 ========================================================================== */
/*
 * Small
 */
.uk-card-small.uk-card-body,
.uk-card-small .uk-card-body {
  padding: 20px 20px;
}

.uk-card-small .uk-card-header {
  padding: 13px 20px;
}

.uk-card-small .uk-card-footer {
  padding: 13px 20px;
}

/*
 * Large
 */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large.uk-card-body,
.uk-card-large .uk-card-body {
    padding: 70px 70px;
  }

  .uk-card-large .uk-card-header {
    padding: 35px 70px;
  }

  .uk-card-large .uk-card-footer {
    padding: 35px 70px;
  }
}
/*
 * Default
 */
.uk-card-body > .uk-nav-default {
  margin-left: -30px;
  margin-right: -30px;
}

.uk-card-body > .uk-nav-default:only-child {
  margin-top: -15px;
  margin-bottom: -15px;
}

.uk-card-body > .uk-nav-default > li > a,
.uk-card-body > .uk-nav-default .uk-nav-header,
.uk-card-body > .uk-nav-default .uk-nav-divider {
  padding-left: 30px;
  padding-right: 30px;
}

.uk-card-body > .uk-nav-default .uk-nav-sub {
  padding-left: 45px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body > .uk-nav-default {
    margin-left: -40px;
    margin-right: -40px;
  }

  .uk-card-body > .uk-nav-default:only-child {
    margin-top: -25px;
    margin-bottom: -25px;
  }

  .uk-card-body > .uk-nav-default > li > a,
.uk-card-body > .uk-nav-default .uk-nav-header,
.uk-card-body > .uk-nav-default .uk-nav-divider {
    padding-left: 40px;
    padding-right: 40px;
  }

  .uk-card-body > .uk-nav-default .uk-nav-sub {
    padding-left: 55px;
  }
}
/*
 * Small
 */
.uk-card-small > .uk-nav-default {
  margin-left: -20px;
  margin-right: -20px;
}

.uk-card-small > .uk-nav-default:only-child {
  margin-top: -5px;
  margin-bottom: -5px;
}

.uk-card-small > .uk-nav-default > li > a,
.uk-card-small > .uk-nav-default .uk-nav-header,
.uk-card-small > .uk-nav-default .uk-nav-divider {
  padding-left: 20px;
  padding-right: 20px;
}

.uk-card-small > .uk-nav-default .uk-nav-sub {
  padding-left: 35px;
}

/*
 * Large
 */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large > .uk-nav-default {
    margin: 0;
  }

  .uk-card-large > .uk-nav-default:only-child {
    margin: 0;
  }

  .uk-card-large > .uk-nav-default > li > a,
.uk-card-large > .uk-nav-default .uk-nav-header,
.uk-card-large > .uk-nav-default .uk-nav-divider {
    padding-left: 0;
    padding-right: 0;
  }

  .uk-card-large > .uk-nav-default .uk-nav-sub {
    padding-left: 15px;
  }
}
/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999;
  transition: 0.1s ease-in-out;
  transition-property: color, opacity;
}

/* Hover + Focus */
.uk-close:hover,
.uk-close:focus {
  color: #666;
  outline: none;
}

/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  -webkit-animation: uk-spinner-rotate 1.4s linear infinite;
          animation: uk-spinner-rotate 1.4s linear infinite;
}

@-webkit-keyframes uk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}

@keyframes uk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}
/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  transform-origin: center;
  -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
          animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round;
}

@-webkit-keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px;
  }
  50% {
    stroke-dashoffset: 22px;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 88px;
    transform: rotate(450deg);
  }
}

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px;
  }
  50% {
    stroke-dashoffset: 22px;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 88px;
    transform: rotate(450deg);
  }
}
/* ========================================================================
   Component: Totop
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-totop {
  padding: 5px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-totop:hover,
.uk-totop:focus {
  color: #666;
  outline: none;
}

/* OnClick */
.uk-totop:active {
  color: #333;
}

/* ========================================================================
   Component: Marker
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-marker {
  padding: 5px;
  background: #222;
  color: #fff;
  border-radius: 500px;
}

/* Hover + Focus */
.uk-marker:hover,
.uk-marker:focus {
  color: #fff;
  outline: none;
}

/* ========================================================================
   Component: Alert
 ========================================================================== */
.uk-alert {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 29px 15px 15px;
  background: #f8f8f8;
  color: #666;
}

/* Add margin if adjacent element */
* + .uk-alert {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-alert > :last-child {
  margin-bottom: 0;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-alert-close {
  position: absolute;
  top: 20px;
  right: 15px;
  color: inherit;
  opacity: 0.4;
}

/*
 * Remove margin from adjacent element
 */
.uk-alert-close:first-child + * {
  margin-top: 0;
}

/*
 * Hover + Focus
 */
.uk-alert-close:hover,
.uk-alert-close:focus {
  color: inherit;
  opacity: 0.8;
}

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-alert-primary {
  background: #d8eafc;
  color: #1e87f0;
}

/*
 * Success
 */
.uk-alert-success {
  background: #edfbf6;
  color: #32d296;
}

/*
 * Warning
 */
.uk-alert-warning {
  background: #fef5ee;
  color: #faa05a;
}

/*
 * Danger
 */
.uk-alert-danger {
  background: #fef4f6;
  color: #f0506e;
}

/*
 * Content
 */
.uk-alert h1,
.uk-alert h2,
.uk-alert h3,
.uk-alert h4,
.uk-alert h5,
.uk-alert h6 {
  color: inherit;
}

.uk-alert a:not([class]) {
  color: inherit;
  text-decoration: underline;
}

.uk-alert a:not([class]):hover {
  color: inherit;
  text-decoration: underline;
}

/* ========================================================================
   Component: Placeholder
 ========================================================================== */
.uk-placeholder {
  margin-bottom: 20px;
  padding: 30px 30px;
  background: transparent;
  border: 1px dashed #e5e5e5;
}

/* Add margin if adjacent element */
* + .uk-placeholder {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-placeholder > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Badge
 ========================================================================== */
/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */
.uk-badge {
  box-sizing: border-box;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 2 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/*
 * Required for `a`
 */
.uk-badge:hover,
.uk-badge:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}

/* ========================================================================
   Component: Label
 ========================================================================== */
.uk-label {
  display: inline-block;
  padding: 0 10px;
  background: #1e87f0;
  line-height: 1.5;
  font-size: 0.875rem;
  color: #fff;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase;
}

/* Color modifiers
 ========================================================================== */
/*
 * Success
 */
.uk-label-success {
  background-color: #32d296;
  color: #fff;
}

/*
 * Warning
 */
.uk-label-warning {
  background-color: #faa05a;
  color: #fff;
}

/*
 * Danger
 */
.uk-label-danger {
  background-color: #f0506e;
  color: #fff;
}

/* ========================================================================
   Component: Overlay
 ========================================================================== */
.uk-overlay {
  padding: 30px 30px;
}

/*
 * Remove margin from the last-child
 */
.uk-overlay > :last-child {
  margin-bottom: 0;
}

/* Icon
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-overlay-default {
  background: rgba(255, 255, 255, 0.8);
}

/*
 * Primary
 */
.uk-overlay-primary {
  background: rgba(34, 34, 34, 0.8);
}

/* ========================================================================
   Component: Article
 ========================================================================== */
.uk-article {
  display: flow-root;
}

/*
 * Remove margin from the last-child
 */
.uk-article > :last-child {
  margin-bottom: 0;
}

/* Adjacent sibling
 ========================================================================== */
.uk-article + .uk-article {
  margin-top: 70px;
}

/* Title
 ========================================================================== */
.uk-article-title {
  font-size: 2.23125rem;
  line-height: 1.2;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-article-title {
    font-size: 2.625rem;
  }
}
/* Meta
 ========================================================================== */
.uk-article-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}
.uk-article-meta a {
  color: #999;
}
.uk-article-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* ========================================================================
   Component: Comment
 ========================================================================== */
/* Sections
 ========================================================================== */
.uk-comment-body {
  display: flow-root;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.uk-comment-header {
  display: flow-root;
  margin-bottom: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-comment-body > :last-child,
.uk-comment-header > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */
.uk-comment-title {
  font-size: 1.25rem;
  line-height: 1.4;
}

/* Meta
 ========================================================================== */
.uk-comment-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}

/* Avatar
 ========================================================================== */
/* List
 ========================================================================== */
.uk-comment-list {
  padding: 0;
  list-style: none;
}

/* Adjacent siblings */
.uk-comment-list > :nth-child(n+2) {
  margin-top: 70px;
}

/*
 * Sublists
 * Note: General sibling selector allows reply block between comment and sublist
 */
.uk-comment-list .uk-comment ~ ul {
  margin: 70px 0 0 0;
  padding-left: 30px;
  list-style: none;
}

/* Tablet and bigger */
@media (min-width: 768px) {
  .uk-comment-list .uk-comment ~ ul {
    padding-left: 100px;
  }
}
/* Adjacent siblings */
.uk-comment-list .uk-comment ~ ul > :nth-child(n+2) {
  margin-top: 70px;
}

/* Style modifier
 ========================================================================== */
.uk-comment-primary {
  padding: 30px;
  background-color: #f8f8f8;
}

/* ========================================================================
   Component: Search
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Reset `form`
 */
.uk-search {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  margin: 0;
}

/* Input
 ========================================================================== */
/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-search-input::-webkit-search-cancel-button,
.uk-search-input::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-search-input::-moz-placeholder {
  opacity: 1;
}

/*
 * 1. Define consistent box sizing.
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers
 * 5. Show the overflow in Edge.
 * 6. Remove default style in iOS.
 * 7. Vertical alignment
 * 8. Take the full container width
 * 9. Style
 */
.uk-search-input {
  /* 1 */
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666;
}

.uk-search-input:focus {
  outline: none;
}

/* Placeholder */
.uk-search-input:-ms-input-placeholder {
  color: #999 !important;
}

.uk-search-input::-moz-placeholder {
  color: #999;
}

.uk-search-input::placeholder {
  color: #999;
}

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * Remove default focus style
 */
.uk-search-icon:focus {
  outline: none;
}

/*
 * Position above input
 * 1. Set position
 * 2. Center icon vertically and horizontally
 * 3. Style
 */
.uk-search .uk-search-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  /* 3 */
  color: #999;
}

/*
 * Required for `a`.
 */
.uk-search .uk-search-icon:hover {
  color: #999;
}

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-search .uk-search-icon:not(a):not(button):not(input) {
  pointer-events: none;
}

/*
 * Position modifier
 */
.uk-search .uk-search-icon-flip {
  right: 0;
  left: auto;
}

/* Default modifier
 ========================================================================== */
.uk-search-default {
  width: 180px;
}

/*
 * Input
 */
.uk-search-default .uk-search-input {
  height: 40px;
  padding-left: 6px;
  padding-right: 6px;
  background: transparent;
  border: 1px solid #e5e5e5;
}

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: transparent;
}

/*
 * Icon
 */
.uk-search-default .uk-search-icon {
  width: 40px;
}

.uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px;
}

.uk-search-default .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px;
}

/* Navbar modifier
 ========================================================================== */
.uk-search-navbar {
  width: 400px;
}

/*
 * Input
 */
.uk-search-navbar .uk-search-input {
  height: 40px;
  background: transparent;
  font-size: 1.5rem;
}

/*
 * Icon
 */
.uk-search-navbar .uk-search-icon {
  width: 40px;
}

.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px;
}

.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px;
}

/* Large modifier
 ========================================================================== */
.uk-search-large {
  width: 500px;
}

/*
 * Input
 */
.uk-search-large .uk-search-input {
  height: 80px;
  background: transparent;
  font-size: 2.625rem;
}

/*
 * Icon
 */
.uk-search-large .uk-search-icon {
  width: 80px;
}

.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 80px;
}

.uk-search-large .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 80px;
}

/* Toggle
 ========================================================================== */
.uk-search-toggle {
  color: #999;
}

/* Hover + Focus */
.uk-search-toggle:hover,
.uk-search-toggle:focus {
  color: #666;
}

/* ========================================================================
   Component: Accordion
 ========================================================================== */
.uk-accordion {
  padding: 0;
  list-style: none;
}

/* Item
 ========================================================================== */
.uk-accordion > :nth-child(n+2) {
  margin-top: 20px;
}

/* Title
 ========================================================================== */
.uk-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #333;
  overflow: hidden;
}
.uk-accordion-title::before {
  content: "";
  width: 1.4em;
  height: 1.4em;
  margin-left: 10px;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Hover + Focus */
.uk-accordion-title:hover,
.uk-accordion-title:focus {
  color: #666;
  text-decoration: none;
  outline: none;
}

/* Content
 ========================================================================== */
.uk-accordion-content {
  display: flow-root;
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-accordion-content > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Drop
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 */
.uk-drop {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  width: 300px;
}

/* Show */
.uk-drop.uk-open {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*=uk-drop-top] {
  margin-top: -20px;
}

[class*=uk-drop-bottom] {
  margin-top: 20px;
}

[class*=uk-drop-left] {
  margin-left: -20px;
}

[class*=uk-drop-right] {
  margin-left: 20px;
}

/* Grid modifiers
 ========================================================================== */
.uk-drop-stack .uk-drop-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Dropdown
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */
.uk-dropdown.uk-open {
  display: block;
}

/* Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-dropdown-nav {
  white-space: nowrap;
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Focus + Active */
.uk-dropdown-nav > li > a:hover,
.uk-dropdown-nav > li > a:focus,
.uk-dropdown-nav > li.uk-active > a {
  color: #666;
}

/*
 * Header
 */
.uk-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-dropdown-nav .uk-nav-sub a:hover,
.uk-dropdown-nav .uk-nav-sub a:focus,
.uk-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #666;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*=uk-dropdown-top] {
  margin-top: -10px;
}

[class*=uk-dropdown-bottom] {
  margin-top: 10px;
}

[class*=uk-dropdown-left] {
  margin-left: -10px;
}

[class*=uk-dropdown-right] {
  margin-left: 10px;
}

/* Grid modifiers
 ========================================================================== */
.uk-dropdown-stack .uk-dropdown-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Modal
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */
.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-modal {
    padding: 50px 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px;
  }
}
/*
 * Open
 */
.uk-modal.uk-open {
  opacity: 1;
}

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-modal-page {
  overflow: hidden;
}

/* Dialog
 ========================================================================== */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */
.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  transform: translateY(-100px);
  transition: 0.3s linear;
  transition-property: opacity, transform;
}

/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  transform: translateY(0);
}

/* Size modifier
 ========================================================================== */
/*
 * Container size
 * Take the same size as the Container component
 */
.uk-modal-container .uk-modal-dialog {
  width: 1200px;
}

/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */
/* 1 */
.uk-modal-full {
  padding: 0;
  background: none;
}

/* 2 */
.uk-modal-full .uk-modal-dialog {
  margin: 0;
  width: 100%;
  max-width: 100%;
  transform: translateY(0);
}

/* Sections
 ========================================================================== */
.uk-modal-body {
  display: flow-root;
  padding: 30px 30px;
}

.uk-modal-header {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

.uk-modal-footer {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
}

/*
 * Remove margin from the last-child
 */
.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */
.uk-modal-title {
  font-size: 2rem;
  line-height: 1.3;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
[class*=uk-modal-close-] {
  position: absolute;
  z-index: 1010;
  top: 10px;
  right: 10px;
  padding: 5px;
}

/*
 * Remove margin from adjacent element
 */
[class*=uk-modal-close-]:first-child + * {
  margin-top: 0;
}

/*
 * Hover
 */
/*
 * Default
 */
/*
 * Outside
 * 1. Prevent scrollbar on small devices
 */
.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  transform: translate(0, -100%);
  color: white;
}

.uk-modal-close-outside:hover {
  color: #fff;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    transform: translate(100%, -100%);
  }
}
/*
 * Full
 */
.uk-modal-close-full {
  top: 0;
  right: 0;
  padding: 20px;
  background: #fff;
}

/* ========================================================================
   Component: Slideshow
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slideshow {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Items
 ========================================================================== */
/*
 * 1. Create position and stacking context
 * 2. Reset list
 * 3. Clip child elements
 * 4. Prevent displaying the callout information on iOS.
 */
.uk-slideshow-items {
  /* 1 */
  position: relative;
  z-index: 0;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  overflow: hidden;
  /* 4 */
  -webkit-touch-callout: none;
}

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 * 5. Disable horizontal panning gestures in IE11 and Edge
 * 6. Suppress outline on focus
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity;
  /* 5 */
  touch-action: pan-y;
}

/* 6 */
.uk-slideshow-items > :focus {
  outline: none;
}

/*
 * Hide not active items
 */
.uk-slideshow-items > :not(.uk-active) {
  display: none;
}

/* ========================================================================
   Component: Slider
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slider {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Container
 ========================================================================== */
/*
 * Clip child elements
 */
.uk-slider-container {
  overflow: hidden;
}

/*
 * Widen container to prevent box-shadows from clipping, `large-box-shadow`
 */
.uk-slider-container-offset {
  margin: -11px -25px -39px -25px;
  padding: 11px 25px 39px 25px;
}

/* Items
 ========================================================================== */
/*
 * 1. Optimize animation
 * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
 */
.uk-slider-items {
  /* 1 */
  will-change: transform;
  /* 2 */
  position: relative;
}

/*
 * 1. Reset list style without interfering with grid
 * 2. Prevent displaying the callout information on iOS.
 */
.uk-slider-items:not(.uk-grid) {
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 2 */
  -webkit-touch-callout: none;
}

.uk-slider-items.uk-grid {
  flex-wrap: nowrap;
}

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 *    `max-width` needed to keep image responsiveness and prevent content overflow
 * 3. Create position context
 * 4. Disable horizontal panning gestures in IE11 and Edge
 * 5. Suppress outline on focus
 */
.uk-slider-items > * {
  /* 1 */
  flex: none;
  max-width: 100%;
  /* 3 */
  position: relative;
  /* 4 */
  touch-action: pan-y;
}

/* 5 */
.uk-slider-items > :focus {
  outline: none;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.uk-sticky-fixed {
  z-index: 980;
  box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*
 * Faster animations
 */
.uk-sticky[class*=uk-animation-] {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
}

.uk-sticky.uk-animation-reverse {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
}

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 */
.uk-offcanvas {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas {
  right: 0;
  left: auto;
}

/* Bar
 ========================================================================== */
/*
 * 1. Set position
 * 2. Size and style
 * 3. Allow scrolling
 */
.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  /* 2 */
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-offcanvas-bar {
    left: -350px;
    width: 350px;
    padding: 40px 40px;
  }
}
/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-offcanvas-flip .uk-offcanvas-bar {
    right: -350px;
  }
}
/*
 * Open
 */
.uk-open > .uk-offcanvas-bar {
  left: 0;
}

.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar {
  left: auto;
  right: 0;
}

/*
 * Slide Animation (Used in slide and push mode)
 */
.uk-offcanvas-bar-animation {
  transition: left 0.3s ease-out;
}

.uk-offcanvas-flip .uk-offcanvas-bar-animation {
  transition-property: right;
}

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset position
 */
.uk-offcanvas-reveal {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 0;
  overflow: hidden;
  /* 3 */
  transition: width 0.3s ease-out;
}

.uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: 0;
}

.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: auto;
  right: 0;
}

.uk-open > .uk-offcanvas-reveal {
  width: 270px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-open > .uk-offcanvas-reveal {
    width: 350px;
  }
}
/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas-reveal {
  right: 0;
  left: auto;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-offcanvas-close {
  position: absolute;
  z-index: 1000;
  top: 20px;
  right: 20px;
  padding: 5px;
}

/* Overlay
 ========================================================================== */
/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */
.uk-offcanvas-overlay {
  /* 1 */
  width: 100vw;
  /* 2 */
  touch-action: none;
}

/*
 * 1. Mask the whole page
 * 2. Fade-in transition
 */
.uk-offcanvas-overlay::before {
  /* 1 */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.1);
  /* 2 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

.uk-offcanvas-overlay.uk-open::before {
  opacity: 1;
}

/* Prevent scrolling
 ========================================================================== */
/*
 * Prevent horizontal scrollbar when the content is slide-out
 * Has to be on the `html` element too to make it work on the `body`
 */
.uk-offcanvas-page,
.uk-offcanvas-container {
  overflow-x: hidden;
}

/* Container
 ========================================================================== */
/*
 * Prepare slide-out animation (Used in reveal and push mode)
 * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
 * lose their fixed state and behaves like `absolute` within a transformed container
 * 1. Provide a fixed width and prevent shrinking
 */
.uk-offcanvas-container {
  position: relative;
  left: 0;
  transition: left 0.3s ease-out;
  /* 1 */
  box-sizing: border-box;
  width: 100%;
}

/*
 * Activate slide-out animation
 */
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
  left: 270px;
}

.uk-offcanvas-flip.uk-offcanvas-container-animation {
  left: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
    left: 350px;
  }

  .uk-offcanvas-flip.uk-offcanvas-container-animation {
    left: -350px;
  }
}
/* ========================================================================
   Component: Switcher
 ========================================================================== */
/*
 * Reset list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Items
 ========================================================================== */
/*
 * Hide not active items
 */
.uk-switcher > :not(.uk-active) {
  display: none;
}

/*
 * Remove margin from the last-child
 */
.uk-switcher > * > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Leader
 ========================================================================== */
.uk-leader {
  overflow: hidden;
}

/*
 * 1. Place element in text flow
 * 2. Never break into a new line
 * 3. Get a string back with as many repeating characters to fill the container
 * 4. Prevent wrapping. Overflowing characters will be clipped by the container
 */
.uk-leader-fill::after {
  /* 1 */
  display: inline-block;
  margin-left: 15px;
  /* 2 */
  width: 0;
  /* 3 */
  content: attr(data-fill);
  /* 4 */
  white-space: nowrap;
}

/*
 * Hide if media does not match
 */
.uk-leader-fill.uk-leader-hide::after {
  display: none;
}

/*
 * Pass fill character to JS
 */
.uk-leader-fill-content::before {
  content: ".";
}

:root {
  --uk-leader-fill-content: .;
}

/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1040;
  /* 2 */
  box-sizing: border-box;
  width: 350px;
}

/* Position modifiers
========================================================================== */
.uk-notification-top-right,
.uk-notification-bottom-right {
  left: auto;
  right: 10px;
}

.uk-notification-top-center,
.uk-notification-bottom-center {
  left: 50%;
  margin-left: -175px;
}

.uk-notification-bottom-left,
.uk-notification-bottom-right,
.uk-notification-bottom-center {
  top: auto;
  bottom: 10px;
}

/* Responsiveness
========================================================================== */
/* Phones portrait and smaller */
@media (max-width: 319px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0;
  }
}
/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  padding: 15px;
  background: #f8f8f8;
  color: #666;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer;
}

* + .uk-notification-message {
  margin-top: 10px;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-notification-close {
  display: none;
  position: absolute;
  top: 20px;
  right: 15px;
}

.uk-notification-message:hover .uk-notification-close {
  display: block;
}

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-notification-message-primary {
  color: #1e87f0;
}

/*
 * Success
 */
.uk-notification-message-success {
  color: #32d296;
}

/*
 * Warning
 */
.uk-notification-message-warning {
  color: #faa05a;
}

/*
 * Danger
 */
.uk-notification-message-danger {
  color: #f0506e;
}

/* ========================================================================
   Component: Tooltip
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Position
 * 3. Remove tooltip from document flow to keep the UIkit container from changing its size when injected into the document initially
 * 4. Dimensions
 * 5. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  top: 0;
  /* 4 */
  box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 5 */
  background: #666;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
}

/* Show */
.uk-tooltip.uk-active {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*=uk-tooltip-top] {
  margin-top: -10px;
}

[class*=uk-tooltip-bottom] {
  margin-top: 10px;
}

[class*=uk-tooltip-left] {
  margin-left: -10px;
}

[class*=uk-tooltip-right] {
  margin-left: 10px;
}

/* ========================================================================
   Component: Sortable
 ========================================================================== */
.uk-sortable {
  position: relative;
}

/*
 * Remove margin from the last-child
 */
.uk-sortable > :last-child {
  margin-bottom: 0;
}

/* Drag
 ========================================================================== */
.uk-sortable-drag {
  position: fixed !important;
  z-index: 1050 !important;
  pointer-events: none;
}

/* Placeholder
 ========================================================================== */
.uk-sortable-placeholder {
  opacity: 0;
  pointer-events: none;
}

/* Empty modifier
 ========================================================================== */
.uk-sortable-empty {
  min-height: 50px;
}

/* Handle
 ========================================================================== */
/* Hover */
.uk-sortable-handle:hover {
  cursor: move;
}

/* ========================================================================
   Component: Countdown
 ========================================================================== */
/* Item
 ========================================================================== */
/* Number
 ========================================================================== */
/*
 * 1. Make numbers all of the same size to prevent jumping. Must be supported by the font.
 * 2. Style
 */
.uk-countdown-number {
  /* 1 */
  font-variant-numeric: tabular-nums;
  /* 2 */
  font-size: 2rem;
  line-height: 0.8;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}
/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem;
  line-height: 1.6;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-separator {
    font-size: 3rem;
  }
}
/* Label
 ========================================================================== */
/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Grid cell
 * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
 * Reset margin for e.g. paragraphs
 */
.uk-grid > * {
  margin: 0;
}

/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
  margin-bottom: 0;
}

/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
  margin-left: -30px;
}

.uk-grid > * {
  padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
  margin-top: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid {
    margin-left: -40px;
  }

  .uk-grid > * {
    padding-left: 40px;
  }

  /* Vertical */
  .uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
    margin-top: 40px;
  }
}
/*
 * Small
 */
/* Horizontal */
.uk-grid-small,
.uk-grid-column-small {
  margin-left: -15px;
}

.uk-grid-small > *,
.uk-grid-column-small > * {
  padding-left: 15px;
}

/* Vertical */
.uk-grid + .uk-grid-small,
.uk-grid + .uk-grid-row-small,
.uk-grid-small > .uk-grid-margin,
.uk-grid-row-small > .uk-grid-margin,
* + .uk-grid-margin-small {
  margin-top: 15px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium,
.uk-grid-column-medium {
  margin-left: -30px;
}

.uk-grid-medium > *,
.uk-grid-column-medium > * {
  padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid-medium,
.uk-grid + .uk-grid-row-medium,
.uk-grid-medium > .uk-grid-margin,
.uk-grid-row-medium > .uk-grid-margin,
* + .uk-grid-margin-medium {
  margin-top: 30px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-large,
.uk-grid-column-large {
  margin-left: -40px;
}

.uk-grid-large > *,
.uk-grid-column-large > * {
  padding-left: 40px;
}

/* Vertical */
.uk-grid + .uk-grid-large,
.uk-grid + .uk-grid-row-large,
.uk-grid-large > .uk-grid-margin,
.uk-grid-row-large > .uk-grid-margin,
* + .uk-grid-margin-large {
  margin-top: 40px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-large,
.uk-grid-column-large {
    margin-left: -70px;
  }

  .uk-grid-large > *,
.uk-grid-column-large > * {
    padding-left: 70px;
  }

  /* Vertical */
  .uk-grid + .uk-grid-large,
.uk-grid + .uk-grid-row-large,
.uk-grid-large > .uk-grid-margin,
.uk-grid-row-large > .uk-grid-margin,
* + .uk-grid-margin-large {
    margin-top: 70px;
  }
}
/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse,
.uk-grid-column-collapse {
  margin-left: 0;
}

.uk-grid-collapse > *,
.uk-grid-column-collapse > * {
  padding-left: 0;
}

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid + .uk-grid-row-collapse,
.uk-grid-collapse > .uk-grid-margin,
.uk-grid-row-collapse > .uk-grid-margin {
  margin-top: 0;
}

/* Divider
 ========================================================================== */
.uk-grid-divider > * {
  position: relative;
}

.uk-grid-divider > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/*
 * Default
 */
/* Horizontal */
.uk-grid-divider {
  margin-left: -60px;
}

.uk-grid-divider > * {
  padding-left: 60px;
}

.uk-grid-divider > :not(.uk-first-column)::before {
  left: 30px;
}

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}

.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -80px;
  }

  .uk-grid-divider > * {
    padding-left: 80px;
  }

  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px;
  }

  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px;
  }

  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px;
  }
}
/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small,
.uk-grid-divider.uk-grid-column-small {
  margin-left: -30px;
}

.uk-grid-divider.uk-grid-small > *,
.uk-grid-divider.uk-grid-column-small > * {
  padding-left: 30px;
}

.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before {
  left: 15px;
}

/* Vertical */
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin {
  margin-top: 30px;
}

.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
  left: 30px;
}

.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
}

.uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before {
  left: 30px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-divider.uk-grid-medium,
.uk-grid-divider.uk-grid-column-medium {
  margin-left: -60px;
}

.uk-grid-divider.uk-grid-medium > *,
.uk-grid-divider.uk-grid-column-medium > * {
  padding-left: 60px;
}

.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before {
  left: 30px;
}

/* Vertical */
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}

.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}

.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
}

.uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before {
  left: 60px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-divider.uk-grid-large,
.uk-grid-divider.uk-grid-column-large {
  margin-left: -80px;
}

.uk-grid-divider.uk-grid-large > *,
.uk-grid-divider.uk-grid-column-large > * {
  padding-left: 80px;
}

.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
  left: 40px;
}

/* Vertical */
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
  margin-top: 80px;
}

.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
  left: 80px;
}

.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
}

.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
  left: 80px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider.uk-grid-large,
.uk-grid-divider.uk-grid-column-large {
    margin-left: -140px;
  }

  .uk-grid-divider.uk-grid-large > *,
.uk-grid-divider.uk-grid-column-large > * {
    padding-left: 140px;
  }

  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
    left: 70px;
  }

  /* Vertical */
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 140px;
  }

  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
    left: 140px;
  }

  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
  }

  .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
    left: 140px;
  }
}
/* Match child of a grid cell
 ========================================================================== */
/*
 * Behave like a block element
 * 1. Wrap into the next line
 * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
 * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
 */
.uk-grid-match > *,
.uk-grid-item-match {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
}

.uk-grid-match > * > :not([class*=uk-width]),
.uk-grid-item-match > :not([class*=uk-width]) {
  /* 2 */
  box-sizing: border-box;
  width: 100%;
  /* 3 */
  flex: auto;
}

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 * 1. Prepare lists
 * 2. Prepare links
 * 3. Remove default focus style
 */
/* 1 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 2 */
.uk-nav li > a {
  display: block;
  text-decoration: none;
}

/* 3 */
.uk-nav li > a:focus {
  outline: none;
}

/*
 * Items
 * Must target `a` elements to exclude other elements (e.g. lists)
 */
.uk-nav > li > a {
  padding: 5px 0;
}

/* Sublists
 ========================================================================== */
/*
 * Level 2
 * `ul` needed for higher specificity to override padding
 */
ul.uk-nav-sub {
  padding: 5px 0 5px 15px;
}

/*
 * Level 3 and deeper
 */
.uk-nav-sub ul {
  padding-left: 15px;
}

/*
 * Items
 */
.uk-nav-sub a {
  padding: 2px 0;
}

/* Parent icon modifier
 ========================================================================== */
.uk-nav-parent-icon > .uk-parent > a::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Header
 ========================================================================== */
.uk-nav-header {
  padding: 5px 0;
  text-transform: uppercase;
  font-size: 0.875rem;
}

.uk-nav-header:not(:first-child) {
  margin-top: 20px;
}

/* Divider
 ========================================================================== */
.uk-nav-divider {
  margin: 5px 0;
}

/* Default modifier
 ========================================================================== */
.uk-nav-default {
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-nav-default > li > a {
  color: #999;
}

/* Hover + Focus */
.uk-nav-default > li > a:hover,
.uk-nav-default > li > a:focus {
  color: #666;
}

/* Active */
.uk-nav-default > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-nav-default .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-nav-default .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-nav-default .uk-nav-sub a {
  color: #999;
}

.uk-nav-default .uk-nav-sub a:hover,
.uk-nav-default .uk-nav-sub a:focus {
  color: #666;
}

.uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Primary modifier
 ========================================================================== */
/*
 * Items
 */
.uk-nav-primary > li > a {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #999;
}

/* Hover + Focus */
.uk-nav-primary > li > a:hover,
.uk-nav-primary > li > a:focus {
  color: #666;
}

/* Active */
.uk-nav-primary > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-nav-primary .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-nav-primary .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-nav-primary .uk-nav-sub a {
  color: #999;
}

.uk-nav-primary .uk-nav-sub a:hover,
.uk-nav-primary .uk-nav-sub a:focus {
  color: #666;
}

.uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Alignment modifier
 ========================================================================== */
.uk-nav-center {
  text-align: center;
}

/* Sublists */
.uk-nav-center .uk-nav-sub,
.uk-nav-center .uk-nav-sub ul {
  padding-left: 0;
}

/* Parent icon modifier  */
.uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
  position: absolute;
}

/* ========================================================================
   Component: Navbar
 ========================================================================== */
/*
 * 1. Create position context to center navbar group
 */
.uk-navbar {
  display: flex;
  /* 1 */
  position: relative;
}

/* Container
 ========================================================================== */
.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #f8f8f8;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
 */
.uk-navbar-container > ::before,
.uk-navbar-container > ::after {
  display: none !important;
}

/* Groups
 ========================================================================== */
/*
 * 1. Align navs and items vertically if they have a different height
 * 2. Note: IE 11 requires an extra `div` which affects the center selector
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center,
.uk-navbar-center-left > *,
.uk-navbar-center-right > * {
  display: flex;
  /* 1 */
  align-items: center;
}

/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Fix text wrapping if content is larger than 50% of the container.
 * 3. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 4. Align sub groups for centered navbar
 */
.uk-navbar-right {
  margin-left: auto;
}

.uk-navbar-center:only-child {
  margin-left: auto;
  margin-right: auto;
  /* 1 */
  position: relative;
}

.uk-navbar-center:not(:only-child) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 2 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  box-sizing: border-box;
  /* 3 */
  z-index: 990;
}

/* 4 */
.uk-navbar-center-left,
.uk-navbar-center-right {
  position: absolute;
  top: 0;
}

.uk-navbar-center-left {
  right: 100%;
}

.uk-navbar-center-right {
  left: 100%;
}

[class*=uk-navbar-center-] {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  box-sizing: border-box;
}

/* Nav
 ========================================================================== */
/*
 * 1. Reset list
 */
.uk-navbar-nav {
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Allow items to wrap into the next line
 * Only not `absolute` positioned groups
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center:only-child {
  flex-wrap: wrap;
}

/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Dimensions
 * 3. Style
 * 4. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 2 */
  box-sizing: border-box;
  min-height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  text-decoration: none;
}

/*
 * Nav items
 */
.uk-navbar-nav > li > a {
  color: #999;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/*
 * Hover
 * Apply hover style also to focus state and if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #666;
  outline: none;
}

/* OnClick */
.uk-navbar-nav > li > a:active {
  color: #333;
}

/* Active */
.uk-navbar-nav > li.uk-active > a {
  color: #333;
}

/* Item
 ========================================================================== */
.uk-navbar-item {
  color: #666;
}

/* Toggle
 ========================================================================== */
.uk-navbar-toggle {
  color: #999;
}

.uk-navbar-toggle:hover,
.uk-navbar-toggle:focus,
.uk-navbar-toggle.uk-open {
  color: #666;
  outline: none;
  text-decoration: none;
}

/*
 * Icon
 * Adopts `uk-icon`
 */
/* Hover + Focus */
/* Subtitle
 ========================================================================== */
.uk-navbar-subtitle {
  font-size: 0.875rem;
}

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */
.uk-navbar-dropdown.uk-open {
  display: block;
}

/*
 * Direction / Alignment modifiers
 */
/* Direction */
[class*=uk-navbar-dropdown-top] {
  margin-top: -15px;
}

[class*=uk-navbar-dropdown-bottom] {
  margin-top: 15px;
}

[class*=uk-navbar-dropdown-left] {
  margin-left: -15px;
}

[class*=uk-navbar-dropdown-right] {
  margin-left: 15px;
}

/*
 * Grid
 * Adopts `uk-grid`
 */
/* Gutter Horizontal */
.uk-navbar-dropdown-grid {
  margin-left: -50px;
}

.uk-navbar-dropdown-grid > * {
  padding-left: 50px;
}

/* Gutter Vertical */
.uk-navbar-dropdown-grid > .uk-grid-margin {
  margin-top: 50px;
}

/* Stack */
.uk-navbar-dropdown-stack .uk-navbar-dropdown-grid > * {
  width: 100% !important;
}

/*
 * Width modifier
 */
.uk-navbar-dropdown-width-2:not(.uk-navbar-dropdown-stack) {
  width: 400px;
}

.uk-navbar-dropdown-width-3:not(.uk-navbar-dropdown-stack) {
  width: 600px;
}

.uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) {
  width: 800px;
}

.uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) {
  width: 1000px;
}

/*
 * Dropbar modifier
 */
.uk-navbar-dropdown-dropbar {
  margin-top: 0;
  margin-bottom: 0;
  box-shadow: none;
}

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-navbar-dropdown-nav {
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-navbar-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Focus */
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
  color: #666;
}

/* Active */
.uk-navbar-dropdown-nav > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-navbar-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-navbar-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-navbar-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-navbar-dropdown-nav .uk-nav-sub a:hover,
.uk-navbar-dropdown-nav .uk-nav-sub a:focus {
  color: #666;
}

.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Dropbar
 ========================================================================== */
.uk-navbar-dropbar {
  background: #fff;
}

/*
 * Slide modifier
 */
.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 980;
  left: 0;
  right: 0;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
}

/*
 * Navbar
 */
.uk-navbar-container > .uk-container .uk-navbar-left {
  margin-left: -15px;
  margin-right: -15px;
}

.uk-navbar-container > .uk-container .uk-navbar-right {
  margin-right: -15px;
}

/*
 * Grid Divider
 */
.uk-navbar-dropdown-grid > * {
  position: relative;
}

.uk-navbar-dropdown-grid > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */
.uk-navbar-dropdown-grid.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50px;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-subnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-subnav > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover + Focus */
.uk-subnav > * > a:hover,
.uk-subnav > * > a:focus {
  color: #666;
  text-decoration: none;
  outline: none;
}

/* Active */
.uk-subnav > .uk-active > a {
  color: #333;
}

/* Divider modifier
 ========================================================================== */
/*
 * Set gutter 
 */
.uk-subnav-divider {
  margin-left: -41px;
}

/*
 * Align items and divider vertically
 */
.uk-subnav-divider > * {
  display: flex;
  align-items: center;
}

/*
 * Divider
 * 1. `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > ::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid transparent;
}

/* 1 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  border-left-color: #e5e5e5;
}

/* Pill modifier
 ========================================================================== */
.uk-subnav-pill > * > :first-child {
  padding: 5px 10px;
  background: transparent;
  color: #999;
}

/* Hover + Focus */
.uk-subnav-pill > * > a:hover,
.uk-subnav-pill > * > a:focus {
  background-color: #f8f8f8;
  color: #666;
}

/* OnClick */
.uk-subnav-pill > * > a:active {
  background-color: #f8f8f8;
  color: #666;
}

/* Active */
.uk-subnav-pill > .uk-active > a {
  background-color: #1e87f0;
  color: #fff;
}

/* Disabled
 * The same for all style modifiers
 ========================================================================== */
.uk-subnav > .uk-disabled > a {
  color: #999;
}

/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */
/*
 * Reset list
 */
.uk-breadcrumb {
  padding: 0;
  list-style: none;
}

/*
 * 1. Doesn't generate any box and replaced by child boxes
 */
.uk-breadcrumb > * {
  display: contents;
}

/* Items
 ========================================================================== */
.uk-breadcrumb > * > * {
  font-size: 0.875rem;
  color: #999;
}

/* Hover + Focus */
.uk-breadcrumb > * > :hover,
.uk-breadcrumb > * > :focus {
  color: #666;
  text-decoration: none;
}

/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > span,
.uk-breadcrumb > :last-child > a:not([href]) {
  color: #666;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 * 1. Remove space between inline block elements.
 * 2. Style
 */
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  /* 1 */
  margin: 0 20px 0 calc(20px - 4px);
  /* 2 */
  font-size: 0.875rem;
  color: #999;
}

/* ========================================================================
   Component: Pagination
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-pagination {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: 0;
  /* 3 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-pagination > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 0;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-pagination > * > * {
  /* 1 */
  display: block;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-pagination > * > :hover,
.uk-pagination > * > :focus {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-pagination > .uk-active > * {
  color: #666;
}

/* Disabled */
.uk-pagination > .uk-disabled > * {
  color: #999;
}

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
  position: relative;
}
.uk-tab::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 0;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-tab > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-tab > * > a:hover,
.uk-tab > * > a:focus {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-tab > .uk-active > a {
  color: #333;
  border-color: #1e87f0;
}

/* Disabled */
.uk-tab > .uk-disabled > a {
  color: #999;
}

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
.uk-tab-bottom::before {
  top: 0;
  bottom: auto;
}

.uk-tab-bottom > * > a {
  border-top: 1px solid transparent;
  border-bottom: none;
}

/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  flex-direction: column;
  /* 1 */
  margin-left: 0;
}

/* 1 */
.uk-tab-left > *,
.uk-tab-right > * {
  padding-left: 0;
}

.uk-tab-left::before {
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  border-left: 1px solid #e5e5e5;
  border-bottom: none;
}

.uk-tab-right::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-left: 1px solid #e5e5e5;
  border-bottom: none;
}

.uk-tab-left > * > a {
  text-align: left;
  border-right: 1px solid transparent;
  border-bottom: none;
}

.uk-tab-right > * > a {
  text-align: left;
  border-left: 1px solid transparent;
  border-bottom: none;
}

.uk-tab .uk-dropdown {
  margin-left: 30px;
}

/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.5);
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.9);
  outline: none;
}

/* OnClick */
.uk-slidenav:active {
  color: rgba(102, 102, 102, 0.5);
}

/* Icon modifier
 ========================================================================== */
/*
 * Previous
 */
/*
 * Next
 */
/* Size modifier
 ========================================================================== */
.uk-slidenav-large {
  padding: 10px 10px;
}

/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: flex;
}

/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-dotnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -12px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-dotnav > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 12px;
}

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  border: 1px solid rgba(102, 102, 102, 0.4);
  transition: 0.2s ease-in-out;
  transition-property: background-color, border-color;
}

/* Hover + Focus */
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
  background-color: rgba(102, 102, 102, 0.6);
  outline: none;
  border-color: transparent;
}

/* OnClick */
.uk-dotnav > * > :active {
  background-color: rgba(102, 102, 102, 0.2);
  border-color: transparent;
}

/* Active */
.uk-dotnav > .uk-active > * {
  background-color: rgba(102, 102, 102, 0.6);
  border-color: transparent;
}

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-dotnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -12px;
}

/* 2 */
.uk-dotnav-vertical > * {
  padding-left: 0;
  padding-top: 12px;
}

/* ========================================================================
   Component: Thumbnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-thumbnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-thumbnav > * {
  /* 1 */
  padding-left: 15px;
}

/* Items
 ========================================================================== */
/*
 * Items
 */
.uk-thumbnav > * > * {
  display: inline-block;
  position: relative;
}
.uk-thumbnav > * > *::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.4);
  transition: background-color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
  outline: none;
}
.uk-thumbnav > * > :hover::after,
.uk-thumbnav > * > :focus::after {
  background-color: transparent;
}

/* Active */
.uk-thumbnav > .uk-active > *::after {
  background-color: transparent;
}

/* Modifier: 'uk-thumbnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-thumbnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px;
}

/* 2 */
.uk-thumbnav-vertical > * {
  padding-left: 0;
  padding-top: 15px;
}

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-iconnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -10px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-iconnav > * {
  /* 1 */
  padding-left: 10px;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > a {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
}

/* Hover + Focus */
.uk-iconnav > * > a:hover,
.uk-iconnav > * > a:focus {
  color: #666;
  outline: none;
}

/* Active */
.uk-iconnav > .uk-active > a {
  color: #666;
}

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-iconnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -10px;
}

/* 2 */
.uk-iconnav-vertical > * {
  padding-left: 0;
  padding-top: 10px;
}

/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
  /* 7 */
  touch-action: pinch-zoom;
}

/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1;
}

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
  overflow: hidden;
}

/* Item
 ========================================================================== */
/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Color needed for spinner icon
 * 4. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 * 6. Suppress outline on focus
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  justify-content: center;
  align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity;
}

/* 5 */
.uk-lightbox-items > * > * {
  max-width: 100vw;
  max-height: 100vh;
}

/* 6 */
.uk-lightbox-items > :focus {
  outline: none;
}

.uk-lightbox-items > * > :not(iframe) {
  width: auto;
  height: auto;
}

.uk-lightbox-items > .uk-active {
  display: flex;
}

/* Toolbar
 ========================================================================== */
.uk-lightbox-toolbar {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
}

.uk-lightbox-toolbar > * {
  color: rgba(255, 255, 255, 0.7);
}

/* Toolbar Icon (Close)
 ========================================================================== */
.uk-lightbox-toolbar-icon {
  padding: 5px;
  color: rgba(255, 255, 255, 0.7);
}

/*
 * Hover
 */
.uk-lightbox-toolbar-icon:hover {
  color: #fff;
}

/* Button (Slidenav)
 ========================================================================== */
/*
 * 1. Center icon vertically and horizontally
 */
.uk-lightbox-button {
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/* Hover + Focus */
.uk-lightbox-button:hover,
.uk-lightbox-button:focus {
  color: #fff;
}

/* OnClick */
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none;
}

/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*=uk-animation-] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  -webkit-animation-name: uk-fade;
          animation-name: uk-fade;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
  -webkit-animation-name: uk-fade-scale-02;
          animation-name: uk-fade-scale-02;
}

.uk-animation-scale-down {
  -webkit-animation-name: uk-fade-scale-18;
          animation-name: uk-fade-scale-18;
}

/*
 * Slide
 */
.uk-animation-slide-top {
  -webkit-animation-name: uk-fade-top;
          animation-name: uk-fade-top;
}

.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottom;
          animation-name: uk-fade-bottom;
}

.uk-animation-slide-left {
  -webkit-animation-name: uk-fade-left;
          animation-name: uk-fade-left;
}

.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-right;
          animation-name: uk-fade-right;
}

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  -webkit-animation-name: uk-fade-top-small;
          animation-name: uk-fade-top-small;
}

.uk-animation-slide-bottom-small {
  -webkit-animation-name: uk-fade-bottom-small;
          animation-name: uk-fade-bottom-small;
}

.uk-animation-slide-left-small {
  -webkit-animation-name: uk-fade-left-small;
          animation-name: uk-fade-left-small;
}

.uk-animation-slide-right-small {
  -webkit-animation-name: uk-fade-right-small;
          animation-name: uk-fade-right-small;
}

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  -webkit-animation-name: uk-fade-top-medium;
          animation-name: uk-fade-top-medium;
}

.uk-animation-slide-bottom-medium {
  -webkit-animation-name: uk-fade-bottom-medium;
          animation-name: uk-fade-bottom-medium;
}

.uk-animation-slide-left-medium {
  -webkit-animation-name: uk-fade-left-medium;
          animation-name: uk-fade-left-medium;
}

.uk-animation-slide-right-medium {
  -webkit-animation-name: uk-fade-right-medium;
          animation-name: uk-fade-right-medium;
}

/*
 * Kenburns
 */
.uk-animation-kenburns {
  -webkit-animation-name: uk-scale-kenburns;
          animation-name: uk-scale-kenburns;
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-shake {
  -webkit-animation-name: uk-shake;
          animation-name: uk-shake;
}

/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  -webkit-animation-name: uk-stroke;
          animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
}

/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*=uk-animation-] {
  -webkit-animation-name: none;
          animation-name: none;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none;
}

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
/*
 * Shake
 */
@-webkit-keyframes uk-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-9px);
  }
  20% {
    transform: translateX(8px);
  }
  30% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(4px);
  }
  70% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  90% {
    transform: translateX(-1px);
  }
}
@keyframes uk-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-9px);
  }
  20% {
    transform: translateX(8px);
  }
  30% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(4px);
  }
  70% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  90% {
    transform: translateX(-1px);
  }
}
/*
 * Stroke
 */
@-webkit-keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*=uk-child-width] > * {
  box-sizing: border-box;
  width: 100%;
}

.uk-child-width-1-2 > * {
  width: 50%;
}

.uk-child-width-1-3 > * {
  width: calc(100% * 1 / 3.001);
}

.uk-child-width-1-4 > * {
  width: 25%;
}

.uk-child-width-1-5 > * {
  width: 20%;
}

.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001);
}

.uk-child-width-auto > * {
  width: auto;
}

/*
 * 1. Reset the `min-width`, which is set to auto by default, because
 *    flex items won't shrink below their minimum intrinsic content size.
 *    Using `1px` instead of `0`, so items still wrap into the next line,
 *    if they have zero width and padding and the predecessor is 100% wide.
 */
.uk-child-width-expand > :not([class*=uk-width]) {
  flex: 1;
  /* 1 */
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-child-width-1-1\@s > * {
    width: 100%;
  }

  .uk-child-width-1-2\@s > * {
    width: 50%;
  }

  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001);
  }

  .uk-child-width-1-4\@s > * {
    width: 25%;
  }

  .uk-child-width-1-5\@s > * {
    width: 20%;
  }

  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001);
  }

  .uk-child-width-auto\@s > * {
    width: auto;
  }

  .uk-child-width-expand\@s > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-child-width-1-1\@m > * {
    width: 100%;
  }

  .uk-child-width-1-2\@m > * {
    width: 50%;
  }

  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001);
  }

  .uk-child-width-1-4\@m > * {
    width: 25%;
  }

  .uk-child-width-1-5\@m > * {
    width: 20%;
  }

  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001);
  }

  .uk-child-width-auto\@m > * {
    width: auto;
  }

  .uk-child-width-expand\@m > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%;
  }

  .uk-child-width-1-2\@l > * {
    width: 50%;
  }

  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001);
  }

  .uk-child-width-1-4\@l > * {
    width: 25%;
  }

  .uk-child-width-1-5\@l > * {
    width: 20%;
  }

  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001);
  }

  .uk-child-width-auto\@l > * {
    width: auto;
  }

  .uk-child-width-expand\@l > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%;
  }

  .uk-child-width-1-2\@xl > * {
    width: 50%;
  }

  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001);
  }

  .uk-child-width-1-4\@xl > * {
    width: 25%;
  }

  .uk-child-width-1-5\@xl > * {
    width: 20%;
  }

  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001);
  }

  .uk-child-width-auto\@xl > * {
    width: auto;
  }

  .uk-child-width-expand\@xl > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*=uk-width] {
  box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%;
}

/* Halves */
.uk-width-1-2 {
  width: 50%;
}

/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001);
}

.uk-width-2-3 {
  width: calc(100% * 2 / 3.001);
}

/* Quarters */
.uk-width-1-4 {
  width: 25%;
}

.uk-width-3-4 {
  width: 75%;
}

/* Fifths */
.uk-width-1-5 {
  width: 20%;
}

.uk-width-2-5 {
  width: 40%;
}

.uk-width-3-5 {
  width: 60%;
}

.uk-width-4-5 {
  width: 80%;
}

/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001);
}

.uk-width-5-6 {
  width: calc(100% * 5 / 6.001);
}

/* Pixel */
.uk-width-small {
  width: 150px;
}

.uk-width-medium {
  width: 300px;
}

.uk-width-large {
  width: 450px;
}

.uk-width-xlarge {
  width: 600px;
}

.uk-width-2xlarge {
  width: 750px;
}

/* Auto */
.uk-width-auto {
  width: auto;
}

/* Expand */
.uk-width-expand {
  flex: 1;
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%;
  }

  /* Halves */
  .uk-width-1-2\@s {
    width: 50%;
  }

  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001);
  }

  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001);
  }

  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%;
  }

  .uk-width-3-4\@s {
    width: 75%;
  }

  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%;
  }

  .uk-width-2-5\@s {
    width: 40%;
  }

  .uk-width-3-5\@s {
    width: 60%;
  }

  .uk-width-4-5\@s {
    width: 80%;
  }

  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001);
  }

  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001);
  }

  /* Pixel */
  .uk-width-small\@s {
    width: 150px;
  }

  .uk-width-medium\@s {
    width: 300px;
  }

  .uk-width-large\@s {
    width: 450px;
  }

  .uk-width-xlarge\@s {
    width: 600px;
  }

  .uk-width-2xlarge\@s {
    width: 750px;
  }

  /* Auto */
  .uk-width-auto\@s {
    width: auto;
  }

  /* Expand */
  .uk-width-expand\@s {
    flex: 1;
    min-width: 1px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%;
  }

  /* Halves */
  .uk-width-1-2\@m {
    width: 50%;
  }

  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001);
  }

  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001);
  }

  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%;
  }

  .uk-width-3-4\@m {
    width: 75%;
  }

  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%;
  }

  .uk-width-2-5\@m {
    width: 40%;
  }

  .uk-width-3-5\@m {
    width: 60%;
  }

  .uk-width-4-5\@m {
    width: 80%;
  }

  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001);
  }

  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001);
  }

  /* Pixel */
  .uk-width-small\@m {
    width: 150px;
  }

  .uk-width-medium\@m {
    width: 300px;
  }

  .uk-width-large\@m {
    width: 450px;
  }

  .uk-width-xlarge\@m {
    width: 600px;
  }

  .uk-width-2xlarge\@m {
    width: 750px;
  }

  /* Auto */
  .uk-width-auto\@m {
    width: auto;
  }

  /* Expand */
  .uk-width-expand\@m {
    flex: 1;
    min-width: 1px;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%;
  }

  /* Halves */
  .uk-width-1-2\@l {
    width: 50%;
  }

  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001);
  }

  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001);
  }

  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%;
  }

  .uk-width-3-4\@l {
    width: 75%;
  }

  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%;
  }

  .uk-width-2-5\@l {
    width: 40%;
  }

  .uk-width-3-5\@l {
    width: 60%;
  }

  .uk-width-4-5\@l {
    width: 80%;
  }

  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001);
  }

  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001);
  }

  /* Pixel */
  .uk-width-small\@l {
    width: 150px;
  }

  .uk-width-medium\@l {
    width: 300px;
  }

  .uk-width-large\@l {
    width: 450px;
  }

  .uk-width-xlarge\@l {
    width: 600px;
  }

  .uk-width-2xlarge\@l {
    width: 750px;
  }

  /* Auto */
  .uk-width-auto\@l {
    width: auto;
  }

  /* Expand */
  .uk-width-expand\@l {
    flex: 1;
    min-width: 1px;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%;
  }

  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%;
  }

  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001);
  }

  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001);
  }

  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%;
  }

  .uk-width-3-4\@xl {
    width: 75%;
  }

  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%;
  }

  .uk-width-2-5\@xl {
    width: 40%;
  }

  .uk-width-3-5\@xl {
    width: 60%;
  }

  .uk-width-4-5\@xl {
    width: 80%;
  }

  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001);
  }

  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001);
  }

  /* Pixel */
  .uk-width-small\@xl {
    width: 150px;
  }

  .uk-width-medium\@xl {
    width: 300px;
  }

  .uk-width-large\@xl {
    width: 450px;
  }

  .uk-width-xlarge\@xl {
    width: 600px;
  }

  .uk-width-2xlarge\@xl {
    width: 750px;
  }

  /* Auto */
  .uk-width-auto\@xl {
    width: auto;
  }

  /* Expand */
  .uk-width-expand\@xl {
    flex: 1;
    min-width: 1px;
  }
}
/* ========================================================================
   Component: Height
 ========================================================================== */
[class*=uk-height] {
  box-sizing: border-box;
}

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%;
}

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh;
}

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px;
}

.uk-height-medium {
  height: 300px;
}

.uk-height-large {
  height: 450px;
}

.uk-height-max-small {
  max-height: 150px;
}

.uk-height-max-medium {
  max-height: 300px;
}

.uk-height-max-large {
  max-height: 450px;
}

/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333;
}

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}
.uk-text-meta a {
  color: #999;
}
.uk-text-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5;
}

.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5;
}

.uk-text-default {
  font-size: 16px;
  line-height: 1.5;
}

/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300;
}

.uk-text-normal {
  font-weight: 400;
}

.uk-text-bold {
  font-weight: 700;
}

.uk-text-lighter {
  font-weight: lighter;
}

.uk-text-bolder {
  font-weight: bolder;
}

/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic;
}

/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important;
}

.uk-text-uppercase {
  text-transform: uppercase !important;
}

.uk-text-lowercase {
  text-transform: lowercase !important;
}

/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important;
}

.uk-text-emphasis {
  color: #333 !important;
}

.uk-text-primary {
  color: #1e87f0 !important;
}

.uk-text-secondary {
  color: #222 !important;
}

.uk-text-success {
  color: #32d296 !important;
}

.uk-text-warning {
  color: #faa05a !important;
}

.uk-text-danger {
  color: #f0506e !important;
}

/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #1e87f0 !important;
}

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
    color: transparent !important;
  }
}
/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important;
}

.uk-text-right {
  text-align: right !important;
}

.uk-text-center {
  text-align: center !important;
}

.uk-text-justify {
  text-align: justify !important;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-text-left\@s {
    text-align: left !important;
  }

  .uk-text-right\@s {
    text-align: right !important;
  }

  .uk-text-center\@s {
    text-align: center !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-text-left\@m {
    text-align: left !important;
  }

  .uk-text-right\@m {
    text-align: right !important;
  }

  .uk-text-center\@m {
    text-align: center !important;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@l {
    text-align: left !important;
  }

  .uk-text-right\@l {
    text-align: right !important;
  }

  .uk-text-center\@l {
    text-align: center !important;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important;
  }

  .uk-text-right\@xl {
    text-align: right !important;
  }

  .uk-text-center\@xl {
    text-align: center !important;
  }
}
/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important;
}

.uk-text-middle {
  vertical-align: middle !important;
}

.uk-text-bottom {
  vertical-align: bottom !important;
}

.uk-text-baseline {
  vertical-align: baseline !important;
}

/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap;
}

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0;
}

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word;
}

/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all;
}

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*=uk-column-] {
  -moz-column-gap: 30px;
       column-gap: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*=uk-column-] {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*=uk-column-] img {
  transform: translate3d(0, 0, 0);
}

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  -moz-column-rule: 1px solid #e5e5e5;
       column-rule: 1px solid #e5e5e5;
  /* 1 */
  -moz-column-gap: 60px;
       column-gap: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  -moz-column-count: 2;
       column-count: 2;
}

.uk-column-1-3 {
  -moz-column-count: 3;
       column-count: 3;
}

.uk-column-1-4 {
  -moz-column-count: 4;
       column-count: 4;
}

.uk-column-1-5 {
  -moz-column-count: 5;
       column-count: 5;
}

.uk-column-1-6 {
  -moz-column-count: 6;
       column-count: 6;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-column-1-2\@s {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@s {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@s {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@s {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@s {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-column-1-2\@m {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@m {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@m {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@m {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@m {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@l {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@l {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@l {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@l {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@xl {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@xl {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@xl {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@xl {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -moz-column-span: all;
       column-span: all;
}

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

iframe.uk-cover {
  pointer-events: none;
}

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative;
}

/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: #fff;
}

.uk-background-muted {
  background-color: #f8f8f8;
}

.uk-background-primary {
  background-color: #1e87f0;
}

.uk-background-secondary {
  background-color: #222;
}

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain,
.uk-background-width-1-1,
.uk-background-height-1-1 {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.uk-background-cover {
  background-size: cover;
}

.uk-background-contain {
  background-size: contain;
}

.uk-background-width-1-1 {
  background-size: 100%;
}

.uk-background-height-1-1 {
  background-size: auto 100%;
}

/* Position
 ========================================================================== */
.uk-background-top-left {
  background-position: 0 0;
}

.uk-background-top-center {
  background-position: 50% 0;
}

.uk-background-top-right {
  background-position: 100% 0;
}

.uk-background-center-left {
  background-position: 0 50%;
}

.uk-background-center-center {
  background-position: 50% 50%;
}

.uk-background-center-right {
  background-position: 100% 50%;
}

.uk-background-bottom-left {
  background-position: 0 100%;
}

.uk-background-bottom-center {
  background-position: 50% 100%;
}

.uk-background-bottom-right {
  background-position: 100% 100%;
}

/* Repeat
 ========================================================================== */
.uk-background-norepeat {
  background-repeat: no-repeat;
}

/* Attachment
 ========================================================================== */
/*
 * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
 */
.uk-background-fixed {
  background-attachment: fixed;
  /* 1 */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */
@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll;
  }
}
/* Image
 ========================================================================== */
/* Phone portrait and smaller */
@media (max-width: 319px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .uk-background-image\@m {
    background-image: none !important;
  }
}
/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important;
  }
}
/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important;
  }
}
/* Blend modes
 ========================================================================== */
.uk-background-blend-multiply {
  background-blend-mode: multiply;
}

.uk-background-blend-screen {
  background-blend-mode: screen;
}

.uk-background-blend-overlay {
  background-blend-mode: overlay;
}

.uk-background-blend-darken {
  background-blend-mode: darken;
}

.uk-background-blend-lighten {
  background-blend-mode: lighten;
}

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge;
}

.uk-background-blend-color-burn {
  background-blend-mode: color-burn;
}

.uk-background-blend-hard-light {
  background-blend-mode: hard-light;
}

.uk-background-blend-soft-light {
  background-blend-mode: soft-light;
}

.uk-background-blend-difference {
  background-blend-mode: difference;
}

.uk-background-blend-exclusion {
  background-blend-mode: exclusion;
}

.uk-background-blend-hue {
  background-blend-mode: hue;
}

.uk-background-blend-saturation {
  background-blend-mode: saturation;
}

.uk-background-blend-color {
  background-blend-mode: color;
}

.uk-background-blend-luminosity {
  background-blend-mode: luminosity;
}

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*=uk-align] {
  display: block;
  margin-bottom: 30px;
}

* + [class*=uk-align] {
  margin-top: 30px;
}

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto;
}

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left;
}

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }

  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }

  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left;
  }

  .uk-align-right\@l {
    margin-top: 0;
    float: right;
  }

  .uk-align-left,
.uk-align-left\@s,
.uk-align-left\@m,
.uk-align-left\@l {
    margin-right: 40px;
  }

  .uk-align-right,
.uk-align-right\@s,
.uk-align-right\@m,
.uk-align-right\@l {
    margin-left: 40px;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left;
  }

  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right;
  }
}
/* ========================================================================
   Component: SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*="#"]:not(.uk-preserve) {
  fill: currentcolor;
}

.uk-svg:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
  stroke: currentcolor;
}

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-svg {
  transform: translate(0, 0);
}

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  display: flow-root;
  position: relative;
  box-sizing: border-box;
}

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
  margin-bottom: 0;
}

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both;
}

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell;
}

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left;
}

.uk-float-right {
  float: right;
}

/* 1 */
[class*=uk-float-] {
  max-width: 100%;
}

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden;
}

/*
 * Enable scrollbars if content is clipped
 * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
 */
.uk-overflow-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.uk-overflow-auto > :last-child {
  margin-bottom: 0;
}

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both;
}

.uk-resize-vertical {
  resize: vertical;
}

/* Display
 ========================================================================== */
.uk-display-block {
  display: block !important;
}

.uk-display-inline {
  display: inline !important;
}

.uk-display-inline-block {
  display: inline-block !important;
}

/* Inline
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 * 5. Force hardware acceleration without creating a new stacking context
 *    to fix 1px glitch when combined with overlays and transitions in Webkit
 * 6. Clip child elements
 */
[class*=uk-inline] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden;
}

.uk-inline-clip {
  /* 6 */
  overflow: hidden;
}

/* Responsive objects
 ========================================================================== */
/*
 * Preserve original dimensions
 * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
 */
.uk-preserve-width,
.uk-preserve-width canvas,
.uk-preserve-width img,
.uk-preserve-width svg,
.uk-preserve-width video {
  max-width: none;
}

/*
 * Responsiveness
 * Corrects `max-width` and `max-height` behavior if padding and border are used
 */
.uk-responsive-width,
.uk-responsive-height {
  box-sizing: border-box;
}

/*
 * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
 * 2. Auto scale the height. Only needed if `height` attribute is present
 */
.uk-responsive-width {
  /* 1 */
  max-width: 100% !important;
  /* 2 */
  height: auto;
}

/*
 * 1. Set a maximum height. Only works if the parent element has a fixed height
 * 2. Auto scale the width. Only needed if `width` attribute is present
 * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
 */
.uk-responsive-height {
  /* 1 */
  max-height: 100%;
  /* 2 */
  width: auto;
  /* 3 */
  max-width: none;
}

/* Border
 ========================================================================== */
.uk-border-circle {
  border-radius: 50%;
}

.uk-border-pill {
  border-radius: 500px;
}

.uk-border-rounded {
  border-radius: 5px;
}

/*
 * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
 */
.uk-inline-clip[class*=uk-border-] {
  -webkit-transform: translateZ(0);
}

/* Box-shadow
 ========================================================================== */
.uk-box-shadow-small {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-medium {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-large {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-xlarge {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/*
 * Hover
 */
[class*=uk-box-shadow-hover] {
  transition: box-shadow 0.1s ease-in-out;
}

.uk-box-shadow-hover-small:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-medium:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-large:hover {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-hover-xlarge:hover {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
 *    Solved by using `before` and add position context to child elements.
 */
@supports (filter: blur(0)) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle;
  }

  .uk-box-shadow-bottom::before {
    content: "";
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    filter: blur(20px);
  }

  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative;
  }
}
/* Drop cap
 ========================================================================== */
/*
 * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
 * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
 * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
 *    This doubles the `font-size` exponential when using the `em` unit.
 */
.uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
  display: block;
  margin-right: 10px;
  float: left;
  font-size: 4.5em;
  line-height: 1;
  margin-bottom: -2px;
}

/* 2 */
@-moz-document url-prefix() {
  .uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
    margin-top: 1.1%;
  }
}
/* 3 */
@supports (-ms-ime-align: auto) {
  .uk-dropcap > p:first-of-type::first-letter {
    font-size: 1em;
  }
}
/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #666;
  /* 1 */
  text-decoration: none;
}

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #666;
  outline: none;
  /* 1 */
  text-decoration: none;
}

.uk-logo-inverse {
  display: none;
}

/* Disabled State
 ========================================================================== */
.uk-disabled {
  pointer-events: none;
}

/* Drag State
 ========================================================================== */
/*
 * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
 * 2. Fix dragging over iframes
 */
.uk-drag,
.uk-drag * {
  cursor: move;
}

/* 2 */
.uk-drag iframe {
  pointer-events: none;
}

/* Dragover State
 ========================================================================== */
/*
 * Create a box-shadow when dragging a file over the upload area
 */
.uk-dragover {
  box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
}

/* Blend modes
 ========================================================================== */
.uk-blend-multiply {
  mix-blend-mode: multiply;
}

.uk-blend-screen {
  mix-blend-mode: screen;
}

.uk-blend-overlay {
  mix-blend-mode: overlay;
}

.uk-blend-darken {
  mix-blend-mode: darken;
}

.uk-blend-lighten {
  mix-blend-mode: lighten;
}

.uk-blend-color-dodge {
  mix-blend-mode: color-dodge;
}

.uk-blend-color-burn {
  mix-blend-mode: color-burn;
}

.uk-blend-hard-light {
  mix-blend-mode: hard-light;
}

.uk-blend-soft-light {
  mix-blend-mode: soft-light;
}

.uk-blend-difference {
  mix-blend-mode: difference;
}

.uk-blend-exclusion {
  mix-blend-mode: exclusion;
}

.uk-blend-hue {
  mix-blend-mode: hue;
}

.uk-blend-saturation {
  mix-blend-mode: saturation;
}

.uk-blend-color {
  mix-blend-mode: color;
}

.uk-blend-luminosity {
  mix-blend-mode: luminosity;
}

/* Transform
========================================================================== */
.uk-transform-center {
  transform: translate(-50%, -50%);
}

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  transform-origin: 0 0;
}

.uk-transform-origin-top-center {
  transform-origin: 50% 0;
}

.uk-transform-origin-top-right {
  transform-origin: 100% 0;
}

.uk-transform-origin-center-left {
  transform-origin: 0 50%;
}

.uk-transform-origin-center-right {
  transform-origin: 100% 50%;
}

.uk-transform-origin-bottom-left {
  transform-origin: 0 100%;
}

.uk-transform-origin-bottom-center {
  transform-origin: 50% 100%;
}

.uk-transform-origin-bottom-right {
  transform-origin: 100% 100%;
}

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: flex;
}

.uk-flex-inline {
  display: inline-flex;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none;
}

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  justify-content: flex-start;
}

.uk-flex-center {
  justify-content: center;
}

.uk-flex-right {
  justify-content: flex-end;
}

.uk-flex-between {
  justify-content: space-between;
}

.uk-flex-around {
  justify-content: space-around;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-left\@s {
    justify-content: flex-start;
  }

  .uk-flex-center\@s {
    justify-content: center;
  }

  .uk-flex-right\@s {
    justify-content: flex-end;
  }

  .uk-flex-between\@s {
    justify-content: space-between;
  }

  .uk-flex-around\@s {
    justify-content: space-around;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-left\@m {
    justify-content: flex-start;
  }

  .uk-flex-center\@m {
    justify-content: center;
  }

  .uk-flex-right\@m {
    justify-content: flex-end;
  }

  .uk-flex-between\@m {
    justify-content: space-between;
  }

  .uk-flex-around\@m {
    justify-content: space-around;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    justify-content: flex-start;
  }

  .uk-flex-center\@l {
    justify-content: center;
  }

  .uk-flex-right\@l {
    justify-content: flex-end;
  }

  .uk-flex-between\@l {
    justify-content: space-between;
  }

  .uk-flex-around\@l {
    justify-content: space-around;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    justify-content: flex-start;
  }

  .uk-flex-center\@xl {
    justify-content: center;
  }

  .uk-flex-right\@xl {
    justify-content: flex-end;
  }

  .uk-flex-between\@xl {
    justify-content: space-between;
  }

  .uk-flex-around\@xl {
    justify-content: space-around;
  }
}
/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  align-items: stretch;
}

.uk-flex-top {
  align-items: flex-start;
}

.uk-flex-middle {
  align-items: center;
}

.uk-flex-bottom {
  align-items: flex-end;
}

/* Direction
 ========================================================================== */
.uk-flex-row {
  flex-direction: row;
}

.uk-flex-row-reverse {
  flex-direction: row-reverse;
}

.uk-flex-column {
  flex-direction: column;
}

.uk-flex-column-reverse {
  flex-direction: column-reverse;
}

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  flex-wrap: nowrap;
}

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

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

/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  align-content: stretch;
}

.uk-flex-wrap-top {
  align-content: flex-start;
}

.uk-flex-wrap-middle {
  align-content: center;
}

.uk-flex-wrap-bottom {
  align-content: flex-end;
}

.uk-flex-wrap-between {
  align-content: space-between;
}

.uk-flex-wrap-around {
  align-content: space-around;
}

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  order: -1;
}

.uk-flex-last {
  order: 99;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-first\@s {
    order: -1;
  }

  .uk-flex-last\@s {
    order: 99;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-first\@m {
    order: -1;
  }

  .uk-flex-last\@m {
    order: 99;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    order: -1;
  }

  .uk-flex-last\@l {
    order: 99;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    order: -1;
  }

  .uk-flex-last\@xl {
    order: 99;
  }
}
/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  flex: none;
}

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  flex: auto;
}

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  flex: 1;
}

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px;
}

* + .uk-margin {
  margin-top: 20px !important;
}

.uk-margin-top {
  margin-top: 20px !important;
}

.uk-margin-bottom {
  margin-bottom: 20px !important;
}

.uk-margin-left {
  margin-left: 20px !important;
}

.uk-margin-right {
  margin-right: 20px !important;
}

/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px;
}

* + .uk-margin-small {
  margin-top: 10px !important;
}

.uk-margin-small-top {
  margin-top: 10px !important;
}

.uk-margin-small-bottom {
  margin-bottom: 10px !important;
}

.uk-margin-small-left {
  margin-left: 10px !important;
}

.uk-margin-small-right {
  margin-right: 10px !important;
}

/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px;
}

* + .uk-margin-medium {
  margin-top: 40px !important;
}

.uk-margin-medium-top {
  margin-top: 40px !important;
}

.uk-margin-medium-bottom {
  margin-bottom: 40px !important;
}

.uk-margin-medium-left {
  margin-left: 40px !important;
}

.uk-margin-medium-right {
  margin-right: 40px !important;
}

/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px;
}

* + .uk-margin-large {
  margin-top: 40px !important;
}

.uk-margin-large-top {
  margin-top: 40px !important;
}

.uk-margin-large-bottom {
  margin-bottom: 40px !important;
}

.uk-margin-large-left {
  margin-left: 40px !important;
}

.uk-margin-large-right {
  margin-right: 40px !important;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-large {
    margin-bottom: 70px;
  }

  * + .uk-margin-large {
    margin-top: 70px !important;
  }

  .uk-margin-large-top {
    margin-top: 70px !important;
  }

  .uk-margin-large-bottom {
    margin-bottom: 70px !important;
  }

  .uk-margin-large-left {
    margin-left: 70px !important;
  }

  .uk-margin-large-right {
    margin-right: 70px !important;
  }
}
/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px;
}

* + .uk-margin-xlarge {
  margin-top: 70px !important;
}

.uk-margin-xlarge-top {
  margin-top: 70px !important;
}

.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important;
}

.uk-margin-xlarge-left {
  margin-left: 70px !important;
}

.uk-margin-xlarge-right {
  margin-right: 70px !important;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-xlarge {
    margin-bottom: 140px;
  }

  * + .uk-margin-xlarge {
    margin-top: 140px !important;
  }

  .uk-margin-xlarge-top {
    margin-top: 140px !important;
  }

  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important;
  }

  .uk-margin-xlarge-left {
    margin-left: 140px !important;
  }

  .uk-margin-xlarge-right {
    margin-right: 140px !important;
  }
}
/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.uk-margin-auto-top {
  margin-top: auto !important;
}

.uk-margin-auto-bottom {
  margin-bottom: auto !important;
}

.uk-margin-auto-left {
  margin-left: auto !important;
}

.uk-margin-auto-right {
  margin-right: auto !important;
}

.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-margin-auto\@s {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .uk-margin-auto-left\@s {
    margin-left: auto !important;
  }

  .uk-margin-auto-right\@s {
    margin-right: auto !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-margin-auto\@m {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .uk-margin-auto-left\@m {
    margin-left: auto !important;
  }

  .uk-margin-auto-right\@m {
    margin-right: auto !important;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-auto\@l {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .uk-margin-auto-left\@l {
    margin-left: auto !important;
  }

  .uk-margin-auto-right\@l {
    margin-right: auto !important;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-auto\@xl {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .uk-margin-auto-left\@xl {
    margin-left: auto !important;
  }

  .uk-margin-auto-right\@xl {
    margin-right: auto !important;
  }
}
/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important;
}

.uk-margin-remove-top {
  margin-top: 0 !important;
}

.uk-margin-remove-bottom {
  margin-bottom: 0 !important;
}

.uk-margin-remove-left {
  margin-left: 0 !important;
}

.uk-margin-remove-right {
  margin-right: 0 !important;
}

.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
  margin-top: 0 !important;
}

.uk-margin-remove-last-child > :last-child {
  margin-bottom: 0 !important;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-margin-remove-left\@s {
    margin-left: 0 !important;
  }

  .uk-margin-remove-right\@s {
    margin-right: 0 !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important;
  }

  .uk-margin-remove-right\@m {
    margin-right: 0 !important;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-remove-left\@l {
    margin-left: 0 !important;
  }

  .uk-margin-remove-right\@l {
    margin-right: 0 !important;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important;
  }

  .uk-margin-remove-right\@xl {
    margin-right: 0 !important;
  }
}
/* ========================================================================
   Component: Padding
 ========================================================================== */
.uk-padding {
  padding: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding {
    padding: 40px;
  }
}
/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px;
}

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding-large {
    padding: 70px;
  }
}
/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important;
}

.uk-padding-remove-top {
  padding-top: 0 !important;
}

.uk-padding-remove-bottom {
  padding-bottom: 0 !important;
}

.uk-padding-remove-left {
  padding-left: 0 !important;
}

.uk-padding-remove-right {
  padding-right: 0 !important;
}

.uk-padding-remove-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[class*=uk-position-top],
[class*=uk-position-bottom],
[class*=uk-position-left],
[class*=uk-position-right],
[class*=uk-position-center] {
  position: absolute !important;
  /* 1 */
  max-width: 100%;
}

/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0;
}

.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0;
}

.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0;
}

.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0;
}

/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0;
}

.uk-position-top-right {
  top: 0;
  right: 0;
}

.uk-position-bottom-left {
  bottom: 0;
  left: 0;
}

.uk-position-bottom-right {
  bottom: 0;
  right: 0;
}

/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

/* Vertical */
[class*=uk-position-center-left],
[class*=uk-position-center-right] {
  top: 50%;
  transform: translateY(-50%);
}

.uk-position-center-left {
  left: 0;
}

.uk-position-center-right {
  right: 0;
}

.uk-position-center-left-out {
  right: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.uk-position-center-right-out {
  left: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  transform: translateX(-50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

.uk-position-top-center {
  top: 0;
}

.uk-position-bottom-center {
  bottom: 0;
}

/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important;
}

.uk-position-absolute {
  position: absolute !important;
}

.uk-position-fixed {
  position: fixed !important;
}

.uk-position-z-index {
  z-index: 1;
}

/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px;
}

.uk-position-small.uk-position-center {
  transform: translate(-50%, -50%) translate(-15px, -15px);
}

.uk-position-small[class*=uk-position-center-left],
.uk-position-small[class*=uk-position-center-right] {
  transform: translateY(-50%) translateY(-15px);
}

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-15px);
}

/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}

.uk-position-medium.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.uk-position-medium[class*=uk-position-center-left],
.uk-position-medium[class*=uk-position-center-right] {
  transform: translateY(-50%) translateY(-30px);
}

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}

.uk-position-large.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.uk-position-large[class*=uk-position-center-left],
.uk-position-large[class*=uk-position-center-right] {
  transform: translateY(-50%) translateY(-30px);
}

.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px;
  }

  .uk-position-large.uk-position-center {
    transform: translate(-50%, -50%) translate(-50px, -50px);
  }

  .uk-position-large[class*=uk-position-center-left],
.uk-position-large[class*=uk-position-center-right] {
    transform: translateY(-50%) translateY(-50px);
  }

  .uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-50px);
  }
}
/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none;
}

/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade,
[class*=uk-transition-scale],
[class*=uk-transition-slide] {
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter;
  opacity: 0;
}

/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1;
}

/*
 * Scale
 */
.uk-transition-scale-up {
  transform: scale(1, 1);
}

.uk-transition-scale-down {
  transform: scale(1.03, 1.03);
}

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  transform: scale(1.03, 1.03);
}

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  transform: scale(1, 1);
}

/*
 * Slide
 */
.uk-transition-slide-top {
  transform: translateY(-100%);
}

.uk-transition-slide-bottom {
  transform: translateY(100%);
}

.uk-transition-slide-left {
  transform: translateX(-100%);
}

.uk-transition-slide-right {
  transform: translateX(100%);
}

.uk-transition-slide-top-small {
  transform: translateY(-10px);
}

.uk-transition-slide-bottom-small {
  transform: translateY(10px);
}

.uk-transition-slide-left-small {
  transform: translateX(-10px);
}

.uk-transition-slide-right-small {
  transform: translateX(10px);
}

.uk-transition-slide-top-medium {
  transform: translateY(-50px);
}

.uk-transition-slide-bottom-medium {
  transform: translateY(50px);
}

.uk-transition-slide-left-medium {
  transform: translateX(-50px);
}

.uk-transition-slide-right-medium {
  transform: translateX(50px);
}

/* Show */
.uk-transition-toggle:hover [class*=uk-transition-slide],
.uk-transition-toggle:focus [class*=uk-transition-slide],
.uk-transition-active.uk-active [class*=uk-transition-slide] {
  opacity: 1;
  transform: translate(0, 0);
}

/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1;
}

/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  transition-duration: 0.7s;
}

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
  display: none !important;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-hidden\@s {
    display: none !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-hidden\@m {
    display: none !important;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-hidden\@l {
    display: none !important;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-hidden\@xl {
    display: none !important;
  }
}
/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 319px) {
  .uk-visible\@s {
    display: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .uk-visible\@m {
    display: none !important;
  }
}
/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-visible\@l {
    display: none !important;
  }
}
/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-visible\@xl {
    display: none !important;
  }
}
/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important;
}

/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * Hidden
 * 1. The toggle is triggered on touch devices using `:focus` and tabindex
 * 2. The target stays visible if any element within receives focus through keyboard
 *    Doesn't work in Edge, yet.
 * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 *
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 3 */
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/*
 * Invisible
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  /* 3 */
  opacity: 0 !important;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-visible-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-visible-toggle:focus {
  outline: none;
}

/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important;
  }
}
/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important;
}

@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !important;
  }
}
/* ========================================================================
   Component: Inverse
 ========================================================================== */
/*
 * Implemented class depends on the general theme color
 * `uk-light` is for light colors on dark backgrounds
 * `uk-dark` is or dark colors on light backgrounds
 */
.uk-light, .uk-section-primary:not(.uk-preserve-color), .uk-section-secondary:not(.uk-preserve-color), .uk-tile-primary:not(.uk-preserve-color), .uk-tile-secondary:not(.uk-preserve-color), .uk-card-primary.uk-card-body, .uk-card-primary > :not([class*=uk-card-media]), .uk-card-secondary.uk-card-body, .uk-card-secondary > :not([class*=uk-card-media]), .uk-overlay-primary, .uk-offcanvas-bar {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light a, .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*=uk-card-media]) a, .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*=uk-card-media]) a, .uk-overlay-primary a, .uk-offcanvas-bar a,
.uk-light .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link,
.uk-card-primary.uk-card-body .uk-link,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link,
.uk-card-secondary.uk-card-body .uk-link,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link,
.uk-overlay-primary .uk-link,
.uk-offcanvas-bar .uk-link {
  color: #fff;
}
.uk-light a:hover, .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) a:hover, .uk-card-primary.uk-card-body a:hover, .uk-card-primary > :not([class*=uk-card-media]) a:hover, .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary > :not([class*=uk-card-media]) a:hover, .uk-overlay-primary a:hover, .uk-offcanvas-bar a:hover,
.uk-light .uk-link:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,
.uk-card-primary.uk-card-body .uk-link:hover,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link:hover,
.uk-card-secondary.uk-card-body .uk-link:hover,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link:hover,
.uk-overlay-primary .uk-link:hover,
.uk-offcanvas-bar .uk-link:hover,
.uk-light .uk-link-toggle:hover .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link,
.uk-overlay-primary .uk-link-toggle:hover .uk-link,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link,
.uk-light .uk-link-toggle:focus .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link,
.uk-overlay-primary .uk-link-toggle:focus .uk-link,
.uk-offcanvas-bar .uk-link-toggle:focus .uk-link {
  color: #fff;
}
.uk-light :not(pre) > code, .uk-section-primary:not(.uk-preserve-color) :not(pre) > code, .uk-section-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-primary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-card-primary.uk-card-body :not(pre) > code, .uk-card-primary > :not([class*=uk-card-media]) :not(pre) > code, .uk-card-secondary.uk-card-body :not(pre) > code, .uk-card-secondary > :not([class*=uk-card-media]) :not(pre) > code, .uk-overlay-primary :not(pre) > code, .uk-offcanvas-bar :not(pre) > code,
.uk-light :not(pre) > kbd,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-card-primary.uk-card-body :not(pre) > kbd,
.uk-card-primary > :not([class*=uk-card-media]) :not(pre) > kbd,
.uk-card-secondary.uk-card-body :not(pre) > kbd,
.uk-card-secondary > :not([class*=uk-card-media]) :not(pre) > kbd,
.uk-overlay-primary :not(pre) > kbd,
.uk-offcanvas-bar :not(pre) > kbd,
.uk-light :not(pre) > samp,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > samp,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > samp,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > samp,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > samp,
.uk-card-primary.uk-card-body :not(pre) > samp,
.uk-card-primary > :not([class*=uk-card-media]) :not(pre) > samp,
.uk-card-secondary.uk-card-body :not(pre) > samp,
.uk-card-secondary > :not([class*=uk-card-media]) :not(pre) > samp,
.uk-overlay-primary :not(pre) > samp,
.uk-offcanvas-bar :not(pre) > samp {
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
}
.uk-light em, .uk-section-primary:not(.uk-preserve-color) em, .uk-section-secondary:not(.uk-preserve-color) em, .uk-tile-primary:not(.uk-preserve-color) em, .uk-tile-secondary:not(.uk-preserve-color) em, .uk-card-primary.uk-card-body em, .uk-card-primary > :not([class*=uk-card-media]) em, .uk-card-secondary.uk-card-body em, .uk-card-secondary > :not([class*=uk-card-media]) em, .uk-overlay-primary em, .uk-offcanvas-bar em {
  color: #fff;
}
.uk-light h1, .uk-section-primary:not(.uk-preserve-color) h1, .uk-section-secondary:not(.uk-preserve-color) h1, .uk-tile-primary:not(.uk-preserve-color) h1, .uk-tile-secondary:not(.uk-preserve-color) h1, .uk-card-primary.uk-card-body h1, .uk-card-primary > :not([class*=uk-card-media]) h1, .uk-card-secondary.uk-card-body h1, .uk-card-secondary > :not([class*=uk-card-media]) h1, .uk-overlay-primary h1, .uk-offcanvas-bar h1, .uk-light .uk-h1, .uk-section-primary:not(.uk-preserve-color) .uk-h1, .uk-section-secondary:not(.uk-preserve-color) .uk-h1, .uk-tile-primary:not(.uk-preserve-color) .uk-h1, .uk-tile-secondary:not(.uk-preserve-color) .uk-h1, .uk-card-primary.uk-card-body .uk-h1, .uk-card-primary > :not([class*=uk-card-media]) .uk-h1, .uk-card-secondary.uk-card-body .uk-h1, .uk-card-secondary > :not([class*=uk-card-media]) .uk-h1, .uk-overlay-primary .uk-h1, .uk-offcanvas-bar .uk-h1,
.uk-light h2,
.uk-section-primary:not(.uk-preserve-color) h2,
.uk-section-secondary:not(.uk-preserve-color) h2,
.uk-tile-primary:not(.uk-preserve-color) h2,
.uk-tile-secondary:not(.uk-preserve-color) h2,
.uk-card-primary.uk-card-body h2,
.uk-card-primary > :not([class*=uk-card-media]) h2,
.uk-card-secondary.uk-card-body h2,
.uk-card-secondary > :not([class*=uk-card-media]) h2,
.uk-overlay-primary h2,
.uk-offcanvas-bar h2, .uk-light .uk-h2, .uk-section-primary:not(.uk-preserve-color) .uk-h2, .uk-section-secondary:not(.uk-preserve-color) .uk-h2, .uk-tile-primary:not(.uk-preserve-color) .uk-h2, .uk-tile-secondary:not(.uk-preserve-color) .uk-h2, .uk-card-primary.uk-card-body .uk-h2, .uk-card-primary > :not([class*=uk-card-media]) .uk-h2, .uk-card-secondary.uk-card-body .uk-h2, .uk-card-secondary > :not([class*=uk-card-media]) .uk-h2, .uk-overlay-primary .uk-h2, .uk-offcanvas-bar .uk-h2,
.uk-light h3,
.uk-section-primary:not(.uk-preserve-color) h3,
.uk-section-secondary:not(.uk-preserve-color) h3,
.uk-tile-primary:not(.uk-preserve-color) h3,
.uk-tile-secondary:not(.uk-preserve-color) h3,
.uk-card-primary.uk-card-body h3,
.uk-card-primary > :not([class*=uk-card-media]) h3,
.uk-card-secondary.uk-card-body h3,
.uk-card-secondary > :not([class*=uk-card-media]) h3,
.uk-overlay-primary h3,
.uk-offcanvas-bar h3, .uk-light .uk-h3, .uk-section-primary:not(.uk-preserve-color) .uk-h3, .uk-section-secondary:not(.uk-preserve-color) .uk-h3, .uk-tile-primary:not(.uk-preserve-color) .uk-h3, .uk-tile-secondary:not(.uk-preserve-color) .uk-h3, .uk-card-primary.uk-card-body .uk-h3, .uk-card-primary > :not([class*=uk-card-media]) .uk-h3, .uk-card-secondary.uk-card-body .uk-h3, .uk-card-secondary > :not([class*=uk-card-media]) .uk-h3, .uk-overlay-primary .uk-h3, .uk-offcanvas-bar .uk-h3,
.uk-light h4,
.uk-section-primary:not(.uk-preserve-color) h4,
.uk-section-secondary:not(.uk-preserve-color) h4,
.uk-tile-primary:not(.uk-preserve-color) h4,
.uk-tile-secondary:not(.uk-preserve-color) h4,
.uk-card-primary.uk-card-body h4,
.uk-card-primary > :not([class*=uk-card-media]) h4,
.uk-card-secondary.uk-card-body h4,
.uk-card-secondary > :not([class*=uk-card-media]) h4,
.uk-overlay-primary h4,
.uk-offcanvas-bar h4, .uk-light .uk-h4, .uk-section-primary:not(.uk-preserve-color) .uk-h4, .uk-section-secondary:not(.uk-preserve-color) .uk-h4, .uk-tile-primary:not(.uk-preserve-color) .uk-h4, .uk-tile-secondary:not(.uk-preserve-color) .uk-h4, .uk-card-primary.uk-card-body .uk-h4, .uk-card-primary > :not([class*=uk-card-media]) .uk-h4, .uk-card-secondary.uk-card-body .uk-h4, .uk-card-secondary > :not([class*=uk-card-media]) .uk-h4, .uk-overlay-primary .uk-h4, .uk-offcanvas-bar .uk-h4,
.uk-light h5,
.uk-section-primary:not(.uk-preserve-color) h5,
.uk-section-secondary:not(.uk-preserve-color) h5,
.uk-tile-primary:not(.uk-preserve-color) h5,
.uk-tile-secondary:not(.uk-preserve-color) h5,
.uk-card-primary.uk-card-body h5,
.uk-card-primary > :not([class*=uk-card-media]) h5,
.uk-card-secondary.uk-card-body h5,
.uk-card-secondary > :not([class*=uk-card-media]) h5,
.uk-overlay-primary h5,
.uk-offcanvas-bar h5, .uk-light .uk-h5, .uk-section-primary:not(.uk-preserve-color) .uk-h5, .uk-section-secondary:not(.uk-preserve-color) .uk-h5, .uk-tile-primary:not(.uk-preserve-color) .uk-h5, .uk-tile-secondary:not(.uk-preserve-color) .uk-h5, .uk-card-primary.uk-card-body .uk-h5, .uk-card-primary > :not([class*=uk-card-media]) .uk-h5, .uk-card-secondary.uk-card-body .uk-h5, .uk-card-secondary > :not([class*=uk-card-media]) .uk-h5, .uk-overlay-primary .uk-h5, .uk-offcanvas-bar .uk-h5,
.uk-light h6,
.uk-section-primary:not(.uk-preserve-color) h6,
.uk-section-secondary:not(.uk-preserve-color) h6,
.uk-tile-primary:not(.uk-preserve-color) h6,
.uk-tile-secondary:not(.uk-preserve-color) h6,
.uk-card-primary.uk-card-body h6,
.uk-card-primary > :not([class*=uk-card-media]) h6,
.uk-card-secondary.uk-card-body h6,
.uk-card-secondary > :not([class*=uk-card-media]) h6,
.uk-overlay-primary h6,
.uk-offcanvas-bar h6, .uk-light .uk-h6, .uk-section-primary:not(.uk-preserve-color) .uk-h6, .uk-section-secondary:not(.uk-preserve-color) .uk-h6, .uk-tile-primary:not(.uk-preserve-color) .uk-h6, .uk-tile-secondary:not(.uk-preserve-color) .uk-h6, .uk-card-primary.uk-card-body .uk-h6, .uk-card-primary > :not([class*=uk-card-media]) .uk-h6, .uk-card-secondary.uk-card-body .uk-h6, .uk-card-secondary > :not([class*=uk-card-media]) .uk-h6, .uk-overlay-primary .uk-h6, .uk-offcanvas-bar .uk-h6,
.uk-light .uk-heading-small,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-small,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-small,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-small,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-small,
.uk-card-primary.uk-card-body .uk-heading-small,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-small,
.uk-card-secondary.uk-card-body .uk-heading-small,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-small,
.uk-overlay-primary .uk-heading-small,
.uk-offcanvas-bar .uk-heading-small,
.uk-light .uk-heading-medium,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-medium,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-medium,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-medium,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-medium,
.uk-card-primary.uk-card-body .uk-heading-medium,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-medium,
.uk-card-secondary.uk-card-body .uk-heading-medium,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-medium,
.uk-overlay-primary .uk-heading-medium,
.uk-offcanvas-bar .uk-heading-medium,
.uk-light .uk-heading-large,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-large,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-large,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-large,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-large,
.uk-card-primary.uk-card-body .uk-heading-large,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-large,
.uk-card-secondary.uk-card-body .uk-heading-large,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-large,
.uk-overlay-primary .uk-heading-large,
.uk-offcanvas-bar .uk-heading-large,
.uk-light .uk-heading-xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-card-primary.uk-card-body .uk-heading-xlarge,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-xlarge,
.uk-card-secondary.uk-card-body .uk-heading-xlarge,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-xlarge,
.uk-overlay-primary .uk-heading-xlarge,
.uk-offcanvas-bar .uk-heading-xlarge,
.uk-light .uk-heading-2xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-card-primary.uk-card-body .uk-heading-2xlarge,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-2xlarge,
.uk-card-secondary.uk-card-body .uk-heading-2xlarge,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-2xlarge,
.uk-overlay-primary .uk-heading-2xlarge,
.uk-offcanvas-bar .uk-heading-2xlarge {
  color: #fff;
}
.uk-light blockquote, .uk-section-primary:not(.uk-preserve-color) blockquote, .uk-section-secondary:not(.uk-preserve-color) blockquote, .uk-tile-primary:not(.uk-preserve-color) blockquote, .uk-tile-secondary:not(.uk-preserve-color) blockquote, .uk-card-primary.uk-card-body blockquote, .uk-card-primary > :not([class*=uk-card-media]) blockquote, .uk-card-secondary.uk-card-body blockquote, .uk-card-secondary > :not([class*=uk-card-media]) blockquote, .uk-overlay-primary blockquote, .uk-offcanvas-bar blockquote {
  color: #fff;
}
.uk-light blockquote footer, .uk-section-primary:not(.uk-preserve-color) blockquote footer, .uk-section-secondary:not(.uk-preserve-color) blockquote footer, .uk-tile-primary:not(.uk-preserve-color) blockquote footer, .uk-tile-secondary:not(.uk-preserve-color) blockquote footer, .uk-card-primary.uk-card-body blockquote footer, .uk-card-primary > :not([class*=uk-card-media]) blockquote footer, .uk-card-secondary.uk-card-body blockquote footer, .uk-card-secondary > :not([class*=uk-card-media]) blockquote footer, .uk-overlay-primary blockquote footer, .uk-offcanvas-bar blockquote footer {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light hr, .uk-section-primary:not(.uk-preserve-color) hr, .uk-section-secondary:not(.uk-preserve-color) hr, .uk-tile-primary:not(.uk-preserve-color) hr, .uk-tile-secondary:not(.uk-preserve-color) hr, .uk-card-primary.uk-card-body hr, .uk-card-primary > :not([class*=uk-card-media]) hr, .uk-card-secondary.uk-card-body hr, .uk-card-secondary > :not([class*=uk-card-media]) hr, .uk-overlay-primary hr, .uk-offcanvas-bar hr, .uk-light .uk-hr, .uk-section-primary:not(.uk-preserve-color) .uk-hr, .uk-section-secondary:not(.uk-preserve-color) .uk-hr, .uk-tile-primary:not(.uk-preserve-color) .uk-hr, .uk-tile-secondary:not(.uk-preserve-color) .uk-hr, .uk-card-primary.uk-card-body .uk-hr, .uk-card-primary > :not([class*=uk-card-media]) .uk-hr, .uk-card-secondary.uk-card-body .uk-hr, .uk-card-secondary > :not([class*=uk-card-media]) .uk-hr, .uk-overlay-primary .uk-hr, .uk-offcanvas-bar .uk-hr {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light a.uk-link-muted, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-card-primary.uk-card-body a.uk-link-muted, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-muted, .uk-card-secondary.uk-card-body a.uk-link-muted, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-muted, .uk-overlay-primary a.uk-link-muted, .uk-offcanvas-bar a.uk-link-muted,
.uk-light .uk-link-muted a,
.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,
.uk-card-primary.uk-card-body .uk-link-muted a,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-muted a,
.uk-card-secondary.uk-card-body .uk-link-muted a,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-muted a,
.uk-overlay-primary .uk-link-muted a,
.uk-offcanvas-bar .uk-link-muted a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light a.uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-card-primary.uk-card-body a.uk-link-muted:hover, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-muted:hover, .uk-card-secondary.uk-card-body a.uk-link-muted:hover, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-muted:hover, .uk-overlay-primary a.uk-link-muted:hover, .uk-offcanvas-bar a.uk-link-muted:hover,
.uk-light .uk-link-muted a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-card-primary.uk-card-body .uk-link-muted a:hover,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-muted a:hover,
.uk-card-secondary.uk-card-body .uk-link-muted a:hover,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-muted a:hover,
.uk-overlay-primary .uk-link-muted a:hover,
.uk-offcanvas-bar .uk-link-muted a:hover,
.uk-light .uk-link-toggle:hover .uk-link-muted,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-muted,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-muted,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-muted,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-muted,
.uk-light .uk-link-toggle:focus .uk-link-muted,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-muted,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-muted,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-muted,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-muted,
.uk-overlay-primary .uk-link-toggle:focus .uk-link-muted,
.uk-offcanvas-bar .uk-link-toggle:focus .uk-link-muted {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light a.uk-link-text:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-card-primary.uk-card-body a.uk-link-text:hover, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-text:hover, .uk-card-secondary.uk-card-body a.uk-link-text:hover, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-text:hover, .uk-overlay-primary a.uk-link-text:hover, .uk-offcanvas-bar a.uk-link-text:hover,
.uk-light .uk-link-text a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-card-primary.uk-card-body .uk-link-text a:hover,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-text a:hover,
.uk-card-secondary.uk-card-body .uk-link-text a:hover,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-text a:hover,
.uk-overlay-primary .uk-link-text a:hover,
.uk-offcanvas-bar .uk-link-text a:hover,
.uk-light .uk-link-toggle:hover .uk-link-text,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-text,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-text,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-text,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-text,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-text,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-text,
.uk-light .uk-link-toggle:focus .uk-link-text,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-text,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-text,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-text,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-text,
.uk-overlay-primary .uk-link-toggle:focus .uk-link-text,
.uk-offcanvas-bar .uk-link-toggle:focus .uk-link-text {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light a.uk-link-heading:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-card-primary.uk-card-body a.uk-link-heading:hover, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-heading:hover, .uk-card-secondary.uk-card-body a.uk-link-heading:hover, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-heading:hover, .uk-overlay-primary a.uk-link-heading:hover, .uk-offcanvas-bar a.uk-link-heading:hover,
.uk-light .uk-link-heading a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-card-primary.uk-card-body .uk-link-heading a:hover,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-heading a:hover,
.uk-card-secondary.uk-card-body .uk-link-heading a:hover,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-heading a:hover,
.uk-overlay-primary .uk-link-heading a:hover,
.uk-offcanvas-bar .uk-link-heading a:hover,
.uk-light .uk-link-toggle:hover .uk-link-heading,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-heading,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-heading,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-heading,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-heading,
.uk-light .uk-link-toggle:focus .uk-link-heading,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-heading,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-heading,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-heading,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-heading,
.uk-overlay-primary .uk-link-toggle:focus .uk-link-heading,
.uk-offcanvas-bar .uk-link-toggle:focus .uk-link-heading {
  color: #fff;
}
.uk-light .uk-heading-divider, .uk-section-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-card-primary.uk-card-body .uk-heading-divider, .uk-card-primary > :not([class*=uk-card-media]) .uk-heading-divider, .uk-card-secondary.uk-card-body .uk-heading-divider, .uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-divider, .uk-overlay-primary .uk-heading-divider, .uk-offcanvas-bar .uk-heading-divider {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-heading-bullet::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-card-primary.uk-card-body .uk-heading-bullet::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-heading-bullet::before, .uk-card-secondary.uk-card-body .uk-heading-bullet::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-bullet::before, .uk-overlay-primary .uk-heading-bullet::before, .uk-offcanvas-bar .uk-heading-bullet::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-heading-line > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-card-primary.uk-card-body .uk-heading-line > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-heading-line > ::before, .uk-card-secondary.uk-card-body .uk-heading-line > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-line > ::before, .uk-overlay-primary .uk-heading-line > ::before, .uk-offcanvas-bar .uk-heading-line > ::before,
.uk-light .uk-heading-line > ::after,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-card-primary.uk-card-body .uk-heading-line > ::after,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-line > ::after,
.uk-card-secondary.uk-card-body .uk-heading-line > ::after,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-line > ::after,
.uk-overlay-primary .uk-heading-line > ::after,
.uk-offcanvas-bar .uk-heading-line > ::after {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-divider-icon, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-card-primary.uk-card-body .uk-divider-icon, .uk-card-primary > :not([class*=uk-card-media]) .uk-divider-icon, .uk-card-secondary.uk-card-body .uk-divider-icon, .uk-card-secondary > :not([class*=uk-card-media]) .uk-divider-icon, .uk-overlay-primary .uk-divider-icon, .uk-offcanvas-bar .uk-divider-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.2)%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-divider-icon::before, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-card-primary.uk-card-body .uk-divider-icon::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-divider-icon::before, .uk-card-secondary.uk-card-body .uk-divider-icon::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-divider-icon::before, .uk-overlay-primary .uk-divider-icon::before, .uk-offcanvas-bar .uk-divider-icon::before,
.uk-light .uk-divider-icon::after,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-card-primary.uk-card-body .uk-divider-icon::after,
.uk-card-primary > :not([class*=uk-card-media]) .uk-divider-icon::after,
.uk-card-secondary.uk-card-body .uk-divider-icon::after,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-divider-icon::after,
.uk-overlay-primary .uk-divider-icon::after,
.uk-offcanvas-bar .uk-divider-icon::after {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-divider-small::after, .uk-section-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-card-primary.uk-card-body .uk-divider-small::after, .uk-card-primary > :not([class*=uk-card-media]) .uk-divider-small::after, .uk-card-secondary.uk-card-body .uk-divider-small::after, .uk-card-secondary > :not([class*=uk-card-media]) .uk-divider-small::after, .uk-overlay-primary .uk-divider-small::after, .uk-offcanvas-bar .uk-divider-small::after {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-divider-vertical, .uk-section-primary:not(.uk-preserve-color) .uk-divider-vertical, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-vertical, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-vertical, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-vertical, .uk-card-primary.uk-card-body .uk-divider-vertical, .uk-card-primary > :not([class*=uk-card-media]) .uk-divider-vertical, .uk-card-secondary.uk-card-body .uk-divider-vertical, .uk-card-secondary > :not([class*=uk-card-media]) .uk-divider-vertical, .uk-overlay-primary .uk-divider-vertical, .uk-offcanvas-bar .uk-divider-vertical {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-muted > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-muted > ::before, .uk-card-primary.uk-card-body .uk-list-muted > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-muted > ::before, .uk-card-secondary.uk-card-body .uk-list-muted > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-muted > ::before, .uk-overlay-primary .uk-list-muted > ::before, .uk-offcanvas-bar .uk-list-muted > ::before {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-list-emphasis > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::before, .uk-card-primary.uk-card-body .uk-list-emphasis > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-emphasis > ::before, .uk-card-secondary.uk-card-body .uk-list-emphasis > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-emphasis > ::before, .uk-overlay-primary .uk-list-emphasis > ::before, .uk-offcanvas-bar .uk-list-emphasis > ::before {
  color: #fff !important;
}
.uk-light .uk-list-primary > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-primary > ::before, .uk-card-primary.uk-card-body .uk-list-primary > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-primary > ::before, .uk-card-secondary.uk-card-body .uk-list-primary > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-primary > ::before, .uk-overlay-primary .uk-list-primary > ::before, .uk-offcanvas-bar .uk-list-primary > ::before {
  color: #fff !important;
}
.uk-light .uk-list-secondary > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-secondary > ::before, .uk-card-primary.uk-card-body .uk-list-secondary > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-secondary > ::before, .uk-card-secondary.uk-card-body .uk-list-secondary > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-secondary > ::before, .uk-overlay-primary .uk-list-secondary > ::before, .uk-offcanvas-bar .uk-list-secondary > ::before {
  color: #fff !important;
}
.uk-light .uk-list-bullet > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-card-primary.uk-card-body .uk-list-bullet > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-bullet > ::before, .uk-card-secondary.uk-card-body .uk-list-bullet > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-bullet > ::before, .uk-overlay-primary .uk-list-bullet > ::before, .uk-offcanvas-bar .uk-list-bullet > ::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-list-divider > :nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > :nth-child(n+2), .uk-card-primary > :not([class*=uk-card-media]) .uk-list-divider > :nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > :nth-child(n+2), .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-divider > :nth-child(n+2), .uk-overlay-primary .uk-list-divider > :nth-child(n+2), .uk-offcanvas-bar .uk-list-divider > :nth-child(n+2) {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-striped > *:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > *:nth-of-type(odd), .uk-card-primary > :not([class*=uk-card-media]) .uk-list-striped > *:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > *:nth-of-type(odd), .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-striped > *:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > *:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > *:nth-of-type(odd) {
  border-top-color: rgba(255, 255, 255, 0.2);
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-striped > :nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > :nth-of-type(odd), .uk-card-primary > :not([class*=uk-card-media]) .uk-list-striped > :nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > :nth-of-type(odd), .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-striped > :nth-of-type(odd), .uk-overlay-primary .uk-list-striped > :nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > :nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}
.uk-light .uk-icon-link, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-card-primary.uk-card-body .uk-icon-link, .uk-card-primary > :not([class*=uk-card-media]) .uk-icon-link, .uk-card-secondary.uk-card-body .uk-icon-link, .uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-link, .uk-overlay-primary .uk-icon-link, .uk-offcanvas-bar .uk-icon-link {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-icon-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-card-primary.uk-card-body .uk-icon-link:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-icon-link:hover, .uk-card-secondary.uk-card-body .uk-icon-link:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-link:hover, .uk-overlay-primary .uk-icon-link:hover, .uk-offcanvas-bar .uk-icon-link:hover,
.uk-light .uk-icon-link:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-card-primary.uk-card-body .uk-icon-link:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-icon-link:focus,
.uk-card-secondary.uk-card-body .uk-icon-link:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-link:focus,
.uk-overlay-primary .uk-icon-link:focus,
.uk-offcanvas-bar .uk-icon-link:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-icon-link:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-card-primary.uk-card-body .uk-icon-link:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-icon-link:active, .uk-card-secondary.uk-card-body .uk-icon-link:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-link:active, .uk-overlay-primary .uk-icon-link:active, .uk-offcanvas-bar .uk-icon-link:active,
.uk-light .uk-active > .uk-icon-link,
.uk-section-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-card-primary.uk-card-body .uk-active > .uk-icon-link,
.uk-card-primary > :not([class*=uk-card-media]) .uk-active > .uk-icon-link,
.uk-card-secondary.uk-card-body .uk-active > .uk-icon-link,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-active > .uk-icon-link,
.uk-overlay-primary .uk-active > .uk-icon-link,
.uk-offcanvas-bar .uk-active > .uk-icon-link {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-icon-button, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-card-primary.uk-card-body .uk-icon-button, .uk-card-primary > :not([class*=uk-card-media]) .uk-icon-button, .uk-card-secondary.uk-card-body .uk-icon-button, .uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-button, .uk-overlay-primary .uk-icon-button, .uk-offcanvas-bar .uk-icon-button {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-icon-button:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-card-primary.uk-card-body .uk-icon-button:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-icon-button:hover, .uk-card-secondary.uk-card-body .uk-icon-button:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-button:hover, .uk-overlay-primary .uk-icon-button:hover, .uk-offcanvas-bar .uk-icon-button:hover,
.uk-light .uk-icon-button:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-card-primary.uk-card-body .uk-icon-button:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-icon-button:focus,
.uk-card-secondary.uk-card-body .uk-icon-button:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-button:focus,
.uk-overlay-primary .uk-icon-button:focus,
.uk-offcanvas-bar .uk-icon-button:focus {
  background-color: rgba(242, 242, 242, 0.1);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-icon-button:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-card-primary.uk-card-body .uk-icon-button:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-icon-button:active, .uk-card-secondary.uk-card-body .uk-icon-button:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-button:active, .uk-overlay-primary .uk-icon-button:active, .uk-offcanvas-bar .uk-icon-button:active {
  background-color: rgba(230, 230, 230, 0.1);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-card-primary.uk-card-body .uk-input, .uk-card-primary > :not([class*=uk-card-media]) .uk-input, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input, .uk-overlay-primary .uk-input, .uk-offcanvas-bar .uk-input,
.uk-light .uk-select,
.uk-section-primary:not(.uk-preserve-color) .uk-select,
.uk-section-secondary:not(.uk-preserve-color) .uk-select,
.uk-tile-primary:not(.uk-preserve-color) .uk-select,
.uk-tile-secondary:not(.uk-preserve-color) .uk-select,
.uk-card-primary.uk-card-body .uk-select,
.uk-card-primary > :not([class*=uk-card-media]) .uk-select,
.uk-card-secondary.uk-card-body .uk-select,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-select,
.uk-overlay-primary .uk-select,
.uk-offcanvas-bar .uk-select,
.uk-light .uk-textarea,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-card-primary.uk-card-body .uk-textarea,
.uk-card-primary > :not([class*=uk-card-media]) .uk-textarea,
.uk-card-secondary.uk-card-body .uk-textarea,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-textarea,
.uk-overlay-primary .uk-textarea,
.uk-offcanvas-bar .uk-textarea {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  background-clip: padding-box;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-card-primary.uk-card-body .uk-input:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-input:focus, .uk-card-secondary.uk-card-body .uk-input:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input:focus, .uk-overlay-primary .uk-input:focus, .uk-offcanvas-bar .uk-input:focus,
.uk-light .uk-select:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-select:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,
.uk-card-primary.uk-card-body .uk-select:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-select:focus,
.uk-card-secondary.uk-card-body .uk-select:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-select:focus,
.uk-overlay-primary .uk-select:focus,
.uk-offcanvas-bar .uk-select:focus,
.uk-light .uk-textarea:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-card-primary.uk-card-body .uk-textarea:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-textarea:focus,
.uk-card-secondary.uk-card-body .uk-textarea:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-textarea:focus,
.uk-overlay-primary .uk-textarea:focus,
.uk-offcanvas-bar .uk-textarea:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-input::-moz-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-input::-moz-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input::-moz-placeholder, .uk-overlay-primary .uk-input::-moz-placeholder, .uk-offcanvas-bar .uk-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-input:-ms-input-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-input:-ms-input-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input:-ms-input-placeholder, .uk-overlay-primary .uk-input:-ms-input-placeholder, .uk-offcanvas-bar .uk-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-card-primary.uk-card-body .uk-input::placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-input::placeholder, .uk-card-secondary.uk-card-body .uk-input::placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input::placeholder, .uk-overlay-primary .uk-input::placeholder, .uk-offcanvas-bar .uk-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-textarea::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-textarea::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-textarea::-moz-placeholder, .uk-overlay-primary .uk-textarea::-moz-placeholder, .uk-offcanvas-bar .uk-textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-textarea:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea:-ms-input-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-textarea:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea:-ms-input-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-textarea:-ms-input-placeholder, .uk-overlay-primary .uk-textarea:-ms-input-placeholder, .uk-offcanvas-bar .uk-textarea:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-textarea::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-card-primary.uk-card-body .uk-textarea::placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-textarea::placeholder, .uk-card-secondary.uk-card-body .uk-textarea::placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-textarea::placeholder, .uk-overlay-primary .uk-textarea::placeholder, .uk-offcanvas-bar .uk-textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-select:not([multiple]):not([size]), .uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-primary > :not([class*=uk-card-media]) .uk-select:not([multiple]):not([size]), .uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-secondary > :not([class*=uk-card-media]) .uk-select:not([multiple]):not([size]), .uk-overlay-primary .uk-select:not([multiple]):not([size]), .uk-offcanvas-bar .uk-select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-input[list]:hover, .uk-section-primary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-card-primary.uk-card-body .uk-input[list]:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-input[list]:hover, .uk-card-secondary.uk-card-body .uk-input[list]:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input[list]:hover, .uk-overlay-primary .uk-input[list]:hover, .uk-offcanvas-bar .uk-input[list]:hover,
.uk-light .uk-input[list]:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-card-primary.uk-card-body .uk-input[list]:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-input[list]:focus,
.uk-card-secondary.uk-card-body .uk-input[list]:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-input[list]:focus,
.uk-overlay-primary .uk-input[list]:focus,
.uk-offcanvas-bar .uk-input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-radio, .uk-section-primary:not(.uk-preserve-color) .uk-radio, .uk-section-secondary:not(.uk-preserve-color) .uk-radio, .uk-tile-primary:not(.uk-preserve-color) .uk-radio, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio, .uk-card-primary.uk-card-body .uk-radio, .uk-card-primary > :not([class*=uk-card-media]) .uk-radio, .uk-card-secondary.uk-card-body .uk-radio, .uk-card-secondary > :not([class*=uk-card-media]) .uk-radio, .uk-overlay-primary .uk-radio, .uk-offcanvas-bar .uk-radio,
.uk-light .uk-checkbox,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,
.uk-card-primary.uk-card-body .uk-checkbox,
.uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox,
.uk-card-secondary.uk-card-body .uk-checkbox,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox,
.uk-overlay-primary .uk-checkbox,
.uk-offcanvas-bar .uk-checkbox {
  background-color: rgba(242, 242, 242, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-radio:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-card-primary.uk-card-body .uk-radio:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-radio:focus, .uk-card-secondary.uk-card-body .uk-radio:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-radio:focus, .uk-overlay-primary .uk-radio:focus, .uk-offcanvas-bar .uk-radio:focus,
.uk-light .uk-checkbox:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-card-primary.uk-card-body .uk-checkbox:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:focus,
.uk-overlay-primary .uk-checkbox:focus,
.uk-offcanvas-bar .uk-checkbox:focus {
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*=uk-card-media]) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*=uk-card-media]) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked,
.uk-light .uk-checkbox:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-card-primary.uk-card-body .uk-checkbox:checked,
.uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:checked,
.uk-card-secondary.uk-card-body .uk-checkbox:checked,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:checked,
.uk-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .uk-checkbox:checked,
.uk-light .uk-checkbox:indeterminate,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:indeterminate,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:indeterminate,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .uk-checkbox:indeterminate {
  background-color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-radio:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-card-primary.uk-card-body .uk-radio:checked:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-radio:checked:focus, .uk-card-secondary.uk-card-body .uk-radio:checked:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-radio:checked:focus, .uk-overlay-primary .uk-radio:checked:focus, .uk-offcanvas-bar .uk-radio:checked:focus,
.uk-light .uk-checkbox:checked:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-card-primary.uk-card-body .uk-checkbox:checked:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:checked:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:checked:focus,
.uk-overlay-primary .uk-checkbox:checked:focus,
.uk-offcanvas-bar .uk-checkbox:checked:focus,
.uk-light .uk-checkbox:indeterminate:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:indeterminate:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:indeterminate:focus,
.uk-overlay-primary .uk-checkbox:indeterminate:focus,
.uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
  background-color: #e6e6e6;
}
.uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*=uk-card-media]) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*=uk-card-media]) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-checkbox:checked, .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked, .uk-card-primary.uk-card-body .uk-checkbox:checked, .uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:checked, .uk-card-secondary.uk-card-body .uk-checkbox:checked, .uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:checked, .uk-overlay-primary .uk-checkbox:checked, .uk-offcanvas-bar .uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-checkbox:indeterminate, .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate, .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate, .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate, .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate, .uk-card-primary.uk-card-body .uk-checkbox:indeterminate, .uk-card-primary > :not([class*=uk-card-media]) .uk-checkbox:indeterminate, .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate, .uk-card-secondary > :not([class*=uk-card-media]) .uk-checkbox:indeterminate, .uk-overlay-primary .uk-checkbox:indeterminate, .uk-offcanvas-bar .uk-checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-form-label, .uk-section-primary:not(.uk-preserve-color) .uk-form-label, .uk-section-secondary:not(.uk-preserve-color) .uk-form-label, .uk-tile-primary:not(.uk-preserve-color) .uk-form-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-label, .uk-card-primary.uk-card-body .uk-form-label, .uk-card-primary > :not([class*=uk-card-media]) .uk-form-label, .uk-card-secondary.uk-card-body .uk-form-label, .uk-card-secondary > :not([class*=uk-card-media]) .uk-form-label, .uk-overlay-primary .uk-form-label, .uk-offcanvas-bar .uk-form-label {
  color: #fff;
}
.uk-light .uk-form-icon, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-card-primary.uk-card-body .uk-form-icon, .uk-card-primary > :not([class*=uk-card-media]) .uk-form-icon, .uk-card-secondary.uk-card-body .uk-form-icon, .uk-card-secondary > :not([class*=uk-card-media]) .uk-form-icon, .uk-overlay-primary .uk-form-icon, .uk-offcanvas-bar .uk-form-icon {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-form-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-card-primary.uk-card-body .uk-form-icon:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-form-icon:hover, .uk-card-secondary.uk-card-body .uk-form-icon:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-form-icon:hover, .uk-overlay-primary .uk-form-icon:hover, .uk-offcanvas-bar .uk-form-icon:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-button-default, .uk-section-primary:not(.uk-preserve-color) .uk-button-default, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default, .uk-card-primary.uk-card-body .uk-button-default, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-default, .uk-card-secondary.uk-card-body .uk-button-default, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-default, .uk-overlay-primary .uk-button-default, .uk-offcanvas-bar .uk-button-default {
  background-color: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-button-default:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-card-primary.uk-card-body .uk-button-default:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-default:hover, .uk-card-secondary.uk-card-body .uk-button-default:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-default:hover, .uk-overlay-primary .uk-button-default:hover, .uk-offcanvas-bar .uk-button-default:hover,
.uk-light .uk-button-default:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-card-primary.uk-card-body .uk-button-default:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-default:focus,
.uk-card-secondary.uk-card-body .uk-button-default:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-default:focus,
.uk-overlay-primary .uk-button-default:focus,
.uk-offcanvas-bar .uk-button-default:focus {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.uk-light .uk-button-default:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-card-primary.uk-card-body .uk-button-default:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-default:active, .uk-card-secondary.uk-card-body .uk-button-default:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-default:active, .uk-overlay-primary .uk-button-default:active, .uk-offcanvas-bar .uk-button-default:active,
.uk-light .uk-button-default.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-card-primary.uk-card-body .uk-button-default.uk-active,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-default.uk-active,
.uk-card-secondary.uk-card-body .uk-button-default.uk-active,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-default.uk-active,
.uk-overlay-primary .uk-button-default.uk-active,
.uk-offcanvas-bar .uk-button-default.uk-active {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.uk-light .uk-button-primary, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-card-primary.uk-card-body .uk-button-primary, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-primary, .uk-card-secondary.uk-card-body .uk-button-primary, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-primary, .uk-overlay-primary .uk-button-primary, .uk-offcanvas-bar .uk-button-primary {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover, .uk-offcanvas-bar .uk-button-primary:hover,
.uk-light .uk-button-primary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-card-primary.uk-card-body .uk-button-primary:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-primary:focus,
.uk-card-secondary.uk-card-body .uk-button-primary:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-primary:focus,
.uk-overlay-primary .uk-button-primary:focus,
.uk-offcanvas-bar .uk-button-primary:focus {
  background-color: #f2f2f2;
  color: #666;
}
.uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-primary:active, .uk-overlay-primary .uk-button-primary:active, .uk-offcanvas-bar .uk-button-primary:active,
.uk-light .uk-button-primary.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-card-primary.uk-card-body .uk-button-primary.uk-active,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-primary.uk-active,
.uk-card-secondary.uk-card-body .uk-button-primary.uk-active,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-primary.uk-active,
.uk-overlay-primary .uk-button-primary.uk-active,
.uk-offcanvas-bar .uk-button-primary.uk-active {
  background-color: #e6e6e6;
  color: #666;
}
.uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-secondary, .uk-overlay-primary .uk-button-secondary, .uk-offcanvas-bar .uk-button-secondary {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-secondary:hover, .uk-overlay-primary .uk-button-secondary:hover, .uk-offcanvas-bar .uk-button-secondary:hover,
.uk-light .uk-button-secondary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-card-primary.uk-card-body .uk-button-secondary:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-secondary:focus,
.uk-card-secondary.uk-card-body .uk-button-secondary:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-secondary:focus,
.uk-overlay-primary .uk-button-secondary:focus,
.uk-offcanvas-bar .uk-button-secondary:focus {
  background-color: #f2f2f2;
  color: #666;
}
.uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-secondary:active, .uk-overlay-primary .uk-button-secondary:active, .uk-offcanvas-bar .uk-button-secondary:active,
.uk-light .uk-button-secondary.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-card-primary.uk-card-body .uk-button-secondary.uk-active,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-secondary.uk-active,
.uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-secondary.uk-active,
.uk-overlay-primary .uk-button-secondary.uk-active,
.uk-offcanvas-bar .uk-button-secondary.uk-active {
  background-color: #e6e6e6;
  color: #666;
}
.uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-text, .uk-overlay-primary .uk-button-text, .uk-offcanvas-bar .uk-button-text {
  color: #fff;
}
.uk-light .uk-button-text::before, .uk-section-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-card-primary.uk-card-body .uk-button-text::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-text::before, .uk-card-secondary.uk-card-body .uk-button-text::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-text::before, .uk-overlay-primary .uk-button-text::before, .uk-offcanvas-bar .uk-button-text::before {
  border-bottom-color: #fff;
}
.uk-light .uk-button-text:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-card-primary.uk-card-body .uk-button-text:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-text:hover, .uk-card-secondary.uk-card-body .uk-button-text:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-text:hover, .uk-overlay-primary .uk-button-text:hover, .uk-offcanvas-bar .uk-button-text:hover,
.uk-light .uk-button-text:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-card-primary.uk-card-body .uk-button-text:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-text:focus,
.uk-card-secondary.uk-card-body .uk-button-text:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-text:focus,
.uk-overlay-primary .uk-button-text:focus,
.uk-offcanvas-bar .uk-button-text:focus {
  color: #fff;
}
.uk-light .uk-button-text:disabled, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-card-primary.uk-card-body .uk-button-text:disabled, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-text:disabled, .uk-card-secondary.uk-card-body .uk-button-text:disabled, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-text:disabled, .uk-overlay-primary .uk-button-text:disabled, .uk-offcanvas-bar .uk-button-text:disabled {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-button-link, .uk-section-primary:not(.uk-preserve-color) .uk-button-link, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link, .uk-card-primary.uk-card-body .uk-button-link, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-link, .uk-card-secondary.uk-card-body .uk-button-link, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-link, .uk-overlay-primary .uk-button-link, .uk-offcanvas-bar .uk-button-link {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-button-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-card-primary.uk-card-body .uk-button-link:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-button-link:hover, .uk-card-secondary.uk-card-body .uk-button-link:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-button-link:hover, .uk-overlay-primary .uk-button-link:hover, .uk-offcanvas-bar .uk-button-link:hover,
.uk-light .uk-button-link:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-card-primary.uk-card-body .uk-button-link:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-link:focus,
.uk-card-secondary.uk-card-body .uk-button-link:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-link:focus,
.uk-overlay-primary .uk-button-link:focus,
.uk-offcanvas-bar .uk-button-link:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-grid-divider > :not(.uk-first-column)::before, .uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before, .uk-offcanvas-bar .uk-grid-divider > :not(.uk-first-column)::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-offcanvas-bar .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-close, .uk-section-primary:not(.uk-preserve-color) .uk-close, .uk-section-secondary:not(.uk-preserve-color) .uk-close, .uk-tile-primary:not(.uk-preserve-color) .uk-close, .uk-tile-secondary:not(.uk-preserve-color) .uk-close, .uk-card-primary.uk-card-body .uk-close, .uk-card-primary > :not([class*=uk-card-media]) .uk-close, .uk-card-secondary.uk-card-body .uk-close, .uk-card-secondary > :not([class*=uk-card-media]) .uk-close, .uk-overlay-primary .uk-close, .uk-offcanvas-bar .uk-close {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-close:hover, .uk-section-primary:not(.uk-preserve-color) .uk-close:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-card-primary.uk-card-body .uk-close:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-close:hover, .uk-card-secondary.uk-card-body .uk-close:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-close:hover, .uk-overlay-primary .uk-close:hover, .uk-offcanvas-bar .uk-close:hover,
.uk-light .uk-close:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-close:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-close:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-close:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus,
.uk-card-primary.uk-card-body .uk-close:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-close:focus,
.uk-card-secondary.uk-card-body .uk-close:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-close:focus,
.uk-overlay-primary .uk-close:focus,
.uk-offcanvas-bar .uk-close:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-totop, .uk-section-primary:not(.uk-preserve-color) .uk-totop, .uk-section-secondary:not(.uk-preserve-color) .uk-totop, .uk-tile-primary:not(.uk-preserve-color) .uk-totop, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop, .uk-card-primary.uk-card-body .uk-totop, .uk-card-primary > :not([class*=uk-card-media]) .uk-totop, .uk-card-secondary.uk-card-body .uk-totop, .uk-card-secondary > :not([class*=uk-card-media]) .uk-totop, .uk-overlay-primary .uk-totop, .uk-offcanvas-bar .uk-totop {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-totop:hover, .uk-section-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-card-primary.uk-card-body .uk-totop:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-totop:hover, .uk-card-secondary.uk-card-body .uk-totop:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-totop:hover, .uk-overlay-primary .uk-totop:hover, .uk-offcanvas-bar .uk-totop:hover,
.uk-light .uk-totop:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-totop:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus,
.uk-card-primary.uk-card-body .uk-totop:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-totop:focus,
.uk-card-secondary.uk-card-body .uk-totop:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-totop:focus,
.uk-overlay-primary .uk-totop:focus,
.uk-offcanvas-bar .uk-totop:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-totop:active, .uk-section-primary:not(.uk-preserve-color) .uk-totop:active, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-card-primary.uk-card-body .uk-totop:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-totop:active, .uk-card-secondary.uk-card-body .uk-totop:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-totop:active, .uk-overlay-primary .uk-totop:active, .uk-offcanvas-bar .uk-totop:active {
  color: #fff;
}
.uk-light .uk-badge, .uk-section-primary:not(.uk-preserve-color) .uk-badge, .uk-section-secondary:not(.uk-preserve-color) .uk-badge, .uk-tile-primary:not(.uk-preserve-color) .uk-badge, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge, .uk-card-primary.uk-card-body .uk-badge, .uk-card-primary > :not([class*=uk-card-media]) .uk-badge, .uk-card-secondary.uk-card-body .uk-badge, .uk-card-secondary > :not([class*=uk-card-media]) .uk-badge, .uk-overlay-primary .uk-badge, .uk-offcanvas-bar .uk-badge {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover, .uk-offcanvas-bar .uk-badge:hover,
.uk-light .uk-badge:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-badge:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus,
.uk-card-primary.uk-card-body .uk-badge:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-badge:focus,
.uk-card-secondary.uk-card-body .uk-badge:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-badge:focus,
.uk-overlay-primary .uk-badge:focus,
.uk-offcanvas-bar .uk-badge:focus {
  color: #666;
}
.uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*=uk-card-media]) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*=uk-card-media]) .uk-label, .uk-overlay-primary .uk-label, .uk-offcanvas-bar .uk-label {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*=uk-card-media]) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*=uk-card-media]) .uk-article-meta, .uk-overlay-primary .uk-article-meta, .uk-offcanvas-bar .uk-article-meta {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input, .uk-card-primary.uk-card-body .uk-search-input, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-input, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-input, .uk-overlay-primary .uk-search-input, .uk-offcanvas-bar .uk-search-input {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-search-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-input:-ms-input-placeholder, .uk-overlay-primary .uk-search-input:-ms-input-placeholder, .uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-search-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-input::-moz-placeholder, .uk-overlay-primary .uk-search-input::-moz-placeholder, .uk-offcanvas-bar .uk-search-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-card-primary.uk-card-body .uk-search-input::placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-input::placeholder, .uk-card-secondary.uk-card-body .uk-search-input::placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-input::placeholder, .uk-overlay-primary .uk-search-input::placeholder, .uk-offcanvas-bar .uk-search-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search .uk-search-icon, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-card-primary.uk-card-body .uk-search .uk-search-icon, .uk-card-primary > :not([class*=uk-card-media]) .uk-search .uk-search-icon, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search .uk-search-icon, .uk-overlay-primary .uk-search .uk-search-icon, .uk-offcanvas-bar .uk-search .uk-search-icon {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search .uk-search-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-search .uk-search-icon:hover, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search .uk-search-icon:hover, .uk-overlay-primary .uk-search .uk-search-icon:hover, .uk-offcanvas-bar .uk-search .uk-search-icon:hover {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-default .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-default .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-default .uk-search-input, .uk-overlay-primary .uk-search-default .uk-search-input, .uk-offcanvas-bar .uk-search-default .uk-search-input {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-search-default .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-default .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-default .uk-search-input:focus, .uk-overlay-primary .uk-search-default .uk-search-input:focus, .uk-offcanvas-bar .uk-search-default .uk-search-input:focus {
  background-color: transparent;
}
.uk-light .uk-search-navbar .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-navbar .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-navbar .uk-search-input, .uk-overlay-primary .uk-search-navbar .uk-search-input, .uk-offcanvas-bar .uk-search-navbar .uk-search-input {
  background-color: transparent;
}
.uk-light .uk-search-large .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-card-primary.uk-card-body .uk-search-large .uk-search-input, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-large .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-large .uk-search-input, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-large .uk-search-input, .uk-overlay-primary .uk-search-large .uk-search-input, .uk-offcanvas-bar .uk-search-large .uk-search-input {
  background-color: transparent;
}
.uk-light .uk-search-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-card-primary.uk-card-body .uk-search-toggle, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-toggle, .uk-card-secondary.uk-card-body .uk-search-toggle, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-toggle, .uk-overlay-primary .uk-search-toggle, .uk-offcanvas-bar .uk-search-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-card-primary.uk-card-body .uk-search-toggle:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-toggle:hover, .uk-card-secondary.uk-card-body .uk-search-toggle:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-toggle:hover, .uk-overlay-primary .uk-search-toggle:hover, .uk-offcanvas-bar .uk-search-toggle:hover,
.uk-light .uk-search-toggle:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-card-primary.uk-card-body .uk-search-toggle:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-search-toggle:focus,
.uk-card-secondary.uk-card-body .uk-search-toggle:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-search-toggle:focus,
.uk-overlay-primary .uk-search-toggle:focus,
.uk-offcanvas-bar .uk-search-toggle:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-parent-icon > .uk-parent > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-nav-default > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-card-primary.uk-card-body .uk-nav-default > li > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default > li > a, .uk-card-secondary.uk-card-body .uk-nav-default > li > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default > li > a, .uk-overlay-primary .uk-nav-default > li > a, .uk-offcanvas-bar .uk-nav-default > li > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-default > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default > li > a:hover, .uk-overlay-primary .uk-nav-default > li > a:hover, .uk-offcanvas-bar .uk-nav-default > li > a:hover,
.uk-light .uk-nav-default > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-card-primary.uk-card-body .uk-nav-default > li > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default > li > a:focus,
.uk-card-secondary.uk-card-body .uk-nav-default > li > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default > li > a:focus,
.uk-overlay-primary .uk-nav-default > li > a:focus,
.uk-offcanvas-bar .uk-nav-default > li > a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-default > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default > li.uk-active > a, .uk-overlay-primary .uk-nav-default > li.uk-active > a, .uk-offcanvas-bar .uk-nav-default > li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav-default .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-header, .uk-overlay-primary .uk-nav-default .uk-nav-header, .uk-offcanvas-bar .uk-nav-default .uk-nav-header {
  color: #fff;
}
.uk-light .uk-nav-default .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-divider, .uk-overlay-primary .uk-nav-default .uk-nav-divider, .uk-offcanvas-bar .uk-nav-default .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-nav-default .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a, .uk-overlay-primary .uk-nav-default .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-default .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-default .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:hover,
.uk-light .uk-nav-default .uk-nav-sub a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:focus,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:focus,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a:focus,
.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav-primary > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-card-primary.uk-card-body .uk-nav-primary > li > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary > li > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary > li > a, .uk-overlay-primary .uk-nav-primary > li > a, .uk-offcanvas-bar .uk-nav-primary > li > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-primary > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary > li > a:hover, .uk-overlay-primary .uk-nav-primary > li > a:hover, .uk-offcanvas-bar .uk-nav-primary > li > a:hover,
.uk-light .uk-nav-primary > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-card-primary.uk-card-body .uk-nav-primary > li > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary > li > a:focus,
.uk-card-secondary.uk-card-body .uk-nav-primary > li > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary > li > a:focus,
.uk-overlay-primary .uk-nav-primary > li > a:focus,
.uk-offcanvas-bar .uk-nav-primary > li > a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-primary > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary > li.uk-active > a, .uk-overlay-primary .uk-nav-primary > li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary > li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav-primary .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-header, .uk-overlay-primary .uk-nav-primary .uk-nav-header, .uk-offcanvas-bar .uk-nav-primary .uk-nav-header {
  color: #fff;
}
.uk-light .uk-nav-primary .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-divider, .uk-overlay-primary .uk-nav-primary .uk-nav-divider, .uk-offcanvas-bar .uk-nav-primary .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-nav-primary .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-primary .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:hover,
.uk-light .uk-nav-primary .uk-nav-sub a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:focus,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a:focus,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #fff;
}
.uk-light .uk-navbar-nav > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a, .uk-overlay-primary .uk-navbar-nav > li > a, .uk-offcanvas-bar .uk-navbar-nav > li > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-navbar-nav > li:hover > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li:hover > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li:hover > a, .uk-overlay-primary .uk-navbar-nav > li:hover > a, .uk-offcanvas-bar .uk-navbar-nav > li:hover > a,
.uk-light .uk-navbar-nav > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a:focus,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a:focus,
.uk-overlay-primary .uk-navbar-nav > li > a:focus,
.uk-offcanvas-bar .uk-navbar-nav > li > a:focus,
.uk-light .uk-navbar-nav > li > a.uk-open,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a.uk-open,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a.uk-open,
.uk-overlay-primary .uk-navbar-nav > li > a.uk-open,
.uk-offcanvas-bar .uk-navbar-nav > li > a.uk-open {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-navbar-nav > li > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a:active, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a:active, .uk-overlay-primary .uk-navbar-nav > li > a:active, .uk-offcanvas-bar .uk-navbar-nav > li > a:active {
  color: #fff;
}
.uk-light .uk-navbar-nav > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li.uk-active > a, .uk-overlay-primary .uk-navbar-nav > li.uk-active > a, .uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a {
  color: #fff;
}
.uk-light .uk-navbar-item, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-card-primary.uk-card-body .uk-navbar-item, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-item, .uk-card-secondary.uk-card-body .uk-navbar-item, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-item, .uk-overlay-primary .uk-navbar-item, .uk-offcanvas-bar .uk-navbar-item {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-navbar-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-card-primary.uk-card-body .uk-navbar-toggle, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle, .uk-card-secondary.uk-card-body .uk-navbar-toggle, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle, .uk-overlay-primary .uk-navbar-toggle, .uk-offcanvas-bar .uk-navbar-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-navbar-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-card-primary.uk-card-body .uk-navbar-toggle:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle:hover, .uk-card-secondary.uk-card-body .uk-navbar-toggle:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle:hover, .uk-overlay-primary .uk-navbar-toggle:hover, .uk-offcanvas-bar .uk-navbar-toggle:hover,
.uk-light .uk-navbar-toggle:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-card-primary.uk-card-body .uk-navbar-toggle:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle:focus,
.uk-card-secondary.uk-card-body .uk-navbar-toggle:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle:focus,
.uk-overlay-primary .uk-navbar-toggle:focus,
.uk-offcanvas-bar .uk-navbar-toggle:focus,
.uk-light .uk-navbar-toggle.uk-open,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-card-primary.uk-card-body .uk-navbar-toggle.uk-open,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle.uk-open,
.uk-card-secondary.uk-card-body .uk-navbar-toggle.uk-open,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle.uk-open,
.uk-overlay-primary .uk-navbar-toggle.uk-open,
.uk-offcanvas-bar .uk-navbar-toggle.uk-open {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav > * > :first-child, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav > * > :first-child, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav > * > :first-child, .uk-overlay-primary .uk-subnav > * > :first-child, .uk-offcanvas-bar .uk-subnav > * > :first-child {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-subnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav > * > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav > * > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav > * > a:hover, .uk-overlay-primary .uk-subnav > * > a:hover, .uk-offcanvas-bar .uk-subnav > * > a:hover,
.uk-light .uk-subnav > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-card-primary.uk-card-body .uk-subnav > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-subnav > * > a:focus,
.uk-card-secondary.uk-card-body .uk-subnav > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav > * > a:focus,
.uk-overlay-primary .uk-subnav > * > a:focus,
.uk-offcanvas-bar .uk-subnav > * > a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav > .uk-active > a, .uk-overlay-primary .uk-subnav > .uk-active > a, .uk-offcanvas-bar .uk-subnav > .uk-active > a {
  color: #fff;
}
.uk-light .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-subnav-pill > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-pill > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-pill > * > :first-child, .uk-overlay-primary .uk-subnav-pill > * > :first-child, .uk-offcanvas-bar .uk-subnav-pill > * > :first-child {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-subnav-pill > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:hover, .uk-overlay-primary .uk-subnav-pill > * > a:hover, .uk-offcanvas-bar .uk-subnav-pill > * > a:hover,
.uk-light .uk-subnav-pill > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-card-primary.uk-card-body .uk-subnav-pill > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:focus,
.uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:focus,
.uk-overlay-primary .uk-subnav-pill > * > a:focus,
.uk-offcanvas-bar .uk-subnav-pill > * > a:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav-pill > * > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:active, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:active, .uk-overlay-primary .uk-subnav-pill > * > a:active, .uk-offcanvas-bar .uk-subnav-pill > * > a:active {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav-pill > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-pill > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-pill > .uk-active > a, .uk-overlay-primary .uk-subnav-pill > .uk-active > a, .uk-offcanvas-bar .uk-subnav-pill > .uk-active > a {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-subnav > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-subnav > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav > .uk-disabled > a, .uk-overlay-primary .uk-subnav > .uk-disabled > a, .uk-offcanvas-bar .uk-subnav > .uk-disabled > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-breadcrumb > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-card-primary.uk-card-body .uk-breadcrumb > * > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-breadcrumb > * > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-breadcrumb > * > *, .uk-overlay-primary .uk-breadcrumb > * > *, .uk-offcanvas-bar .uk-breadcrumb > * > * {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-breadcrumb > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-card-primary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-breadcrumb > * > :hover, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-breadcrumb > * > :hover, .uk-overlay-primary .uk-breadcrumb > * > :hover, .uk-offcanvas-bar .uk-breadcrumb > * > :hover,
.uk-light .uk-breadcrumb > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-card-primary.uk-card-body .uk-breadcrumb > * > :focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-breadcrumb > * > :focus,
.uk-card-secondary.uk-card-body .uk-breadcrumb > * > :focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-breadcrumb > * > :focus,
.uk-overlay-primary .uk-breadcrumb > * > :focus,
.uk-offcanvas-bar .uk-breadcrumb > * > :focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-breadcrumb > :last-child > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-card-primary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-breadcrumb > :last-child > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-breadcrumb > :last-child > *, .uk-overlay-primary .uk-breadcrumb > :last-child > *, .uk-offcanvas-bar .uk-breadcrumb > :last-child > * {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-pagination > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-card-primary.uk-card-body .uk-pagination > * > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-pagination > * > *, .uk-card-secondary.uk-card-body .uk-pagination > * > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-pagination > * > *, .uk-overlay-primary .uk-pagination > * > *, .uk-offcanvas-bar .uk-pagination > * > * {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-pagination > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-card-primary.uk-card-body .uk-pagination > * > :hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-pagination > * > :hover, .uk-card-secondary.uk-card-body .uk-pagination > * > :hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-pagination > * > :hover, .uk-overlay-primary .uk-pagination > * > :hover, .uk-offcanvas-bar .uk-pagination > * > :hover,
.uk-light .uk-pagination > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-card-primary.uk-card-body .uk-pagination > * > :focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-pagination > * > :focus,
.uk-card-secondary.uk-card-body .uk-pagination > * > :focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-pagination > * > :focus,
.uk-overlay-primary .uk-pagination > * > :focus,
.uk-offcanvas-bar .uk-pagination > * > :focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-pagination > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-pagination > .uk-active > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-pagination > .uk-active > *, .uk-overlay-primary .uk-pagination > .uk-active > *, .uk-offcanvas-bar .uk-pagination > .uk-active > * {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-pagination > .uk-disabled > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-pagination > .uk-disabled > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-pagination > .uk-disabled > *, .uk-overlay-primary .uk-pagination > .uk-disabled > *, .uk-offcanvas-bar .uk-pagination > .uk-disabled > * {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-tab::before, .uk-section-primary:not(.uk-preserve-color) .uk-tab::before, .uk-section-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-primary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-card-primary.uk-card-body .uk-tab::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-tab::before, .uk-card-secondary.uk-card-body .uk-tab::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-tab::before, .uk-overlay-primary .uk-tab::before, .uk-offcanvas-bar .uk-tab::before {
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-tab > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-card-primary.uk-card-body .uk-tab > * > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-tab > * > a, .uk-card-secondary.uk-card-body .uk-tab > * > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-tab > * > a, .uk-overlay-primary .uk-tab > * > a, .uk-offcanvas-bar .uk-tab > * > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-tab > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-card-primary.uk-card-body .uk-tab > * > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-tab > * > a:hover, .uk-card-secondary.uk-card-body .uk-tab > * > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-tab > * > a:hover, .uk-overlay-primary .uk-tab > * > a:hover, .uk-offcanvas-bar .uk-tab > * > a:hover,
.uk-light .uk-tab > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-card-primary.uk-card-body .uk-tab > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-tab > * > a:focus,
.uk-card-secondary.uk-card-body .uk-tab > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-tab > * > a:focus,
.uk-overlay-primary .uk-tab > * > a:focus,
.uk-offcanvas-bar .uk-tab > * > a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-tab > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-card-primary.uk-card-body .uk-tab > .uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-tab > .uk-active > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-tab > .uk-active > a, .uk-overlay-primary .uk-tab > .uk-active > a, .uk-offcanvas-bar .uk-tab > .uk-active > a {
  color: #fff;
  border-color: #fff;
}
.uk-light .uk-tab > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-tab > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-tab > .uk-disabled > a, .uk-overlay-primary .uk-tab > .uk-disabled > a, .uk-offcanvas-bar .uk-tab > .uk-disabled > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-slidenav, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-card-primary.uk-card-body .uk-slidenav, .uk-card-primary > :not([class*=uk-card-media]) .uk-slidenav, .uk-card-secondary.uk-card-body .uk-slidenav, .uk-card-secondary > :not([class*=uk-card-media]) .uk-slidenav, .uk-overlay-primary .uk-slidenav, .uk-offcanvas-bar .uk-slidenav {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-slidenav:hover, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-card-primary.uk-card-body .uk-slidenav:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-slidenav:hover, .uk-card-secondary.uk-card-body .uk-slidenav:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-slidenav:hover, .uk-overlay-primary .uk-slidenav:hover, .uk-offcanvas-bar .uk-slidenav:hover,
.uk-light .uk-slidenav:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-card-primary.uk-card-body .uk-slidenav:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-slidenav:focus,
.uk-card-secondary.uk-card-body .uk-slidenav:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-slidenav:focus,
.uk-overlay-primary .uk-slidenav:focus,
.uk-offcanvas-bar .uk-slidenav:focus {
  color: rgba(255, 255, 255, 0.95);
}
.uk-light .uk-slidenav:active, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-card-primary.uk-card-body .uk-slidenav:active, .uk-card-primary > :not([class*=uk-card-media]) .uk-slidenav:active, .uk-card-secondary.uk-card-body .uk-slidenav:active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-slidenav:active, .uk-overlay-primary .uk-slidenav:active, .uk-offcanvas-bar .uk-slidenav:active {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-dotnav > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-card-primary.uk-card-body .uk-dotnav > * > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-dotnav > * > *, .uk-card-secondary.uk-card-body .uk-dotnav > * > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-dotnav > * > *, .uk-overlay-primary .uk-dotnav > * > *, .uk-offcanvas-bar .uk-dotnav > * > * {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.9);
}
.uk-light .uk-dotnav > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-card-primary.uk-card-body .uk-dotnav > * > :hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-dotnav > * > :hover, .uk-card-secondary.uk-card-body .uk-dotnav > * > :hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-dotnav > * > :hover, .uk-overlay-primary .uk-dotnav > * > :hover, .uk-offcanvas-bar .uk-dotnav > * > :hover,
.uk-light .uk-dotnav > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-card-primary.uk-card-body .uk-dotnav > * > :focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-dotnav > * > :focus,
.uk-card-secondary.uk-card-body .uk-dotnav > * > :focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-dotnav > * > :focus,
.uk-overlay-primary .uk-dotnav > * > :focus,
.uk-offcanvas-bar .uk-dotnav > * > :focus {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: transparent;
}
.uk-light .uk-dotnav > * > :active, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-card-primary.uk-card-body .uk-dotnav > * > :active, .uk-card-primary > :not([class*=uk-card-media]) .uk-dotnav > * > :active, .uk-card-secondary.uk-card-body .uk-dotnav > * > :active, .uk-card-secondary > :not([class*=uk-card-media]) .uk-dotnav > * > :active, .uk-overlay-primary .uk-dotnav > * > :active, .uk-offcanvas-bar .uk-dotnav > * > :active {
  background-color: rgba(255, 255, 255, 0.5);
  border-color: transparent;
}
.uk-light .uk-dotnav > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-card-primary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-primary > :not([class*=uk-card-media]) .uk-dotnav > .uk-active > *, .uk-card-secondary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-secondary > :not([class*=uk-card-media]) .uk-dotnav > .uk-active > *, .uk-overlay-primary .uk-dotnav > .uk-active > *, .uk-offcanvas-bar .uk-dotnav > .uk-active > * {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: transparent;
}
.uk-light .uk-accordion-title::before, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-card-primary.uk-card-body .uk-accordion-title::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-accordion-title::before, .uk-card-secondary.uk-card-body .uk-accordion-title::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-accordion-title::before, .uk-overlay-primary .uk-accordion-title::before, .uk-offcanvas-bar .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-open > .uk-accordion-title::before, .uk-section-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-section-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-open > .uk-accordion-title::before, .uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-open > .uk-accordion-title::before, .uk-overlay-primary .uk-open > .uk-accordion-title::before, .uk-offcanvas-bar .uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-iconnav > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-card-primary.uk-card-body .uk-iconnav > * > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-iconnav > * > a, .uk-card-secondary.uk-card-body .uk-iconnav > * > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-iconnav > * > a, .uk-overlay-primary .uk-iconnav > * > a, .uk-offcanvas-bar .uk-iconnav > * > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-iconnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-card-primary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-iconnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-iconnav > * > a:hover, .uk-overlay-primary .uk-iconnav > * > a:hover, .uk-offcanvas-bar .uk-iconnav > * > a:hover,
.uk-light .uk-iconnav > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-card-primary.uk-card-body .uk-iconnav > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-iconnav > * > a:focus,
.uk-card-secondary.uk-card-body .uk-iconnav > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-iconnav > * > a:focus,
.uk-overlay-primary .uk-iconnav > * > a:focus,
.uk-offcanvas-bar .uk-iconnav > * > a:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-iconnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-iconnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-iconnav > .uk-active > a, .uk-overlay-primary .uk-iconnav > .uk-active > a, .uk-offcanvas-bar .uk-iconnav > .uk-active > a {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-text-lead, .uk-section-primary:not(.uk-preserve-color) .uk-text-lead, .uk-section-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-primary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-card-primary.uk-card-body .uk-text-lead, .uk-card-primary > :not([class*=uk-card-media]) .uk-text-lead, .uk-card-secondary.uk-card-body .uk-text-lead, .uk-card-secondary > :not([class*=uk-card-media]) .uk-text-lead, .uk-overlay-primary .uk-text-lead, .uk-offcanvas-bar .uk-text-lead {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary > :not([class*=uk-card-media]) .uk-text-meta, .uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary > :not([class*=uk-card-media]) .uk-text-meta, .uk-overlay-primary .uk-text-meta, .uk-offcanvas-bar .uk-text-meta {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-text-muted, .uk-section-primary:not(.uk-preserve-color) .uk-text-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-card-primary.uk-card-body .uk-text-muted, .uk-card-primary > :not([class*=uk-card-media]) .uk-text-muted, .uk-card-secondary.uk-card-body .uk-text-muted, .uk-card-secondary > :not([class*=uk-card-media]) .uk-text-muted, .uk-overlay-primary .uk-text-muted, .uk-offcanvas-bar .uk-text-muted {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-text-emphasis, .uk-section-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-section-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-card-primary.uk-card-body .uk-text-emphasis, .uk-card-primary > :not([class*=uk-card-media]) .uk-text-emphasis, .uk-card-secondary.uk-card-body .uk-text-emphasis, .uk-card-secondary > :not([class*=uk-card-media]) .uk-text-emphasis, .uk-overlay-primary .uk-text-emphasis, .uk-offcanvas-bar .uk-text-emphasis {
  color: #fff !important;
}
.uk-light .uk-text-primary, .uk-section-primary:not(.uk-preserve-color) .uk-text-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-card-primary.uk-card-body .uk-text-primary, .uk-card-primary > :not([class*=uk-card-media]) .uk-text-primary, .uk-card-secondary.uk-card-body .uk-text-primary, .uk-card-secondary > :not([class*=uk-card-media]) .uk-text-primary, .uk-overlay-primary .uk-text-primary, .uk-offcanvas-bar .uk-text-primary {
  color: #fff !important;
}
.uk-light .uk-text-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-text-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-secondary, .uk-card-primary.uk-card-body .uk-text-secondary, .uk-card-primary > :not([class*=uk-card-media]) .uk-text-secondary, .uk-card-secondary.uk-card-body .uk-text-secondary, .uk-card-secondary > :not([class*=uk-card-media]) .uk-text-secondary, .uk-overlay-primary .uk-text-secondary, .uk-offcanvas-bar .uk-text-secondary {
  color: #fff !important;
}
.uk-light .uk-column-divider, .uk-section-primary:not(.uk-preserve-color) .uk-column-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-card-primary.uk-card-body .uk-column-divider, .uk-card-primary > :not([class*=uk-card-media]) .uk-column-divider, .uk-card-secondary.uk-card-body .uk-column-divider, .uk-card-secondary > :not([class*=uk-card-media]) .uk-column-divider, .uk-overlay-primary .uk-column-divider, .uk-offcanvas-bar .uk-column-divider {
  -moz-column-rule-color: rgba(255, 255, 255, 0.2);
       column-rule-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-logo, .uk-section-primary:not(.uk-preserve-color) .uk-logo, .uk-section-secondary:not(.uk-preserve-color) .uk-logo, .uk-tile-primary:not(.uk-preserve-color) .uk-logo, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo, .uk-card-primary.uk-card-body .uk-logo, .uk-card-primary > :not([class*=uk-card-media]) .uk-logo, .uk-card-secondary.uk-card-body .uk-logo, .uk-card-secondary > :not([class*=uk-card-media]) .uk-logo, .uk-overlay-primary .uk-logo, .uk-offcanvas-bar .uk-logo {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-logo:hover, .uk-section-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-card-primary.uk-card-body .uk-logo:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-logo:hover, .uk-card-secondary.uk-card-body .uk-logo:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-logo:hover, .uk-overlay-primary .uk-logo:hover, .uk-offcanvas-bar .uk-logo:hover,
.uk-light .uk-logo:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-logo:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-logo:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-logo:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-logo:focus,
.uk-card-primary.uk-card-body .uk-logo:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-logo:focus,
.uk-card-secondary.uk-card-body .uk-logo:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-logo:focus,
.uk-overlay-primary .uk-logo:focus,
.uk-offcanvas-bar .uk-logo:focus {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary > :not([class*=uk-card-media]) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary > :not([class*=uk-card-media]) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-overlay-primary .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-offcanvas-bar .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) {
  display: none;
}
.uk-light .uk-logo-inverse, .uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-card-primary.uk-card-body .uk-logo-inverse, .uk-card-primary > :not([class*=uk-card-media]) .uk-logo-inverse, .uk-card-secondary.uk-card-body .uk-logo-inverse, .uk-card-secondary > :not([class*=uk-card-media]) .uk-logo-inverse, .uk-overlay-primary .uk-logo-inverse, .uk-offcanvas-bar .uk-logo-inverse {
  display: inline;
}

/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
*::before,
*::after {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
a:visited {
    text-decoration: underline;
  }

  pre,
blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }
}
.container {
  max-width: 1250px;
  padding: 0 40px;
  box-sizing: border-box;
  margin: 0 auto;
}

.large-container {
  max-width: 1390px;
  padding: 0 40px;
  box-sizing: border-box;
  margin: 0 auto;
}

html,
body {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 26px;
  font-weight: 300;
  color: #2D2C31;
}

h1.mega, h2.mega {
  font-family: "Poppins", sans-serif;
  font-size: 48px;
  line-height: 65px;
  margin-bottom: 0;
  font-weight: 600;
  letter-spacing: -0.5px;
}
@media only screen and (max-width: 1440px) {
  h1.mega, h2.mega {
    font-size: 50px;
    line-height: 65px;
  }
}
@media only screen and (max-width: 1100px) {
  h1.mega, h2.mega {
    font-size: 42px;
    line-height: 58px;
  }
}
@media only screen and (max-width: 1023px) {
  h1.mega, h2.mega {
    font-size: 32px;
    line-height: 48px;
  }
}

.component-quote blockquote, h2.custom, h1 {
  font-family: "Poppins", sans-serif;
  font-size: 42px;
  line-height: 60px;
  font-weight: 600;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
  margin-top: 0;
}
@media only screen and (max-width: 1100px) {
  .component-quote blockquote, h2.custom, h1 {
    font-size: 32px;
    line-height: 48px;
  }
}
@media only screen and (max-width: 767px) {
  .component-quote blockquote, h2.custom, h1 {
    font-size: 24px;
    line-height: 30px;
  }
}

h2 {
  font-family: "Poppins", sans-serif;
  font-size: 32px;
  line-height: 44px;
  font-weight: 600;
  margin-top: 0;
  letter-spacing: -0.5px;
}
@media only screen and (max-width: 1100px) {
  h2 {
    font-size: 28px;
    line-height: 36px;
  }
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 22px;
    line-height: 28px;
  }
}

.vragen-component .vraag-header, h3 {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  line-height: 25px;
  font-weight: 600;
  margin-bottom: 0;
}

h4, h1.custom {
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  line-height: 22px;
  text-transform: uppercase;
  letter-spacing: 2.8px;
  font-weight: 600;
  color: #F06C24;
}

* [transition] {
  cursor: pointer;
}

html,
body {
  color: #2D2C31;
}

html.menu-open {
  overflow: hidden;
}

body {
  overflow: overlay;
}

.page-wrapper {
  overflow: hidden;
}

h1 {
  color: #2D2C31;
}

h1.mega, h2.mega {
  color: #FFFFFF;
}

h1.custom {
  color: #2D2C31;
}

h2 {
  color: #2D2C31;
}

h2.custom {
  color: #2D2C31;
}

h3 {
  color: #2D2C31;
}

main.content {
  overflow: hidden;
}

em {
  color: #2D2C31;
}

a, a:hover {
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  color: #F06C24;
}

strong {
  font-weight: 700;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  display: none;
}

::-webkit-scrollbar-thumb {
  background: #2D2C31;
  width: 9px;
  cursor: pointer;
}

::-webkit-scrollbar-thumb:hover {
  background: #F06C24;
}

header {
  position: relative;
  z-index: 10001;
}

header ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
header ul li {
  display: inline-block;
}

header .top-menu-holder {
  background-color: #F06C24;
  text-align: right;
  padding: 12px 0;
  font-size: 12px;
  line-height: 17px;
  position: relative;
  z-index: 100;
}
header .top-menu-holder a {
  color: #FFFFFF;
}
header .top-menu-holder li {
  position: relative;
}
header .top-menu-holder li .vacature-count {
  display: inline-block;
  background-color: #F06C24;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 10px;
  width: 15px;
  height: 15px;
  position: relative;
  transform: translateY(-3px);
}
header .top-menu-holder li .vacature-count span {
  position: absolute;
  top: 49%;
  left: 47%;
  transform: translate(-50%, -50%);
}
header .top-menu-holder li:not(:last-child) {
  margin-right: 25px;
}
header .top-menu-holder li.external {
  font-weight: 600;
  padding-right: 12px;
  position: relative;
}
header .top-menu-holder li.external::before {
  content: "";
  background-image: url("/assets/images/white-arrow-right.svg");
  background-size: cover;
  position: absolute;
  right: 0;
  top: 4px;
  width: 5px;
  height: 9px;
  z-index: 1;
}

header .header-container {
  padding: 0 40px;
  max-width: 1850px;
  margin: 0 auto;
  box-sizing: border-box;
}

header .header-container .logo-holder img {
  width: 440px;
  height: 70px;
  transform: translateY(-3px);
}
header .header-container .logo-holder img.custom-logo {
  width: 100%;
  height: 56px;
}

header .menu-bar .header-container {
  display: flex;
  justify-content: space-between;
}

header .menu-bar {
  padding: 20px 0 0;
  position: relative;
  z-index: 6;
  background-color: #FFFFFF;
}
header .menu-bar .header-container::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #FFFFFF;
  width: 100%;
  height: 100%;
  z-index: -1;
}
header .menu-bar.uk-active {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

header .menu-bar .menu-holder {
  max-width: calc(100% - 200px);
  margin-top: 15px;
}

header .menu-bar .menu {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding-left: 20px;
}
header .menu-bar .menu li {
  position: relative;
  padding-bottom: 40px;
}
header .menu-bar .menu li:not(:last-child) {
  margin-right: 30px;
}
header .menu-bar .menu li.has-sub {
  position: static;
}
header .menu-bar .menu li.has-sub::before {
  display: none;
}
header .menu-bar .menu li.has-sub .arrow {
  position: relative;
  padding-left: 15px;
}
header .menu-bar .menu li.has-sub .arrow::before {
  content: "";
  background-image: url("/assets/images/arrow-down-black.svg");
  background-size: 100%;
  width: 12px;
  height: 7px;
  position: absolute;
  right: 0;
  top: 7px;
  transition: all 0.4s ease;
}
header .menu-bar .menu li.has-sub > a {
  position: relative;
}
header .menu-bar .menu li.has-sub > a::before {
  content: "";
  width: calc(100% + 30px);
  position: absolute;
  left: -10px;
  bottom: -50px;
  background-color: #F06C24;
  height: 6px;
  transition: all 0.3s ease;
}
header .menu-bar .menu li.has-sub:hover .arrow::before {
  transform: rotate(180deg);
}
header .menu-bar .menu li.has-sub:hover a::before {
  bottom: -44px;
}
header .menu-bar .menu li a {
  color: #2D2C31;
}

header .menu-bar .menu > ul > li::before {
  content: "";
  width: calc(100% + 20px);
  position: absolute;
  left: -10px;
  bottom: -6px;
  background-color: #F06C24;
  height: 6px;
  transition: all 0.3s ease;
}
header .menu-bar .menu > ul > li:hover::before {
  bottom: 0;
}

header .menu-bar .menu-right {
  display: inline-block;
  margin-left: 60px;
}

header .menu-right .language-selector {
  display: inline-block;
  position: relative;
  vertical-align: top;
  text-transform: uppercase;
}
header .menu-right .language-selector:hover .current {
  padding-bottom: 5px;
}

header .menu-right .language-selector img {
  margin-right: 10px;
  max-width: 18px;
  vertical-align: middle;
}

header .menu-right .language-selector .current {
  position: relative;
  padding-right: 15px;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
}
header .menu-right .language-selector .current::before {
  content: "";
  background-image: url("/assets/images/arrow-down-black.svg");
  background-size: 100%;
  width: 9px;
  height: 5px;
  position: absolute;
  right: 0;
  top: 11px;
  transition: all 0.4s ease;
}

header .menu-right .language-selector ul {
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  padding: 4px 8px;
  width: calc(100% - 8px);
  margin-left: -8px;
  opacity: 0;
  background-color: #F5F6F8;
  position: absolute;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}
header .menu-right .language-selector ul li {
  display: block;
}
header .menu-right .language-selector ul a {
  color: #2D2C31;
}

header .menu-right .language-selector:hover .current::before {
  transform: rotate(180deg);
}
header .menu-right .language-selector:hover ul {
  max-height: 50px;
  opacity: 1;
}

header .menu-right .search-holder {
  display: inline-block;
  margin-left: 10px;
  padding-left: 10px;
  position: relative;
  border-left: 1px solid #E0E0E0;
}
header .menu-right .search-holder img {
  margin-top: -2px;
}

header .menu-cta {
  max-width: 300px;
  margin: 0 0 0 auto;
}
header .menu-cta .text-holder {
  position: relative;
  padding-bottom: 40px;
  z-index: 5;
  color: #B1B8C7;
  padding-top: 30px;
}
header .menu-cta .text-holder::before {
  content: "";
  background-color: #2D2C31;
  width: calc(100% + 100px);
  left: -50px;
  height: 100%;
  position: absolute;
  bottom: 0;
  z-index: -1;
}
header .menu-cta .text-holder h3 {
  color: #FFFFFF;
  margin-bottom: 10px;
}
header .menu-cta .text-holder .button {
  margin-top: 15px;
  color: #FFFFFF;
}
header .menu-cta .image-holder {
  position: relative;
}
header .menu-cta .image-holder::before {
  content: "";
  background-color: #2D2C31;
  width: calc(100% + 100px);
  left: -50px;
  height: 50%;
  position: absolute;
  bottom: 0;
  z-index: -1;
}

header .mobile-menu {
  display: none;
}

header .nav-toggle-holder {
  display: none;
  vertical-align: middle;
  margin-left: 20px;
}

header .nav-toggle {
  width: 22px;
  height: 18px;
  position: relative;
  cursor: pointer;
}

header .nav-toggle .line {
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0px;
  background-color: #2D2C31;
}

header .nav-toggle .line.line-top {
  top: 0;
  transition: all 0.5s;
}

header .nav-toggle .line.line-middle {
  top: calc(50% - 1px);
  transition: all 0.5s;
}

header .nav-toggle .line.line-bottom {
  bottom: 0;
  transition: all 0.5s;
}

.desktop-menu-backdrop {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.75;
  z-index: 10000;
  top: 0;
}
.desktop-menu-backdrop.hide {
  display: none;
}

.site-selection-menu {
  color: #FFFFFF;
  padding-left: 20px;
  position: relative;
}
.site-selection-menu::before {
  content: "";
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
}
.site-selection-menu > div {
  position: relative;
  padding-right: 12px;
  font-weight: 600;
}
.site-selection-menu > div::before {
  content: "";
  background-image: url("/assets/images/white-arrow-right.svg");
  background-size: cover;
  position: absolute;
  right: 0;
  top: 4px;
  width: 5px;
  height: 9px;
  z-index: 1;
  transform: rotate(90deg);
  transition: all 0.4s;
}
.site-selection-menu .site-menu {
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  transition: all 0.4s;
  opacity: 0;
  visibility: hidden;
  padding-top: 12px;
}
.site-selection-menu .site-menu li {
  display: block;
}
.site-selection-menu .site-menu li:not(:last-child) {
  margin-right: 0;
}
.site-selection-menu .site-menu li a {
  color: #2D2C31;
  background-color: #FFFFFF;
  padding: 8px 15px;
  display: block;
  font-size: 14px;
  line-height: 26px;
  font-weight: 300;
}
.site-selection-menu .site-menu li a:hover {
  background-color: #F5F6F8;
}
.site-selection-menu .site-menu > ul {
  background-color: #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.site-selection-menu:hover > div::before {
  transform: rotate(-90deg);
}
.site-selection-menu:hover .site-menu {
  opacity: 1;
  visibility: visible;
}

header .menu-bar .has-sub a::before {
  display: none;
}
header .menu-bar .small-submenu-holder {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  background-color: #FFFFFF;
  transition: all 0.4s;
  transform: translateX(-25px);
  top: 100%;
}
header .menu-bar .small-submenu-holder::before {
  content: "";
  width: calc(100% - 30px);
  position: absolute;
  left: 15px;
  top: -6px;
  background-color: #F06C24;
  height: 6px;
}
header .menu-bar .small-submenu-holder .small-submenu li {
  display: block;
  padding-bottom: 0;
  margin-right: 0;
}
header .menu-bar .small-submenu-holder .small-submenu li a {
  display: block;
  padding: 10px 25px;
  transition: all 0.4s;
}
header .menu-bar .small-submenu-holder .small-submenu li a:hover {
  background-color: #F5F6F8;
}

.has-sub:hover .small-submenu-holder {
  opacity: 1;
  visibility: visible;
}

.fake-link {
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  color: #2D2C31;
}

.gtranslate_wrapper {
  display: inline-block;
}
.gtranslate_wrapper a {
  color: #2D2C31;
}
.gtranslate_wrapper a span {
  font-size: 12px !important;
}
.gtranslate_wrapper a:not(.gt-current-lang) {
  opacity: 0.6;
}
.gtranslate_wrapper a:not(.gt-current-lang):hover {
  opacity: 1;
}

@media only screen and (max-width: 1440px) {
  header .header-container .logo-holder img {
    width: 320px;
  }
}
@media only screen and (max-width: 1440px) {
  header .has-sub .submenu-holder {
    padding: 50px 0 60px;
  }
}
@media only screen and (max-width: 1360px) {
  header .menu-bar .menu li:not(:last-child) {
    margin-right: 20px;
  }

  header .menu-bar .menu-right {
    display: inline-block;
    margin-left: 40px;
  }

  header .logo-holder img {
    max-width: 300px;
  }

  header .header-container .logo-holder img.custom-logo {
    height: 43px;
  }

  header .menu-cta .text-holder::before, header .menu-cta .image-holder::before {
    width: calc(100% + 50px);
    left: -25px;
  }

  header .has-sub .submenu-holder {
    padding: 65px 0 70px;
  }
}
@media only screen and (max-width: 1200px) {
  header .menu-bar {
    padding: 20px 0;
  }

  header .menu-bar .menu-holder {
    margin-top: 8px;
  }

  header .logo-holder img {
    margin-top: 0px;
  }

  header .menu-bar .menu {
    display: none;
  }

  header .menu-bar .mobile-menu {
    display: block;
    position: fixed;
    left: 0;
    top: 133px;
    height: calc(100vh - 133px);
    background-color: #FFFFFF;
    padding: 50px 40px;
    box-sizing: border-box;
    width: 100%;
    max-width: 470px;
    z-index: 1;
    border-top: 1px solid #E7E7E7;
  }
  header .menu-bar .mobile-menu::before {
    content: "";
    background-image: url("/assets/images/menu-background.svg");
    background-size: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 114px;
    height: 146px;
    z-index: 1;
  }
  header .menu-bar .mobile-menu.hide {
    display: none;
  }

  header .mobile-menu ul li {
    display: block;
    overflow: hidden;
  }
  header .mobile-menu ul li div > a {
    font-size: 18px;
    line-height: 30px;
  }
  header .mobile-menu ul li a {
    font-weight: 500;
    color: #2D2C31;
  }

  header .mobile-menu ul li {
    margin-bottom: 25px;
  }
  header .mobile-menu ul li .arrow-holder {
    display: block;
    width: 100%;
    position: relative;
  }
  header .mobile-menu ul li .arrow-holder a {
    display: inline-block;
  }
  header .mobile-menu ul li .arrow-holder .arrow {
    width: 30px;
    height: 30px;
    position: absolute;
    right: 0;
    top: 0px;
  }
  header .mobile-menu ul li .arrow-holder .arrow::before {
    content: "";
    background-image: url("/assets/images/black-arrow-right.svg");
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 15px;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  header .mobile-submenu {
    position: absolute;
    top: 0;
    background-color: #FFFFFF;
    width: 100%;
    box-sizing: border-box;
    left: -100%;
    padding: 0 40px 50px;
    height: 100%;
    z-index: 5;
    overflow-y: overlay;
    transition: all 0.5s ease;
    overflow-x: hidden;
  }
  header .mobile-submenu.open {
    left: 0;
  }

  header .mobile-submenu .submenu-header {
    font-size: 18px;
    line-height: 30px;
    font-weight: 600;
    background-color: #2D2C31;
    text-align: center;
    padding: 20px 40px;
    color: #FFFFFF;
    width: calc(100% + 80px);
    margin-left: -40px;
    box-sizing: border-box;
    z-index: 1;
  }
  header .mobile-submenu .submenu-header .close-submenu {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 20px;
  }
  header .mobile-submenu .submenu-header .close-submenu::before {
    content: "";
    background-image: url(/assets/images/white-arrow-right.svg);
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 15px;
    transform: translate(-50%, -50%) rotate(-180deg);
    z-index: 1;
  }

  header .mobile-submenu ul li {
    margin-bottom: 0;
    overflow: initial;
  }
  header .mobile-submenu ul li a {
    display: block;
    position: relative;
    padding: 20px 0;
  }
  header .mobile-submenu ul li a::before {
    content: "";
    width: calc(100% + 80px);
    left: -40px;
    background-color: #E7E7E7;
    bottom: 0;
    position: absolute;
    height: 1px;
    z-index: 1;
  }

  header .nav-toggle-holder {
    display: inline-block;
  }

  .mobile-menu-backdrop {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.75;
    z-index: 5;
    top: 0;
  }
  .mobile-menu-backdrop.hide {
    display: none;
  }

  header .menu-cta {
    max-width: unset;
    margin: 40px 0 0;
  }
  header .menu-cta .cta-inner {
    max-width: 225px;
    margin: 0 auto;
  }

  header .menu-cta .text-holder::before, header .menu-cta .image-holder::before {
    width: calc(100% + 100px);
    left: -50px;
  }

  header .menu-bar.uk-active .mobile-menu {
    top: 92px;
    height: calc(100vh - 92px);
  }

  header .header-container .logo-holder img {
    height: 50px;
    transform: translateY(2px);
    width: 350px;
    max-width: 100%;
  }

  header .menu-bar .has-sub a::before {
    display: block;
  }
}
@media only screen and (max-width: 960px) {
  header .menu-bar .mobile-menu {
    max-width: 380px;
  }
}
@media only screen and (max-width: 767px) {
  header .top-menu-holder .top-menu nav > ul > li:not(.site-selection-menu) {
    display: none;
  }

  header .top-menu-holder .site-selection-menu::before {
    display: none;
  }

  header .mobile-menu ul .top-menu-items {
    margin-bottom: 10px;
  }
  header .mobile-menu ul .top-menu-items:first-child {
    margin-top: 20px;
  }
  header .mobile-menu ul .top-menu-items .vacature-count {
    display: inline-block;
    background-color: #F06C24;
    color: #FFFFFF;
    border-radius: 50%;
    font-size: 10px;
    width: 15px;
    height: 15px;
    position: relative;
    transform: translateY(-3px);
  }
  header .mobile-menu ul .top-menu-items .vacature-count span {
    position: absolute;
    top: 49%;
    left: 47%;
    transform: translate(-50%, -50%);
  }

  header .header-container {
    padding: 0 20px;
  }

  header .menu-bar .mobile-menu {
    top: 109px;
    height: calc(100% - 109px);
    padding: 40px 20px;
  }

  header .mobile-submenu {
    height: calc(100% + 109px);
    padding: 0 20px 40px;
    top: -70px;
  }

  header .menu-bar.uk-active .mobile-menu {
    top: 109px;
    height: calc(100vh - 109px);
  }

  header .mobile-submenu .submenu-header .close-submenu {
    left: 10px;
  }

  header .mobile-submenu .submenu-header .close-mobile-menu {
    width: 30px;
    height: 30px;
    position: absolute;
    right: 20px;
    top: 20px;
  }
  header .mobile-submenu .submenu-header .close-mobile-menu::before {
    content: "";
    background-image: url(/assets/images/close-icon.svg);
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 13px;
    height: 13px;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  header .menu-bar .menu-right {
    margin-left: 0;
  }

  header .menu-bar .menu-holder {
    max-width: calc(100% - 80px);
    margin-top: 2px;
  }

  header .menu-bar .mobile-menu {
    max-width: unset;
  }

  header .header-container .logo-holder img.custom-logo {
    max-height: 33px;
  }

  header .header-container .logo-holder img {
    height: 30px;
    transform: translateY(2px);
    max-width: 190px;
  }

  .gt_container--oiz9qs a.glink span {
    display: none;
  }
}
@media only screen and (max-width: 350px) {
  header .logo-holder img {
    max-width: 196px;
  }
}
footer {
  position: relative;
  z-index: 980;
}

footer .certificaten-holder {
  padding: 40px 0;
  background-color: #F5F6F8;
}

footer .title-holder {
  height: 100%;
  display: flex;
  align-items: center;
}
footer .title-holder h3 {
  margin-bottom: 0;
}

footer .certificaten-holder .certificaten {
  display: flex;
  justify-content: space-between;
}
footer .certificaten-holder .certificaten img {
  max-width: 80px;
  max-height: 82px;
}

footer .certificaten-holder .title-column {
  display: none;
}

footer h3 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
}

footer h4 {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 10px;
}
footer h4.second-h4 {
  margin-top: 20px;
}

.footer-holder {
  background-color: #2D2C31;
  padding: 80px 0;
  color: #FFFFFF;
  position: relative;
}
.footer-holder a {
  color: #FFFFFF;
}

.footer-holder ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-holder h3 {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: #FFFFFF;
}
.footer-holder h3::before {
  content: "";
  background-color: #F06C24;
  width: 25px;
  height: 3px;
  left: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}

.footer-holder .footer-menu a {
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
}
.footer-holder .footer-menu a::before, .footer-holder .footer-menu a::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #F06C24;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
.footer-holder .footer-menu a::before {
  left: -100%;
}
.footer-holder .footer-menu a::after {
  right: -100%;
  transition-delay: 250ms;
}
.footer-holder .footer-menu a:hover::before {
  left: 0;
}
.footer-holder .footer-menu a:hover::after {
  right: 0;
}

.footer-holder .support-title {
  color: #F06C24;
  margin-bottom: 15px;
  font-size: 14px;
}

.footer-holder .location-holder li {
  margin-bottom: 10px;
}

.footer-holder .location-holder a > span {
  color: #F06C24;
  font-weight: 600;
  display: inline-block;
  padding-right: 3px;
}

.footer-holder .footer-disclaimer {
  margin-top: 75px;
  font-size: 12px;
  line-height: 20px;
  color: #777B86;
}
.footer-holder .footer-disclaimer li {
  display: inline-block;
}
.footer-holder .footer-disclaimer li a {
  color: #777B86;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li {
  position: relative;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li:not(:last-child) {
  padding-right: 6px;
  margin-right: 2px;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li:not(:last-child)::before {
  content: "";
  background-color: #777B86;
  width: 1px;
  height: calc(100% - 6px);
  right: 0;
  top: 3px;
  position: absolute;
  z-index: 1;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li a:hover {
  color: #FFFFFF;
}

.footer-holder .footer-disclaimer .socials li:not(:last-child) {
  margin-right: 40px;
}
.footer-holder .footer-disclaimer .socials a {
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
}
.footer-holder .footer-disclaimer .socials a::before {
  content: "";
  background-size: 100%;
  background-repeat: no-repeat;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  transition: all 0.4s ease;
}
.footer-holder .footer-disclaimer .socials a.facebook::before {
  background-image: url("/assets/images/facebook.svg");
  width: 10px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.facebook:hover::before {
  background-image: url("/assets/images/facebook-white.svg");
}
.footer-holder .footer-disclaimer .socials a.linkedIn::before {
  background-image: url("/assets/images/linkedIn.svg");
  width: 18px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.linkedIn:hover::before {
  background-image: url("/assets/images/linkedIn-white.svg");
}
.footer-holder .footer-disclaimer .socials a.youtube::before {
  background-image: url("/assets/images/youtube.svg");
  width: 22px;
  height: 16px;
}
.footer-holder .footer-disclaimer .socials a.youtube:hover::before {
  background-image: url("/assets/images/youtube-white.svg");
}
.footer-holder .footer-disclaimer .socials a.pinterest::before {
  background-image: url("/assets/images/pinterest.svg");
  width: 15px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.pinterest:hover::before {
  background-image: url("/assets/images/pinterest-white.svg");
}
.footer-holder .footer-disclaimer .socials a.instagram::before {
  background-image: url("/assets/images/instagram.svg");
  width: 19px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.instagram:hover::before {
  background-image: url("/assets/images/instagram-white.svg");
}

footer .certificaten-holder .certificaten.mobile {
  display: none;
}

.support-mobile {
  display: none;
}

footer .footer-logo {
  margin-bottom: 20px;
}
footer .footer-logo img {
  max-width: 120px;
}

footer .disclaimer-menu {
  margin-bottom: 5px;
}

footer .socials-column {
  display: flex;
  height: 100%;
  align-items: end;
}

.footer-certificaat {
  position: absolute;
  top: 0;
  left: 40px;
}
.footer-certificaat .certificaat-inner {
  display: flex;
}
.footer-certificaat .certificaat:not(:last-child) {
  margin-right: 15px;
}
.footer-certificaat .certificaat img {
  max-height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.data-partner-logo {
  max-width: 90px;
}

.disclaimer-menu-container {
  display: flex;
  height: 100%;
  align-items: end;
}

@media only screen and (max-width: 1600px) {
  footer.extra-padding .footer-holder {
    padding: 120px 0 80px;
  }
}
@media only screen and (max-width: 1100px) {
  .footer-holder {
    padding: 75px 0;
  }

  footer.extra-padding .footer-holder {
    padding: 120px 0 75px;
  }

  .footer-holder .footer-disclaimer {
    margin-top: 50px;
  }

  .footer-holder .footer-disclaimer .socials li:not(:last-child) {
    margin-right: 30px;
  }

  .footer-holder .support-dekstop {
    display: none;
  }

  .footer-holder .uk-width-1-2\@m {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .footer-holder .footer-disclaimer .socials li:not(:last-child) {
    margin-right: 15px;
  }

  footer .certificaten-holder .certificaten {
    display: inline-block;
    text-align: center;
  }

  footer .certificaten-holder {
    padding: 40px 0 30px;
  }

  footer .certificaten-holder {
    text-align: center;
  }

  footer .title-holder {
    display: block;
    margin-bottom: 30px;
  }

  footer .certificaten-holder .uk-width-1-3\@m {
    width: 100%;
  }

  footer .certificaten-holder .uk-width-2-3\@m {
    width: 100%;
  }

  footer .certificaten-holder .certificaat {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
  }
  footer .certificaten-holder .certificaat img {
    max-width: 70px;
    max-height: 70px;
  }
}
@media only screen and (max-width: 767px) {
  footer .certificaten-holder .certificaten.mobile {
    display: block;
  }

  footer .certificaten-holder .container {
    padding: 0;
  }

  footer .certificaten-holder .certificaten.desktop {
    display: none;
  }

  .footer-holder {
    padding: 0 0 50px;
  }

  .footer-holder .footer-top .uk-grid-margin {
    margin-top: 0;
  }

  .collapse-item-holder {
    position: relative;
    padding: 25px 0;
  }
  .collapse-item-holder::before {
    content: "";
    width: calc(100% + 40px);
    left: -20px;
    height: 1px;
    background-color: #606060;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
  .collapse-item-holder .collapse-item {
    position: relative;
    height: auto;
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .collapse-item-holder h3 {
    position: relative;
    padding: 0;
    margin: 0;
    font-size: 14px;
  }
  .collapse-item-holder h3::before {
    display: none;
  }
  .collapse-item-holder h3::after {
    content: "";
    background-image: url(/assets/images/arrow-down-white.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 10px;
    width: 15px;
    height: 9px;
    z-index: 1;
    transition: all 0.4s ease;
  }
  .collapse-item-holder.active .collapse-item {
    height: auto;
    position: relative;
    opacity: 1;
    visibility: visible;
    max-height: 400px;
    padding-top: 10px;
  }
  .collapse-item-holder.active h3::after {
    transform: rotate(-180deg);
  }

  .footer-holder .footer-disclaimer {
    text-align: center;
    margin-top: 30px;
  }

  .footer-holder .disclaimer-menu-holder {
    order: 2;
  }

  .footer-holder .socials-holder {
    order: 1;
  }

  .support-mobile {
    display: block;
    max-width: 320px;
    margin: 0 auto 30px;
  }

  .support-mobile .title-holder {
    height: 100%;
    display: flex;
    align-items: center;
  }

  .footer-holder .support-title {
    margin-bottom: 0;
  }

  footer .certificaten-holder .title-column {
    display: block;
  }

  footer .socials-column {
    justify-content: center;
  }

  .footer-certificaat {
    left: 20px;
  }

  footer.extra-padding .footer-holder {
    padding: 120px 0 50px;
  }

  .extra-padding .footer-top {
    position: relative;
  }
  .extra-padding .footer-top::before {
    content: "";
    width: calc(100% + 40px);
    left: -20px;
    height: 1px;
    background-color: #606060;
    position: absolute;
    top: 0;
    z-index: 1;
  }

  footer .footer-logo img {
    max-width: 100px;
  }

  .data-partner-logo {
    max-width: 90px;
    margin: 0 auto;
  }

  .disclaimer-menu-container {
    display: block;
  }
}
.homepage-header {
  background-color: #2D2C31;
  color: #FFFFFF;
  position: relative;
}

.scroller {
  font-size: 14px;
  line-height: 26px;
  color: #B1B8C7;
  padding-left: 40px;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: bottom center;
  display: block;
  z-index: 15;
  position: absolute;
  top: 30%;
  left: 80px;
}
.scroller::before {
  content: "";
  width: 27px;
  height: 16px;
  border: 2px solid #B1B8C7;
  border-radius: 9.5px;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  position: absolute;
  display: block;
  left: 0;
  top: 4px;
}
.scroller::after {
  content: "";
  background-color: #F06C24;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 18px;
  -webkit-animation: fade 1.5s infinite;
          animation: fade 1.5s infinite;
}
.scroller:hover {
  color: #FFFFFF;
}
.scroller:hover::before {
  border: 2px solid #FFFFFF;
}

.detail-header .scroller:hover {
  color: #2D2C31;
}
.detail-header .scroller:hover::before {
  border: 2px solid #2D2C31;
}

.homepage-header .text-container {
  height: 100%;
  display: flex;
  align-items: center;
}

.homepage-header .text-holder {
  padding: 100px 0 100px 40px;
  max-width: 420px;
  width: 100%;
  margin: 0 160px 0 auto;
}
.homepage-header .text-holder .text {
  margin: 30px 0;
}

.first-button {
  margin-right: 10px;
  margin-bottom: 20px;
}

.homepage-header .image-holder {
  position: relative;
  height: 100%;
  background-color: #bbb;
}
.homepage-header .image-holder img:not(.header-illustration) {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 775px;
  opacity: 0.4;
}

.homepage-header .image-holder .header-illustration {
  width: 87%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.no-image-header-holder {
  position: relative;
}
.no-image-header-holder::before {
  content: "";
  background-color: #F5F6F8;
  width: 100vw;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.no-image-header {
  color: #FFFFFF;
  padding: 100px 0 120px;
  max-width: 1850px;
  margin: 0 auto;
  box-sizing: border-box;
}
.no-image-header::before {
  content: "";
  position: absolute;
  right: 40px;
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #2D2C31;
  z-index: 1;
}
.no-image-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 40px;
  background-color: #F06C24;
  height: 15px;
  width: 130px;
  z-index: 1;
}
.no-image-header .container {
  position: relative;
  z-index: 5;
}

.no-image-header h1 {
  color: #FFFFFF;
}
.no-image-header h1.custom {
  color: #F06C24;
}

.no-image-header h2.custom {
  color: #FFFFFF;
}

.no-image-header h4 {
  color: #F06C24;
  margin-top: 0;
}

.no-image-header .intro {
  padding-top: 40px;
  position: relative;
  max-width: 470px;
  margin: 10px 0 0 auto;
}
.no-image-header .intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #F06C24;
  height: 3px;
  width: 25px;
}

.no-image-header .scroller {
  top: 195px;
}

.image-header {
  position: relative;
}

.image-header h4 {
  color: #F06C24;
  margin-top: 0;
}

.image-header img {
  max-width: 850px;
}

.image-header .flex-column {
  display: flex;
  align-items: center;
}

.image-header .scroller {
  top: 195px;
}

.image-header .image-holder {
  position: relative;
  z-index: 2;
}
.image-header .image-holder::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 100%;
  height: 15px;
  width: 130px;
  background-color: #F06C24;
  z-index: -1;
}
.image-header .image-holder::after {
  content: "";
  position: absolute;
  left: 500px;
  top: 75px;
  height: 100%;
  width: 100vw;
  background-color: #2D2C31;
  z-index: -1;
}

.products-holder {
  padding: 75px 0;
  background-color: #F06C24;
  color: #FFFFFF;
}
.products-holder.custom-margin {
  margin-top: 100px;
}

.products-holder .producten-intro-holder {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
}
.products-holder .producten-intro-holder h2 {
  color: #FFFFFF;
  margin: 0 auto 10px;
}

.products-holder .product {
  border-radius: 4px;
  overflow: hidden;
}
.products-holder .product .image-holder {
  position: relative;
  overflow: hidden;
}
.products-holder .product .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.products-holder .product .text-holder {
  background-color: #FFFFFF;
  padding: 20px 20px 70px;
  color: #2D2C31;
  text-align: center;
}
.products-holder .product .text-holder h3 {
  margin-bottom: 10px;
}

.products-holder {
  position: relative;
}

.products-holder .product:hover img {
  transform: scale(1.03);
}

.products-holder .button-holder {
  text-align: center;
  margin-top: -25px;
}
.products-holder .button-holder .button {
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.2);
}

.producten-grid.mobile {
  display: none;
}

.homepage-cta-holder {
  position: relative;
  margin: 120px 0 100px;
  /*background-color: $light-grey;*/
  /*&::before {
      content: '';
      background-color: $white;
      width: 68vw;
      height: 50%;
      bottom: 0;
      left: 0;
      position: absolute;
      z-index: 1;
  }*/
  /*&::after {
      content: '';
      background-color: $white;
      width: 100%;
      height: 50%;
      top: 0;
      left: 0;
      position: absolute;
      z-index: 1;
  }*/
}
.homepage-cta-holder > div {
  position: relative;
  z-index: 5;
}

.homepage-cta-holder .column {
  padding: 55px 70px 45px;
  color: #FFFFFF;
  height: 100%;
  box-sizing: border-box;
}
.homepage-cta-holder .column h2 {
  color: #FFFFFF;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: -0.2px;
  font-weight: 500;
  margin-bottom: 40px;
}
.homepage-cta-holder .column.black {
  background-color: #2D2C31;
}
.homepage-cta-holder .column.blue {
  background-color: #F06C24;
}
.homepage-cta-holder .column .icon-holder {
  overflow: hidden;
  margin-bottom: 25px;
}
.homepage-cta-holder .column .icon-holder img {
  transform: translateY(105%);
  transition: all 0.5s ease;
  transition-delay: 0.7s;
}
.homepage-cta-holder .column a.read-more, .homepage-cta-holder .column span.read-more {
  font-weight: 500;
}

.homepage-cta-holder .column {
  transition: transform 0.7s cubic-bezier(0.1, 0.38, 0.53, 0.98), opacity 1.3s ease;
}
.homepage-cta-holder .large-container .column.black {
  opacity: 0;
  transform: translateX(-150px);
}
.homepage-cta-holder .large-container .column.blue {
  opacity: 0;
  transform: translateX(150px);
}
.homepage-cta-holder.show .large-container .column {
  opacity: 1;
  transform: translateX(0);
}
.homepage-cta-holder.show .icon-holder img {
  transform: translateY(0);
}

.homepage-cta-one-column .column {
  max-width: 870px;
  margin: 0 auto;
}

.demo-holder {
  background-color: #F5F6F8;
  padding: 120px 0 0;
  position: relative;
  /*&::before {
      content: '';
      background-color: $white;
      width: 68vw;
      height: 100%;
      top: 0;
      left: 0;
      position: absolute;
      z-index: 1;
  }*/
}
.demo-holder > div {
  position: relative;
  z-index: 5;
}

.demo-holder .text-holder {
  max-width: 470px;
  padding-bottom: 120px;
}

.demo-holder .image-holder {
  margin-bottom: -100px;
}
.demo-holder .image-holder img {
  width: calc(100% + 70px);
  max-width: calc(100% + 70px);
}

.diensten-holder {
  padding: 150px 0 0;
}
.diensten-holder .diensten-intro-holder {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
  padding: 0 40px;
}
.diensten-holder .diensten-intro-holder h2 {
  max-width: 570px;
  margin: 0 auto 10px;
}

.diensten-holder .diensten-tabs {
  position: relative;
}
.diensten-holder .diensten-tabs::before {
  content: "";
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  background-color: #B1B8C7;
  opacity: 0.5;
  position: absolute;
  height: 1px;
  bottom: 0;
  z-index: 1;
}

.diensten-holder .diensten-tabs-inner {
  overflow: hidden;
}

.diensten-holder .tabs-holder-desktop {
  display: flex;
  justify-content: space-evenly;
}

.diensten-holder .label-holder {
  transform: translateY(100%);
  transition: all 0.5s ease;
  text-align: center;
  cursor: pointer;
  color: #B1B8C7;
}
.diensten-holder .label-holder.active {
  color: #2D2C31;
  font-weight: 600;
}

.diensten-holder .show .label-holder {
  transform: translateY(0);
}

.diensten-holder .label-holder .label {
  display: inline-block;
  height: 100%;
  position: relative;
  margin-bottom: 15px;
}
.diensten-holder .label-holder .label::before {
  content: "";
  background-color: #F06C24;
  width: calc(100% + 20px);
  height: 6px;
  position: absolute;
  bottom: -7px;
  left: -10px;
  z-index: 1;
  transition: all 0.5s ease;
}

.corporate .diensten-holder .label-holder.active .label.with-icon::before {
  background-color: #F06C24;
}
.corporate .diensten-holder .label-holder .label.with-icon::before {
  bottom: 0;
  background-color: #f2f2f2;
}
.corporate .diensten-holder .label-holder .label .inner-label {
  padding-left: 40px;
  position: relative;
  font-size: 18px;
}
.corporate .diensten-holder .label-holder .label .inner-label img {
  width: 100%;
  height: 100%;
  max-width: 35px;
  max-height: 35px;
  position: absolute;
  right: calc(100% - 28px);
  top: 50%;
  transform: translateY(-50%);
}

.diensten-holder .label-holder.active .label::before, .diensten-holder .label-holder:hover .label::before {
  bottom: 0;
}

.diensten-holder .tabs-container {
  position: relative;
}

.diensten-holder .tabs-holder {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  transition: all 0.5s ease;
  padding: 90px 0 0;
}
.diensten-holder .tabs-holder.active {
  position: relative;
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}

.diensten-holder .tabs-holder .text-holder {
  max-width: 470px;
}
.diensten-holder .tabs-holder .text-holder .text {
  margin: 10px 0 30px;
}
.diensten-holder .tabs-holder .text-holder ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.diensten-holder .tabs-holder .text-holder ul li {
  position: relative;
  padding-left: 20px;
}
.diensten-holder .tabs-holder .text-holder ul li::before {
  content: "";
  background-image: url("/assets/images/green-check.svg");
  background-size: 100%;
  width: 12px;
  height: 8px;
  position: absolute;
  left: 0;
  top: 9px;
  z-index: 1;
}

.diensten-holder .tabs-holder .image-holder img {
  width: calc(100% + 70px);
  max-width: calc(100% + 70px);
}

.diensten-holder .tabs-holder-mobile {
  display: none;
}
.diensten-holder .tabs-holder-mobile .arrow {
  width: 35px;
  height: 35px;
  position: absolute;
  left: 25px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.diensten-holder .tabs-holder-mobile .arrow::before {
  content: "";
  background-image: url("/assets/images/arrow-black-right.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 8px;
  height: 15px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.diensten-holder .tabs-holder-mobile .arrow.prev::before {
  transform: translate(-50%, -50%) rotate(-180deg);
}
.diensten-holder .tabs-holder-mobile .arrow.next {
  left: unset;
  right: 25px;
}

.logo-slider {
  overflow: unset;
}

.logo-slider .uk-slider-items {
  justify-content: center;
}

.logo-slider li {
  padding-right: 30px;
}

.logo-slider .square {
  border-radius: 20px;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  height: 170px;
  position: relative;
  display: block;
  width: 170px;
}
.logo-slider .square img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 125px;
  max-height: 60px;
}

.klanten-holder {
  margin: 120px 0;
}

.klanten-holder .klanten-intro-holder {
  max-width: 570px;
  margin-bottom: 100px;
}

.bekijk-cirkel {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 80px;
  height: 80px;
  background-color: #F06C24;
  text-align: center;
  padding-top: 25px;
  color: #fff;
  border-radius: 80px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  cursor: pointer;
  transform: scale(0.1);
  transition: opacity 300ms, visibility 300ms, transform 400ms cubic-bezier(0.64, 0.57, 0.67, 1.2);
}

.logo-slider .square.with-link:hover .bekijk-cirkel {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.logo-slider .bekijk-cirkel {
  pointer-events: none;
}

.section-victaQlikHomepage .cta-full-background {
  padding: 140px 0;
}
.section-victaQlikHomepage .cta-full-background .cta-description::before {
  display: none;
}
.section-victaQlikHomepage .cta-full-background .text-holder {
  max-width: 470px;
}

.nieuws-holder {
  margin: 100px 0;
  padding: 100px 0 0;
  position: relative;
}
.nieuws-holder.custom {
  margin-top: 0;
}
.nieuws-holder .producten-intro-holder {
  max-width: 560px;
  margin-bottom: 50px;
}

.nieuws-holder .large-text-holder {
  position: absolute;
  top: -70px;
  left: 80px;
  z-index: 5;
}

.nieuws-grid-holder {
  position: relative;
  z-index: 10;
}
.nieuws-grid-holder .text-holder {
  margin-top: 20px;
}

.nieuws-grid-holder .nieuws-item h3 {
  margin-top: 10px;
  margin-bottom: 10px;
}
.nieuws-grid-holder .nieuws-item .image-holder {
  position: relative;
  overflow: hidden;
}
.nieuws-grid-holder .nieuws-item .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.nieuws-grid-holder .nieuws-item:hover img {
  transform: scale(1.03);
}

.nieuws-grid-holder .nieuws-item .text-holder {
  background-color: #F5F6F8;
  padding: 30px 25px;
}
.nieuws-grid-holder .nieuws-item .text-holder h3 {
  margin-top: 10px;
  margin-bottom: 30px;
}
.nieuws-grid-holder .nieuws-item .text-holder .date {
  color: #B1B8C7;
}

.nieuws-grid-holder .button-holder {
  text-align: center;
  margin-top: 50px;
}

.cta-right-image.left::before {
  right: unset;
  left: 0;
}

.popup {
  position: fixed;
  top: 10%;
  left: 50%;
  max-width: 770px;
  background-color: #FFFFFF;
  width: calc(100% - 80px);
  z-index: 1000001;
  transform: translate(-50%, -50%);
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
}
.popup.show {
  top: 40%;
  visibility: visible;
  opacity: 1;
}

.popup .popup-close {
  position: absolute;
  right: 20px;
  top: 10px;
  cursor: pointer;
  z-index: 100;
}
.popup .popup-close img {
  transition: all 0.5s;
}
.popup .popup-close:hover img {
  transform: rotate(180deg);
}

.popup .image-holder {
  height: 100%;
}
.popup .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.popup .text-container {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
.popup .text-container::before {
  content: "";
  background-image: url("/assets/images/popup-decoration.svg");
  position: absolute;
  bottom: 0;
  right: 0;
  width: 180px;
  height: 224px;
  z-index: 1;
}

.popup .text-holder {
  padding: 65px 50px;
  position: relative;
  z-index: 5;
}
.popup .text-holder h3 {
  font-size: 24px;
  line-height: 40px;
  letter-spacing: -0.2px;
}

.popup-backdrop {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  z-index: 100000;
  top: -30%;
  transition: all 0.5s ease;
  visibility: hidden;
}
.popup-backdrop.show {
  opacity: 0.75;
  visibility: visible;
  top: 0;
}

.filter {
  color: #FFFFFF;
  margin-top: 100px;
}

.filter .cat-label {
  padding: 11px 25px;
  border: 1px solid #777B86;
  border-radius: 6px;
  margin-left: 15px;
  cursor: pointer;
  transition: all 300ms;
  font-weight: 100;
  color: #FFFFFF;
}
.filter .cat-label:hover, .filter .cat-label.active {
  background-color: #777B86;
  color: #FFFFFF;
}

.filter .cat-label img {
  margin-left: 10px;
  margin-top: -2px;
}

.resources-holder {
  background-color: #F5F6F8;
  margin-top: -100px;
  padding-bottom: 100px;
}

.resources-holder .image-holder .label {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #F19E38;
  color: #FFFFFF;
  padding: 3px 15px;
  z-index: 4;
  font-size: 12px;
}

.section-resourcesOverzicht .no-image-header, .section-marketplaceOverzicht .no-image-header {
  padding-bottom: 200px;
}

.section-resourcesOverzicht .nieuws-holder, .section-marketplaceOverzicht .nieuws-holder {
  margin: 0;
  padding-top: 0;
  position: relative;
}

.section-resourcesOverzicht .nieuws-grid-holder .nieuws-item .text-holder, .section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder {
  background-color: #FFFFFF;
  padding: 25px 35px 20px;
}

.section-resourcesOverzicht footer .certificaten-holder, .section-nieuwsOverzicht footer .certificaten-holder, .section-marketplaceOverzicht footer .certificaten-holder {
  background-color: #FFFFFF;
}

.producten-header {
  background-color: #F06C24;
  padding-bottom: 145px;
  position: relative;
}
.producten-header::before {
  content: "";
  background-color: #2D2C31;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 73vw;
  z-index: 1;
}

.producten-header .image-holder {
  padding-right: 40px;
  position: relative;
  z-index: 1;
  max-width: 870px;
}
.producten-header .image-holder::before {
  content: "";
  background-color: #FFFFFF;
  position: absolute;
  left: 0;
  top: 0;
  height: 50%;
  width: 100vw;
  z-index: -1;
}

.producten-header .text-holder {
  position: relative;
  z-index: 1000;
  color: #FFFFFF;
  max-width: 470px;
  margin: 0 100px 0 auto;
  padding: 100px 0 0;
}
.producten-header .text-holder h1 {
  color: #F06C24;
}
.producten-header .text-holder h2 {
  color: #FFFFFF;
}

.products-holder .large-text-holder {
  position: absolute;
  top: -150px;
  left: 80px;
  z-index: 5;
}

.section-productenOverzicht .products-holder::before {
  content: "";
  background-image: url("/assets/images/products-decoration-green.svg");
  background-size: 100%;
  width: 218px;
  height: 388px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.section-productenOverzicht .products-holder .container {
  position: relative;
  z-index: 5;
}

.detail-header {
  position: relative;
}
.detail-header::before {
  content: "";
  width: 100vw;
  height: 50%;
  background-color: #F5F6F8;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.detail-header .image-holder {
  max-width: 1100px;
  margin-right: 40px;
  margin-left: -20px;
  position: relative;
  z-index: 5;
}

.detail-header .text-container {
  display: flex;
  height: 100%;
  align-items: center;
}

.detail-header .text-holder {
  padding: 60px 70px 70px;
  position: relative;
  background-color: #FFFFFF;
  z-index: 10;
  width: 100%;
  box-sizing: border-box;
  max-width: 570px;
  margin: 50px -105px 0 auto;
}
.detail-header .text-holder h1.custom {
  color: #F06C24;
}
.detail-header .text-holder .label {
  color: #F06C24;
  font-weight: 600;
}

#inhoud.no-margin {
  margin-top: 0;
}

.diensten-header {
  background-color: #2D2C31;
  position: relative;
  padding: 100px 0;
  color: #FFFFFF;
  /*&::before {
      content: '';
      background-image: url('/assets/images/diensten-illustration.svg');
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      width: 265px;
      height: 229px;
      z-index: 1;
  }*/
}
.diensten-header .diensten-particles {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 350px !important;
  width: 9% !important;
  height: 230px !important;
  opacity: 0.3;
}
.diensten-header .container {
  position: relative;
  z-index: 5;
}
.diensten-header h1 {
  color: #F06C24;
}
.diensten-header h2 {
  color: #FFFFFF;
}

.diensten-header .intro {
  padding-top: 40px;
  position: relative;
  max-width: 470px;
  margin: 10px 0 0 auto;
}
.diensten-header .intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #F06C24;
  height: 3px;
  width: 25px;
}

.products-holder.diensten {
  background-color: #2D2C31;
  display: inline-block;
  width: 100%;
  padding: 0 0 120px;
  position: relative;
}
.products-holder.diensten .large-outline-text text {
  text-transform: capitalize;
}
.products-holder.diensten .large-text-holder {
  top: -100px;
}
.products-holder.diensten .container {
  position: relative;
  z-index: 5;
}
.products-holder.diensten .product .text-holder {
  background-color: #39383D;
  color: #FFFFFF;
  text-align: left;
  padding: 30px;
}
.products-holder.diensten .product .text-holder h3 {
  color: #FFFFFF;
}
.products-holder.diensten .product .text-holder ul {
  list-style: none;
  padding: 0;
  margin: 20px 0 30px;
}
.products-holder.diensten .product .text-holder ul li {
  position: relative;
  padding-left: 20px;
}
.products-holder.diensten .product .text-holder ul li::before {
  content: "";
  background-image: url("/assets/images/green-check.svg");
  background-size: 100%;
  width: 12px;
  height: 8px;
  position: absolute;
  left: 0;
  top: 9px;
  z-index: 1;
}

.products-holder.diensten .dots-animation {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.products-holder.licenties {
  background-color: #F5F6F8;
  color: #2D2C31;
}
.products-holder.licenties h2 {
  color: #2D2C31;
}
.products-holder.licenties .container {
  max-width: 1600px;
}

.section-diensten .detail-header .text-holder {
  background-color: #2D2C31;
  color: #FFFFFF;
  position: relative;
}
.section-diensten .detail-header .text-holder::before {
  content: "";
  background-image: url("/assets/images/dienst-detail-illustration.svg");
  background-size: 100%;
  height: 150px;
  width: 152px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.section-diensten .detail-header .text-holder > * {
  position: relative;
  z-index: 5;
}
.section-diensten .detail-header .text-holder h1 {
  color: #FFFFFF;
}

p.nr-results {
  color: #2D2C31;
  margin-top: 80px;
}

.resultaten-holder {
  background-color: #F5F6F8;
  display: inline-block;
  width: 100%;
}

.resultaten .search-item {
  padding: 30px 20px 30px 0;
  background-color: transparent;
  border-bottom: 1px solid #B1B8C7;
  transition: all 300ms;
  position: relative;
  cursor: pointer;
  display: block;
  color: #2D2C31;
}
.resultaten .search-item.first-result {
  border-top: 1px solid #B1B8C7;
}
.resultaten .search-item > * {
  max-width: 970px;
}
.resultaten .search-item h3 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #F06C24;
}

.resultaten .search-item h3 + p {
  margin: 0 0 20px;
}

.resultaten {
  margin-bottom: 100px;
}

.form-holder.zoek-form {
  margin-top: 50px;
}

.form-holder.zoek-form input {
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  outline: none;
  box-shadow: none !important;
  padding: 15px 20px 15px 50px;
  width: 100%;
  max-width: 470px;
}

.form-holder.zoek-form .input-holder {
  position: relative;
  margin-right: 20px;
  display: inline-block;
  width: 100%;
  max-width: 470px;
}
.form-holder.zoek-form .input-holder::before {
  content: "";
  background-image: url("/assets/images/search-icon.svg");
  background-size: 100%;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 20px;
  top: 17px;
  z-index: 1;
}

.form-holder.zoek-form button {
  border: none;
  min-width: 150px;
}

.contact-header {
  background-color: #F5F6F8;
  padding: 110px 0;
}

.contact-header h1, .contact-header h2 {
  margin-bottom: 30px;
}

.contact-header .text-holder {
  max-width: 470px;
  padding-right: 30px;
}
.contact-header .text-holder.right {
  margin: 0 0 0 auto;
  padding-right: 0;
  padding-left: 30px;
}

.contact-header .vestigingen-holder .uk-dotnav > * > * {
  border: 1px solid #B1B8C7;
}
.contact-header .vestigingen-holder .uk-dotnav > .uk-active > * {
  border: 1px solid #F06C24;
  background-color: #F06C24;
}

.contact-header .contact-inner {
  position: relative;
}
.contact-header .contact-inner::before {
  content: "";
  background-color: #D3D6DF;
  width: 1px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
}

.contact-header .location-holder ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.contact-header .location-holder ul li a {
  color: #2D2C31;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
}
.contact-header .location-holder ul li a::before, .contact-header .location-holder ul li a::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #04B6CE;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
.contact-header .location-holder ul li a::before {
  left: -100%;
}
.contact-header .location-holder ul li a::after {
  right: -100%;
  transition-delay: 250ms;
}
.contact-header .location-holder ul li a:hover::before {
  left: 0;
}
.contact-header .location-holder ul li a:hover::after {
  right: 0;
}
.contact-header .location-holder ul li a > span {
  font-weight: 600;
  color: #F06C24;
}

.contact-header .location-holder {
  max-width: 180px;
}
.contact-header .location-holder.odd {
  margin: 0 0 0 auto;
}
.contact-header .location-holder .vestigingnaam {
  font-weight: 600;
  transition: all 0.4s;
}
.contact-header .location-holder .vestigingnaam.active {
  color: #F06C24;
}
.contact-header .location-holder .button {
  margin-top: 10px;
}

.contact-header .blokken-holder .blok {
  padding: 15px 0 30px;
  border-bottom: 1px solid #D3D6DF;
  margin-bottom: 10px;
}
.contact-header .blokken-holder .blok.last {
  margin-bottom: 0;
  border-bottom: none;
  padding: 15px 0 0;
}
.contact-header .blokken-holder .blok h3 {
  font-size: 24px;
  line-height: 42px;
  letter-spacing: -0.2px;
  margin-bottom: 20px;
}
.contact-header .blokken-holder .blok p {
  margin-bottom: 0;
}

.contact-header .blokken-holder .button-holder {
  margin-top: 30px;
}
.contact-header .blokken-holder .button-holder .first-button {
  margin-right: 20px;
  margin-bottom: 0;
}
.contact-header .blokken-holder .button-holder .underline {
  color: #777B86;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
  margin-top: 13px;
}
.contact-header .blokken-holder .button-holder .underline::before, .contact-header .blokken-holder .button-holder .underline::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #B1B8C7;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
.contact-header .blokken-holder .button-holder .underline::before {
  left: -100%;
}
.contact-header .blokken-holder .button-holder .underline::after {
  right: -100%;
  transition-delay: 250ms;
}
.contact-header .blokken-holder .button-holder .underline:hover::before {
  left: 0;
}
.contact-header .blokken-holder .button-holder .underline:hover::after {
  right: 0;
}

.contact-formulier-holder {
  position: relative;
  background-color: #F5F6F8;
  padding-bottom: 90px;
}

.contact-formulier-holder .achtergrond-titel {
  position: absolute;
  bottom: 200px;
  left: 70px;
  font-family: "Poppins", sans-serif;
  font-size: 130px;
  line-height: 130px;
  font-weight: 600;
  -webkit-text-stroke: 1px #B1B8C7;
  -webkit-text-fill-color: transparent;
  transform: rotate(-90deg);
  transform-origin: top left;
  z-index: 5;
}

.contact-formulier-holder .left-column {
  padding: 90px 0;
  position: relative;
  z-index: 1;
  max-width: 570px;
}
.contact-formulier-holder .left-column::before {
  content: "";
  background-color: #FFFFFF;
  width: 30000px;
  height: 100%;
  position: absolute;
  right: -200px;
  top: 0;
  z-index: -1;
}
.contact-formulier-holder .left-column.no-image::before {
  right: -75px;
}

.contact-formulier-holder .achtergrond-titel span {
  display: block;
}

.contact-formulier-holder .right-column {
  position: relative;
  z-index: 5;
  height: 100%;
}
.contact-formulier-holder .right-column img {
  width: calc(100% + 180px);
  max-width: calc(100% + 180px);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.no-image-header-holder.with-illustration .dots-animation {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.items-container .item .image-holder {
  position: relative;
  overflow: hidden;
}
.items-container .item .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.items-container .item:not(.partner-item):hover img {
  transform: scale(1.03);
}

.item-column {
  transition: all 0.5s;
  opacity: 1;
  height: auto;
  z-index: 1;
}

.item-column.hide {
  height: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  margin: 0;
  display: none;
}

.load-more-button-container {
  text-align: center;
  padding-top: 30px;
}
.load-more-button-container.custom {
  padding-top: 50px;
}

.load-more-button-container .amount-visible {
  padding-bottom: 30px;
  font-size: 14px;
  color: #B1B8C7;
}

.load-more-button-holder.hide {
  display: none;
}

.items-container {
  padding: 0 0 120px;
  background-color: #F5F6F8;
}

.items-container .item.overzicht-cta {
  background-color: #2D2C31;
  height: 100%;
  color: #FFFFFF;
  border-radius: 4px;
  overflow: hidden;
}
.items-container .item.overzicht-cta .uk-grid {
  height: 100%;
}
.items-container .item.overzicht-cta h3 {
  color: #FFFFFF;
  font-size: 32px;
  line-height: 48px;
  letter-spacing: -0.5px;
  margin-bottom: 10px;
}
.items-container .item.overzicht-cta .text-container {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
.items-container .item.overzicht-cta .text-container::before {
  content: "";
  background-image: url("/assets/images/small-cta-illustration.svg");
  background-size: 100%;
  width: 149px;
  height: 170px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.items-container .item.overzicht-cta .text-container.with-image::before {
  right: -30px;
}
.items-container .item.overzicht-cta .cta-text-holder {
  padding: 35px 20px 35px 55px;
  position: relative;
  z-index: 5;
}
.items-container .item.overzicht-cta .cta-text-holder.no-image {
  padding: 35px 55px;
}
.items-container .item.overzicht-cta .image-holder {
  height: 100%;
}
.items-container .item.overzicht-cta .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: none;
}

.items-container .item {
  background-color: #FFFFFF;
  position: relative;
}
.items-container .item .text-holder {
  padding: 35px 35px 110px;
}
.items-container .item .text-holder .text-bottom {
  position: absolute;
  width: calc(100% - 70px);
  bottom: 35px;
  left: 35px;
}
.items-container .item h2 {
  color: #B1B8C7;
  font-weight: 300;
  font-size: 14px;
  line-height: 26px;
  margin-bottom: 10px;
}
.items-container .item h3 {
  margin-top: 0;
}

.items-container .item .text-bottom {
  margin-top: 30px;
}
.items-container .item .text-bottom .logo-holder img {
  max-width: 100px;
  max-height: 60px;
}
.items-container .item .text-bottom .button-holder {
  text-align: right;
  position: relative;
  height: 100%;
}
.items-container .item .text-bottom .button-holder .read-more {
  position: absolute;
  right: 0;
  bottom: -8px;
}

.section-klantverhalenOverzicht .no-image-header,
.section-nieuwsOverzicht .no-image-header,
.section-partnersOverzicht .no-image-header {
  padding: 100px 0 280px;
}

.section-klantverhalenOverzicht .load-more-container,
.section-nieuwsOverzicht .load-more-container,
.section-partnersOverzicht .load-more-container {
  position: relative;
  z-index: 100;
  margin-top: -140px;
}

.section-klantverhalen .detail-header .text-holder,
.section-nieuwsOverzicht .detail-header .text-holder,
.section-partnersOverzicht .detail-header .text-holder {
  max-width: 610px;
  margin: 50px -145px 0 auto;
  padding: 60px 60px 70px 70px;
}

.section-partnersOverzicht .items-container .item .text-holder {
  padding: 35px;
}

.section-nieuwsOverzicht .items-container .item .text-bottom .button-holder {
  text-align: left;
}
.section-nieuwsOverzicht .items-container .item .text-bottom .button-holder .read-more {
  right: unset;
  left: 0;
}

.section-nieuwsOverzicht .items-container .item .date {
  color: #B1B8C7;
}

.section-nieuwsOverzicht .items-container .item h3 {
  margin-top: 10px;
}

.dots-animation svg circle {
  opacity: 0;
}

.dots-animation svg polygon {
  opacity: 0;
}

.homepage-header .dots-animation {
  position: absolute;
  left: 0;
  bottom: 0;
}

.cta-right-image.left .dots-animation {
  position: absolute;
  top: 100px;
  left: 0;
  z-index: -1;
}

.no-image-header-holder .dots-animation {
  position: absolute;
  left: 0;
  bottom: 0;
}

.cta-right-image:not(.left) .dots-animation {
  position: absolute;
  top: 100px;
  right: 0;
  z-index: -1;
}

.header-404 {
  background-color: #2D2C31;
  color: #FFFFFF;
  text-align: center;
  padding: 100px 20px;
}

.header-404 .content-404 {
  max-width: 500px;
  margin: 0 auto;
}

.header-404 svg {
  width: 329px;
  height: 350px;
  cursor: none;
}

.header-404 h1 {
  color: #FFFFFF;
  margin-top: 50px;
}

.header-404 .button {
  margin-top: 20px;
}

#big-v,
#search {
  transition: opacity 200ms;
}

.header-404 svg.inactive {
  cursor: default;
}

.header-404 svg.inactive #big-v,
.header-404 svg.inactive #search {
  opacity: 0;
}

.section-contactEnSupport footer .certificaten-holder {
  background-color: #FFFFFF;
}

.video-popup {
  position: fixed;
  top: 10%;
  left: 50%;
  max-width: 770px;
  background-color: #FFFFFF;
  width: calc(100% - 80px);
  z-index: 1000001;
  transform: translate(-50%, -50%);
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
  padding: 50px;
  box-sizing: border-box;
}
.video-popup.show {
  top: 40%;
  visibility: visible;
  opacity: 1;
}

.video-popup .close {
  position: absolute;
  right: 20px;
  top: 10px;
  cursor: pointer;
  z-index: 100;
}
.video-popup .close img {
  transition: all 0.5s;
}
.video-popup .close:hover img {
  transform: rotate(180deg);
}

.video-popup-backdrop {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  z-index: 100000;
  top: -30%;
  transition: all 0.5s ease;
  visibility: hidden;
}
.video-popup-backdrop.show {
  opacity: 0.75;
  visibility: visible;
  top: 0;
}

.no-image-header .form-holder input, .no-image-header .form-holder textarea {
  background-color: #434246;
  border: 1px solid #434246;
  color: #FFFFFF;
}
.no-image-header .form-holder input:focus, .no-image-header .form-holder textarea:focus {
  color: #2D2C31 !important;
}
.no-image-header .form-holder .nice-select {
  background-color: #434246 !important;
  border: 1px solid #434246 !important;
  color: #FFFFFF !important;
}
.no-image-header .form-holder .nice-select::after {
  border-bottom: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}
.no-image-header .form-holder .nice-select .option {
  color: #2D2C31;
}
.no-image-header .form-holder .fui-label, .no-image-header .form-holder .fui-error .fui-label {
  color: #FFFFFF;
}
.no-image-header .form-holder .fui-error .fui-input-container input:focus, .no-image-header .form-holder .fui-error .fui-input-container textarea:focus {
  background-color: #434246 !important;
  color: #FFFFFF !important;
}
.no-image-header .form-holder .fui-error .fui-input-container input, .no-image-header .form-holder .fui-error .fui-input-container textarea {
  color: #FFFFFF !important;
}
.no-image-header .form-holder h2 {
  color: #FFFFFF;
  font-size: 28px;
  line-height: 40px;
  margin-bottom: 30px;
}

.cta-label {
  background-color: #F06C24;
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  padding: 15px 25px;
  z-index: 10000;
  transform-origin: right top;
  cursor: pointer;
  transition: all 0.4s;
  color: #FFFFFF;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  font-weight: 600;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.2);
}
.cta-label:hover {
  background-color: #2D2C31;
}
.cta-label > a {
  color: #FFFFFF;
  transform: rotate(180deg);
}

.victa-diensten {
  padding: 75px 0;
  background-color: #F06C24;
}
.victa-diensten .intro-container {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
  padding: 0 40px;
  color: #FFFFFF;
}
.victa-diensten .intro-container h2 {
  color: #FFFFFF;
}
.victa-diensten .intro-container h3 {
  color: #2D2C31;
}
.victa-diensten.custom-margin {
  margin-top: 75px;
}

.diensten-slider-holder {
  overflow: hidden;
  position: relative;
  padding: 0 40px;
}
.diensten-slider-holder .uk-slider-container {
  z-index: 5;
}
.diensten-slider-holder::before {
  content: "";
  width: 100vw;
  height: 3px;
  background-color: #2D2C31;
  position: absolute;
  left: 0;
  bottom: 40%;
  z-index: 1;
}
.diensten-slider-holder .item {
  position: relative;
  max-width: 280px;
  margin: 0 auto;
}
.diensten-slider-holder .item::before {
  content: "";
  background-image: url("/assets/images/arrows.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 34px;
  height: 34px;
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.diensten-slider-holder .dienst {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  display: block;
}
.diensten-slider-holder .dienst .text-holder {
  padding: 95px 20px 70px;
  background-color: #FFFFFF;
  text-align: center;
  color: #2D2C31;
  position: relative;
}
.diensten-slider-holder .dienst .text-holder .step-holder {
  display: block;
  position: absolute;
  top: 13px;
  right: 13px;
  background-color: #F06C24;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 14px;
  width: 26px;
  height: 26px;
}
.diensten-slider-holder .dienst .text-holder .step-holder .step {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.diensten-slider-holder .dienst .text-holder h3 {
  margin-top: 0;
}
.diensten-slider-holder .dienst .text-holder .text {
  max-width: calc(100% - 40px);
  margin: 10px auto 0;
}
.diensten-slider-holder .dienst .button-holder {
  text-align: center;
  margin-top: -25px;
}
.diensten-slider-holder .dienst .image-holder {
  position: relative;
  overflow: hidden;
  max-width: 150px;
  margin: 0 auto -75px;
  z-index: 5;
}
.diensten-slider-holder .dienst .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.diensten-slider-holder .dienst:hover .image-holder img {
  transform: scale(1.03);
}

.victa-diensten {
  position: relative;
}
.victa-diensten .diensten-dots {
  position: absolute;
  top: 0;
  transform: rotate(180deg);
  right: 0;
}
.victa-diensten .uk-dotnav.uk-margin {
  margin-top: 40px !important;
}
.victa-diensten .uk-dotnav > * > * {
  border: 1px solid #2D2C31;
}
.victa-diensten .uk-dotnav > .uk-active > * {
  border: 1px solid #2D2C31;
  background-color: #2D2C31;
}
.victa-diensten .uk-dotnav > * > :hover {
  background-color: #2D2C31;
}

.diensten-slider-holder .swipe-cirkel {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 80px;
  height: 80px;
  background-color: #FFFFFF;
  text-align: center;
  padding-top: 25px;
  border-radius: 80px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  z-index: 10;
  cursor: pointer;
  transform: scale(0.1);
  transition: opacity 300ms, visibility 300ms, transform 400ms cubic-bezier(0.64, 0.57, 0.67, 1.2);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.diensten-slider-holder .swipe-cirkel::before {
  content: "";
  background-image: url("/assets/images/swipe-icon.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  width: 37px;
  height: 27px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.diensten-slider-holder .slider-holder:hover .swipe-cirkel {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.diensten-slider-holder .swipe-cirkel {
  pointer-events: none;
}

.illustration-holder {
  height: 100%;
  padding: 4vw 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ribon-bar {
  background-color: #F5F6F8;
  padding: 10px 0;
  font-size: 16px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  position: relative;
}
.ribon-bar p {
  margin: 0;
}
.ribon-bar .ribon-inner {
  display: flex;
  align-items: center;
  max-width: 1560px;
}
.ribon-bar .ribon-icon {
  margin-right: 20px;
}
.ribon-bar .container {
  max-width: 1850px;
  position: relative;
}
.ribon-bar.custom {
  padding: 20px 0 20px;
}
.ribon-bar.custom .microsoft-icon {
  margin: 0 7px;
}
.ribon-bar.custom .linkedin-holder a {
  bottom: -20px;
}
.ribon-bar .linkedin-holder a {
  position: absolute;
  right: 40px;
  bottom: -10px;
  background-color: #F06C24;
  width: 50px;
  height: 45px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  cursor: pointer;
  transition: all 0.4s;
}
.ribon-bar .linkedin-holder a::before {
  content: "";
  background-size: 100%;
  background-image: url(/assets/images/linkedIn-white.svg);
  background-repeat: no-repeat;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: 1;
  transition: all 0.4s ease;
  width: 26px;
  height: 25px;
}
.ribon-bar .linkedin-holder a:hover {
  background-color: #2D2C31;
}

.form-holder .fui-alert-success {
  font-family: "Poppins", sans-serif;
  color: #2D2C31 !important;
  background-color: #F5F6F8 !important;
  border-radius: 0 !important;
  padding: 30px 30px 30px 90px;
  position: relative;
  max-width: 470px;
  margin: 0 auto;
}
.form-holder .fui-alert-success p {
  margin-bottom: 0;
}
.form-holder .fui-alert-success::before {
  content: "";
  width: 50px;
  height: 50px;
  position: absolute;
  left: 20px;
  top: 20px;
  background-image: url(/assets/images/check-outline.svg);
  background-size: 100%;
}

.victa-diensten.detail {
  margin-top: 0;
}
.victa-diensten.detail .item {
  position: relative;
  transition: all 0.4s;
  opacity: 0.55;
  max-width: 255px;
}
.victa-diensten.detail .item:hover, .victa-diensten.detail .item.active {
  opacity: 1;
}
.victa-diensten.detail .diensten-slider-holder .uk-slider-container {
  max-width: 1440px;
  margin: 0 auto;
}
.victa-diensten.detail .diensten-slider-holder::before {
  bottom: 40%;
}

.products-holder .scroller {
  color: #FFFFFF;
  top: 60%;
  transform: rotate(-90deg);
  transform-origin: top left;
}
.products-holder .scroller::before {
  border: 2px solid #FFFFFF;
  z-index: 5;
}
.products-holder .scroller::after {
  background-color: #2D2C31;
}
.products-holder .scroller:hover {
  color: #2D2C31;
}
.products-holder .scroller:hover::before {
  border: 2px solid #2D2C31;
}
.products-holder .scroller:hover::after {
  background-color: #FFFFFF;
}

.side-popup {
  width: 100%;
  max-width: 460px;
  position: fixed;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  background-color: #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 50px 40px 20px;
  box-sizing: border-box;
  max-height: 100%;
  overflow: hidden;
  transition: all 0.4s;
}
.side-popup::before {
  content: "";
  background-image: url(/assets/images/popup-decoration.svg);
  position: absolute;
  bottom: 0;
  background-size: 100%;
  right: 0;
  background-position: bottom;
  background-repeat: no-repeat;
  width: 150px;
  height: 175px;
  z-index: 1;
}
.side-popup .side-popup-close {
  position: absolute;
  right: 15px;
  top: 15px;
  cursor: pointer;
  z-index: 5;
}
.side-popup .side-popup-close img {
  transition: all 0.4s;
}
.side-popup .side-popup-close:hover img {
  transform: rotate(360deg);
}
.side-popup h3 {
  font-size: 20px;
  padding-top: 10px;
  position: relative;
}
.side-popup h3::after {
  content: "";
  width: 25px;
  height: 3px;
  left: 0px;
  background-color: #F06C24;
  position: absolute;
  top: -20px;
  z-index: 1;
}
.side-popup h3 + p {
  margin-top: 10px;
}
.side-popup.show {
  transform: translateX(0);
}

.home-particles {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 350px !important;
  width: 12% !important;
  height: 260px !important;
  opacity: 0.3;
}
.home-particles.small {
  width: 7% !important;
  height: 200px !important;
}

.landing-particles {
  position: absolute;
  left: 0;
  top: 0;
  max-width: 350px !important;
  width: 7% !important;
  height: 200px !important;
  opacity: 0.3;
  z-index: 1;
}

.product-labels-holder {
  padding: 50px 0;
}
.product-labels-holder .product-labels-container {
  display: flex;
}
.product-labels-holder .product-labels {
  display: inline-block;
}
.product-labels-holder .product-labels > div > div {
  display: inline-block;
  margin-right: 5px;
}
.product-labels-holder .products-title {
  display: inline-block;
  margin-right: 20px;
  min-width: 200px;
  margin-top: 15px;
}
.product-labels-holder .products-title h4 {
  margin-bottom: 0;
}
.product-labels-holder .label {
  border: 1px solid #2D2C31;
  padding: 5px 25px 5px 5px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  transition: all 0.4s;
  background-color: #FFFFFF;
  color: #2D2C31;
  cursor: pointer;
}
.product-labels-holder .label:hover {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  background-color: #F06C24;
  color: #FFFFFF;
  border: 1px solid #F06C24;
}
.product-labels-holder .label:not(:last-child) {
  margin-right: 10px;
}
.product-labels-holder .label .icon-holder {
  max-width: 40px;
  max-height: 40px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 7px;
  position: relative;
  background-color: #FFFFFF;
}
.product-labels-holder .label .icon-holder img {
  width: 100%;
  height: 100%;
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder {
  padding: 20px;
}
.section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder h3 {
  margin-top: 0;
  margin-bottom: 10px;
}
.section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder .omschrijving {
  margin-bottom: 15px;
}

.nieuwsbrief-container {
  padding: 50px 0;
  background-color: #F5F6F8;
}
.nieuwsbrief-container .title-container {
  max-width: 530px;
}

.payment-form input {
  width: 100%;
}

.payment-form {
  margin: 80px auto;
  max-width: 650px;
}
.payment-form .button {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  outline: none;
  overflow: hidden;
  color: #FFFFFF;
  border-radius: 8px;
  background-color: #F19E38;
  position: relative;
  vertical-align: top;
  padding: 13px 25px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  border: 1px solid #F19E38;
  width: unset;
}
.payment-form h3 {
  margin-bottom: 10px;
}

.podcasts-holder {
  margin-top: 75px;
  background-color: #FFFFFF;
}
.podcasts-holder .item .text-holder {
  padding: 25px 25px 20px;
  background-color: #F5F6F8;
}
.podcasts-holder .item h2 {
  font-size: 28px;
  line-height: 38px;
  font-weight: 600;
  color: #2D2C31;
  margin-bottom: 20px;
}

.podcast-item {
  max-width: 870px;
  margin: 75px auto;
  position: relative;
}
.podcast-item audio {
  position: absolute;
  bottom: 30px;
  width: calc(100% - 60px);
  left: 30px;
}
.podcast-item audio::-webkit-media-controls-enclosure {
  border-radius: 5px;
  background-color: #FFFFFF;
}

[class*=uk-animation-] {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-rightCustom;
  animation-name: uk-fade-rightCustom;
}

@-webkit-keyframes uk-fade-rightCustom {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@keyframes uk-fade-rightCustom {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}
.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottomCustom;
  animation-name: uk-fade-bottomCustom;
}

@-webkit-keyframes uk-fade-bottomCustom {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}

@keyframes uk-fade-bottomCustom {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(-10px);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(-10px);
  }
}
.reveal-element {
  width: 100%;
  position: absolute;
  top: 0;
  background-color: #F06C24;
  height: 100%;
}

.line-animation, .line-animation-delay {
  overflow: hidden;
}

.scale-up {
  transition: all 0.9s cubic-bezier(0.1, 0.38, 0.53, 0.98);
  transform: scale(0.9) translateY(100px);
  opacity: 0;
  padding-top: 0;
}
.scale-up.show {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.fade-bottom {
  transition: all 0.9s cubic-bezier(0.1, 0.38, 0.53, 0.98);
  transform: translateY(100px);
  opacity: 0;
  padding-top: 0;
}
.fade-bottom.show {
  transform: translateY(0);
  opacity: 1;
}

.large-outline-text text {
  stroke-dasharray: 1110;
  stroke-dashoffset: 1100;
  font-size: 250px;
}

.large-outline-text.show text {
  -webkit-animation: fillOutline 3s linear forwards;
          animation: fillOutline 3s linear forwards;
}

@-webkit-keyframes fillOutline {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes fillOutline {
  to {
    stroke-dashoffset: 0;
  }
}
/* IE 10 alert */
.blocker {
  position: fixed;
  width: 100%;
  height: 100%;
  color: #fff;
  background: rgba(0, 0, 0, 0.9);
  top: 0;
  left: 0;
  z-index: 999;
  transition: all ease 0.3s;
  display: none;
}

.blocker .block_holder {
  width: 100%;
  max-width: 600px;
  margin: 15% auto;
  background: #fff;
  color: #000;
  padding: 30px;
  box-sizing: border-box;
  min-height: 450px;
}

.blocker .block_holder a {
  color: #4BAE47;
}

.blocker.active {
  display: block;
}

a.button, button.button, span.button {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  outline: none;
  overflow: hidden;
  color: #FFFFFF;
  border-radius: 8px;
  background-color: #F19E38;
  position: relative;
  vertical-align: top;
  padding: 13px 25px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
}
a.button::before, a.button::after, button.button::before, button.button::after, span.button::before, span.button::after {
  content: "";
  background: #F06C24;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
a.button::after, button.button::after, span.button::after {
  width: 105%;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
a.button::before, button.button::before, span.button::before {
  width: 135%;
  transform: translate3d(-101%, 0, 0);
}
a.button span, button.button span, span.button span {
  display: block;
  position: relative;
  z-index: 1;
}
a.button > span, button.button > span, span.button > span {
  overflow: hidden;
}
a.button:hover::before, button.button:hover::before, span.button:hover::before {
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
a.button:hover > span > span, button.button:hover > span > span, span.button:hover > span > span {
  -webkit-animation: MoveRightInitial 0.3s forwards, MoveRightEnd 0.3s forwards 0.2s;
          animation: MoveRightInitial 0.3s forwards, MoveRightEnd 0.3s forwards 0.2s;
}
a.button:hover::after, button.button:hover::after, span.button:hover::after {
  transform: translate3d(0, 0, 0);
  transition: transform 0.01s 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
a.button.outline, button.button.outline, span.button.outline {
  border: 1px solid #777B86;
  background-color: transparent;
}
a.button.outline:hover, button.button.outline:hover, span.button.outline:hover {
  border: 1px solid #F06C24;
}
a.button.outline.white, button.button.outline.white, span.button.outline.white {
  background-color: #FFFFFF;
  color: #2D2C31;
}
a.button.outline.white:hover, button.button.outline.white:hover, span.button.outline.white:hover {
  color: #FFFFFF;
}
a.button.outline.grey, button.button.outline.grey, span.button.outline.grey {
  background-color: transparent;
  color: #2D2C31;
}
a.button.outline.grey:hover, button.button.outline.grey:hover, span.button.outline.grey:hover {
  color: #FFFFFF;
}
a.button.download > span > span, button.button.download > span > span, span.button.download > span > span {
  position: relative;
  padding-left: 25px;
}
a.button.download > span > span::before, button.button.download > span > span::before, span.button.download > span > span::before {
  content: "";
  background-image: url("/assets/images/download-icon.svg");
  background-size: 100%;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  top: 4px;
  z-index: 1;
}
a.button.orange-reveal, button.button.orange-reveal, span.button.orange-reveal {
  background-color: #F06C24;
}
a.button.orange-reveal::before, a.button.orange-reveal::after, button.button.orange-reveal::before, button.button.orange-reveal::after, span.button.orange-reveal::before, span.button.orange-reveal::after {
  background: #F19E38;
}
a.button.black.orange-reveal, button.button.black.orange-reveal, span.button.black.orange-reveal {
  background-color: #2D2C31;
}
a.button.black.orange-reveal::before, a.button.black.orange-reveal::after, button.button.black.orange-reveal::before, button.button.black.orange-reveal::after, span.button.black.orange-reveal::before, span.button.black.orange-reveal::after {
  background: #F19E38;
}

a.read-more, span.read-more {
  font-family: "Poppins", sans-serif;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
}
a.read-more::before, a.read-more::after, span.read-more::before, span.read-more::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #F06C24;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
a.read-more::before, span.read-more::before {
  left: -100%;
}
a.read-more::after, span.read-more::after {
  right: -100%;
  transition-delay: 250ms;
}
a.read-more > span, span.read-more > span {
  padding-right: 15px;
  position: relative;
}
a.read-more > span::before, span.read-more > span::before {
  content: "";
  background-image: url(/assets/images/arrow-green-right.svg);
  background-size: cover;
  position: absolute;
  right: 0;
  top: 6px;
  width: 5px;
  height: 9px;
  z-index: 1;
}
a.read-more:hover::before, span.read-more:hover::before {
  left: 0;
}
a.read-more:hover::after, span.read-more:hover::after {
  right: 0;
}
a.read-more.black, span.read-more.black {
  color: #2D2C31;
}
a.read-more.black::before, a.read-more.black::after, span.read-more.black::before, span.read-more.black::after {
  background-color: #2D2C31;
}
a.read-more.black > span::before, span.read-more.black > span::before {
  background-image: url("/assets/images/arrow-black-right.svg");
}

@-webkit-keyframes MoveRightInitial {
  100% {
    transform: translate3d(105%, 0, 0);
  }
}

@keyframes MoveRightInitial {
  100% {
    transform: translate3d(105%, 0, 0);
  }
}
@-webkit-keyframes MoveRightEnd {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes MoveRightEnd {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.component-grid {
  margin: 80px auto;
}

.component-grid-1 {
  max-width: 100%;
  padding: 0;
}

.component-grid-2 .uk-grid-divider {
  text-align: center;
}

.component-grid .component {
  margin-bottom: 40px;
  z-index: 1;
  position: relative;
}

.component-grid .component:last-child {
  margin-bottom: 0px;
}

.component-grid .flex-column {
  display: flex;
  align-items: center;
}

.component-grid .flex-column.column-2 > div {
  margin-left: auto;
}

#inhoud > .background-color {
  position: relative;
  z-index: 1;
}

#inhoud > .background-color.grijs:first-child > .component-grid {
  margin-top: 170px;
}

#inhoud > .background-color.grijs:first-child > .component-grid.container-formulier {
  margin-top: 0;
}

#inhoud > .background-color.wit {
  background-color: #FFFFFF;
}

#inhoud > .background-color.no-top-margin > .component-grid {
  margin-top: 0;
}

.background-color {
  display: inline-block;
  width: 100%;
  position: relative;
  z-index: 1;
}
.background-color.grijs {
  background-color: #F5F6F8;
}
.background-color.wit {
  background-color: #FFFFFF;
}

.component-tekst, .component-html {
  margin-left: auto;
  margin-right: auto;
  max-width: 970px;
}

.container-tekst {
  padding: 0 40px;
}

.component-tekst h3 {
  color: #F06C24;
}

.component-tekst ul {
  list-style: none;
  padding-left: 0;
}

.component-tekst ul li {
  padding-left: 25px;
  position: relative;
}
.component-tekst ul li::before {
  content: url(/assets/images/green-check.svg);
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 6px;
}

.component-grid-2 .component-tekst {
  max-width: 470px;
  margin-left: 0;
}

.component-grid-2 .uk-grid-divider .component-tekst {
  max-width: 370px;
  margin-left: auto;
}

.component-grid-2 .column-2 .component-tekst {
  margin-left: auto;
}

.component-grid.container-media {
  margin: 0;
}

.component-media img {
  width: 100%;
}

.component-media img.full-image {
  width: 100%;
  max-width: 100%;
}

.component-grid-2 .component-media {
  width: calc(100% + 70px);
}

.component-grid-2 .uk-grid-divider .component-media {
  width: 100%;
}

.component-grid-2 .uk-grid-divider .component-media img {
  width: 100%;
  max-width: 370px;
}

.component-grid-2 .uk-grid-divider .column-1 .component-media {
  float: none;
}

.component-grid-2 .column-1 .component-media {
  float: right;
}

.component-button {
  margin-left: auto;
  margin-right: auto;
  max-width: 970px;
}

.container-button {
  padding: 0 40px;
}

.component-button:not(.component-index-1) {
  margin-top: -10px;
}

.component-grid-2 .column-2 .component-button {
  max-width: 470px;
}

.container-quote {
  padding: 0 40px;
  max-width: 1250px;
  box-sizing: border-box;
}

.component-quote {
  padding-left: 140px;
  position: relative;
}
.component-quote::before {
  content: url(/assets/images/quote.svg);
  position: absolute;
  left: 0;
  top: -2px;
}

.component-quote blockquote {
  font-style: normal;
  color: #2D2C31;
}

.component-quote .quotes img {
  width: 56px;
}

.component-quote .auteur {
  margin-top: 25px;
  padding-top: 15px;
  color: #F06C24;
  position: relative;
}
.component-quote .auteur::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 1px;
  background-color: #F06C24;
}

.component-quote .auteur > div {
  color: #2D2C31;
}

.component-grid.container-callToAction {
  margin: 0;
}

.cta-full-background {
  padding: 200px 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}
.cta-full-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2D2C31;
  opacity: 0.85;
}

.cta-full-background .container {
  position: relative;
  z-index: 2;
  color: #fff;
}

.cta-full-background h2 {
  color: #FFFFFF;
}

.cta-full-background h4 {
  color: #F06C24;
}

.cta-full-background .cta-description {
  padding-top: 50px;
  position: relative;
  max-width: 470px;
}
.cta-full-background .cta-description::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  height: 3px;
  width: 25px;
  background-color: #F06C24;
}

.cta-full-background .cta-description .button {
  margin-top: 20px;
}

.cta-right-image {
  padding: 200px 0;
  position: relative;
}
.cta-right-image::before {
  content: "";
  position: absolute;
  top: 100px;
  right: 0;
  width: calc(50% - 200px);
  height: calc(100% - 200px);
  background-color: #2D2C31;
  z-index: -2;
}

.cta-right-image .cta-button {
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 500;
  display: inline-block;
  outline: none;
  overflow: hidden;
  color: #FFFFFF;
  border-radius: 8px;
  background-color: #F06C24;
  position: relative;
  vertical-align: top;
  padding: 0 100px 0 0;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  margin-top: 20px;
}
.cta-right-image .cta-button .text-holder {
  padding: 25px 0 25px 25px;
  display: inline-block;
}
.cta-right-image .cta-button .arrow-holder {
  width: 75px;
  height: 100%;
  display: inline-block;
  background-color: #F06C24;
  position: absolute;
  overflow: hidden;
  border-left: 1px solid #FFFFFF;
  right: 0;
  top: 0;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
}
.cta-right-image .cta-button .arrow-holder::before, .cta-right-image .cta-button .arrow-holder::after {
  content: "";
  background-image: url("/assets/images/cta-arrow.svg");
  background-size: 100%;
  width: 23px;
  height: 19px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.5s cubic-bezier(0.6, 0, 0, 1);
}
.cta-right-image .cta-button .arrow-holder::before {
  left: -100px;
}
.cta-right-image .cta-button:hover {
  background-color: #F19E38;
}
.cta-right-image .cta-button:hover .arrow-holder {
  background-color: #F19E38;
}
.cta-right-image .cta-button:hover .arrow-holder::before {
  left: 50%;
}
.cta-right-image .cta-button:hover .arrow-holder::after {
  left: 200px;
}

.cta-full-no-background {
  background-color: #F06C24;
  padding: 100px 20px;
  position: relative;
  color: #FFFFFF;
}
.cta-full-no-background::before {
  content: url(/assets/images/cta-dots-left-corner.svg);
  position: absolute;
  left: 0;
  bottom: 0;
}
.cta-full-no-background::after {
  content: url(/assets/images/cta-dots-right-corner.svg);
  position: absolute;
  right: 0;
  top: 0;
}

.cta-full-no-background .cta-text {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.cta-full-no-background h2 {
  color: #FFFFFF;
}

.cta-full-no-background h4 {
  color: #2D2C31;
}

.column-1 .cta-1-2 {
  background-color: #2D2C31;
}

.column-2 .cta-1-2 {
  background-color: #F06C24;
}

.cta-1-2 {
  padding: 60px 50px 120px;
  position: relative;
}

.cta-1-2 h3 {
  color: #FFFFFF;
  margin-top: 25px;
}

.cta-1-2 a.read-more, .cta-1-2 span.read-more {
  position: absolute;
  bottom: 50px;
}

.column-2 .cta-1-2 a.read-more, .column-2 .cta-1-2 span.read-more {
  color: #2D2C31;
}
.column-2 .cta-1-2 a.read-more::before, .column-2 .cta-1-2 a.read-more::after, .column-2 .cta-1-2 span.read-more::before, .column-2 .cta-1-2 span.read-more::after {
  background-color: #2D2C31;
}

.column-2 .cta-1-2 a.read-more > span::before, .column-2 .cta-1-2 span.read-more > span::before {
  background-image: url(/assets/images/arrow-black-right.svg);
}

.component-grid.container-uitgelichteItems {
  margin: 0;
}
.component-grid.container-uitgelichteItems .item-holder {
  display: block;
  color: #2D2C31;
}

.component-gerelateerdeItems .intro {
  padding: 100px 0 50px;
  color: #FFFFFF;
  position: relative;
}
.component-gerelateerdeItems .intro::before {
  content: "";
  position: absolute;
  top: 0;
  right: -300px;
  height: calc(100% + 100px);
  width: 3000px;
  background-color: #2D2C31;
  z-index: -2;
}
.component-gerelateerdeItems .intro::after {
  content: "";
  position: absolute;
  top: 0;
  right: -300px;
  height: 15px;
  width: 130px;
  background-color: #F06C24;
  z-index: -1;
}

.component-gerelateerdeItems .intro > * {
  max-width: 600px;
}

.component-gerelateerdeItems .intro h2 {
  color: #FFFFFF;
}

.component-gerelateerdeItems .item-holder > div {
  width: 100%;
}

.component-gerelateerdeItems .item-holder .item-text {
  background-color: #FFFFFF;
  padding: 20px 20px 0;
  box-sizing: border-box;
}
.component-gerelateerdeItems .item-holder .item-text.with-image {
  padding: 0 20px;
}

.component-gerelateerdeItems .item-holder img {
  width: 100%;
}

.component-gerelateerdeItems .item-text {
  margin-top: 20px;
  text-align: center;
}

.component-gerelateerdeItems .item-text.button {
  display: block;
  margin-top: 20px;
}

.component-gerelateerdeItems .item-text p {
  margin-top: 15px;
}

.component-formulier {
  padding: 120px 0;
  position: relative;
}

.component-formulier .achtergrond-titel {
  position: absolute;
  bottom: -50px;
  left: 70px;
  font-family: "Poppins", sans-serif;
  font-size: 130px;
  line-height: 130px;
  font-weight: 600;
  -webkit-text-stroke: 1px #B1B8C7;
  -webkit-text-fill-color: transparent;
  transform: rotate(-90deg);
  transform-origin: top left;
}

.component-formulier .achtergrond-titel span {
  display: block;
}

.component-grid.container-formulier {
  margin: 0;
}

.component-grid.container-slider {
  margin: 0;
}

.component-slider {
  padding: 150px 0 150px;
}

.slider {
  width: calc(100vw + 500px);
  margin-left: -250px;
}

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

.slider .slider-image .landscape {
  width: 100%;
}

.slider .slider-image .portrait {
  width: 65%;
  margin-top: 70px;
}

.kolom-titel {
  margin-bottom: -20px;
}
.kolom-titel h3 {
  color: #F06C24;
  padding-bottom: 10px;
}
.kolom-titel > div {
  padding-bottom: 20px;
}

.vragen-component .vragen-intro-holder {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
}
.vragen-component .vragen-holder {
  max-width: 980px;
  margin: 0 auto;
}
.vragen-component .vraag:not(:last-child) {
  margin-bottom: 15px;
}
.vragen-component .vraag-header {
  padding: 20px 75px 20px 30px;
  background-color: #F5F6F8;
  cursor: pointer;
  position: relative;
}
.vragen-component .vraag-header::before {
  content: "";
  background-image: url(/assets/images/arrow-down-black.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 14px;
  height: 8px;
  position: absolute;
  right: 30px;
  top: 30px;
  transition: all 0.4s ease;
}
.vragen-component .vraag-antwoord {
  opacity: 0;
  transition: all 0.4s;
  max-height: 0;
  overflow: hidden;
  padding: 0 30px;
}
.vragen-component .vraag-header.open::before {
  transform: rotate(180deg);
}
.vragen-component .vraag-header.open + .vraag-antwoord {
  opacity: 1 !important;
  max-height: 700px !important;
  margin-top: 15px;
  transition: all 0.7s !important;
}

.video-container {
  max-width: 1310px;
  margin: 0 auto;
}

@media only screen and (max-width: 1850px) {
  .component-gerelateerdeItems .intro::before, .component-gerelateerdeItems .intro::after {
    right: -97px;
  }

  .component-formulier .achtergrond-titel {
    bottom: 50px;
    left: 15px;
    font-size: 70px;
    line-height: 70px;
  }
}
@media only screen and (max-width: 1600px) {
  .component-uitgelichteItems::before {
    left: -67px;
    top: 38px;
    width: 214px;
  }

  .component-uitgelichteItems::after {
    right: -85px;
    bottom: 18px;
    width: 225px;
  }

  .cta-full-background {
    padding: 120px 0;
  }
}
@media only screen and (max-width: 1439px) {
  .component-uitgelichteItems::before {
    display: none;
  }

  .component-uitgelichteItems::after {
    display: none;
  }

  .component-gerelateerdeItems .intro::before,
.component-gerelateerdeItems .intro::after {
    right: -60px;
  }

  .component-formulier .achtergrond-titel {
    display: none;
  }
}
@media only screen and (max-width: 1320px) {
  .component-grid-2 .component-media {
    width: 100%;
  }
}
@media only screen and (max-width: 1250px) {
  .component-grid {
    margin: 70px auto;
  }

  .component-quote .quotes {
    margin-bottom: -65px;
  }

  .component-quote .quotes img {
    width: 110px;
  }

  .component-gerelateerdeItems .intro {
    padding-top: 70px;
  }
  .component-gerelateerdeItems .intro::before, .component-gerelateerdeItems .intro::after {
    right: -40px;
  }

  .cta-full-background {
    padding: 70px 0;
  }
}
@media only screen and (max-width: 1100px) {
  .component-formulier {
    padding: 12vw 0 80px;
  }

  .component-uitgelichteItems {
    padding: 70px 0 20px;
  }

  .component-slider {
    padding: 70px 0 80px;
  }
}
@media only screen and (max-width: 1024px) {
  .cta-right-image .cta-button .text-holder {
    padding: 20px 0 20px 25px;
  }

  .cta-right-image .cta-button .arrow-holder {
    width: 60px;
  }

  .cta-right-image .cta-button {
    padding: 0 80px 0 0;
    font-size: 15px;
  }

  .vragen-component .vragen-intro-holder {
    margin: 0 auto 50px;
  }
}
@media only screen and (max-width: 1023px) {
  .vragen-component .vraag-header {
    padding: 20px 60px 20px 25px;
    font-size: 16px;
  }
  .vragen-component .vraag-header::before {
    right: 25px;
  }

  .vragen-component .vraag-antwoord {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .component-grid {
    margin: 50px auto;
  }

  .component-grid.component-grid-1 {
    padding: 0;
  }

  .component-grid .component {
    margin-bottom: 35px;
  }

  .component-grid-2 .component-tekst {
    max-width: 100%;
  }

  .component-grid-2 .component-media {
    width: 100%;
  }

  #inhoud > .background-color.grijs:first-child > .component-grid {
    margin-top: 50px;
  }

  .component-grid.component-grid-1.container-tekst,
.component-grid.component-grid-1.container-button,
.component-grid.component-grid-1.container-quote {
    padding: 0 20px;
  }

  .component-quote {
    padding-left: 0;
    padding-top: 60px;
  }

  .component-quote .auteur {
    margin-top: 20px;
    padding-top: 13px;
  }

  .component-formulier {
    padding: 35px 0 50px;
  }

  .component-uitgelichteItems {
    padding: 35px 0 20px;
  }

  .component-slider {
    padding: 35px 0 50px;
  }

  .slider {
    width: 100%;
    margin-left: 0;
  }

  .slider .slider-image .portrait {
    width: 58.5%;
    margin-top: 0;
  }

  .component-gerelateerdeItems .item-holder > div {
    width: 100%;
    margin-bottom: 20px;
  }

  .cta-full-background {
    padding: 40px 0;
  }

  .cta-full-background .cta-description {
    padding-top: 0;
  }
  .cta-full-background .cta-description::before {
    top: 0;
  }

  .cta-full-background .cta-description .button {
    margin-top: 5px;
  }

  .cta-right-image {
    padding: 50px 0;
  }

  .cta-right-image::before,
.cta-right-image::after {
    display: none;
  }

  .cta-full-no-background {
    padding: 50px 20px;
  }
  .cta-full-no-background::after, .cta-full-no-background::before {
    display: none;
  }

  .cta-1-2 {
    padding: 30px 20px 85px;
  }

  .cta-1-2 a.read-more {
    bottom: 20px;
  }

  .cta-right-image .cta-button {
    margin-top: 10px;
  }

  .vragen-component .vraag-header {
    padding: 15px 50px 15px 20px;
  }
  .vragen-component .vraag-header::before {
    width: 12px;
    height: 7px;
    top: 25px;
  }

  .vragen-component .vragen-intro-holder {
    margin: 0 auto 30px;
  }
}
body {
  /*.nice-select .option.selected {
    font-weight: bold; }*/
}
body .nice-select:not([multiple]):not([size]) {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: 17px;
  font-weight: normal;
  height: 58px;
  line-height: 58px;
  outline: none;
  padding-left: 20px;
  padding-right: 30px;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
  text-align: left !important;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  background-image: none;
}
body .fui-i *, body .fui-i ::after, body .fui-i ::before {
  border: none;
}
body .fui-input:focus, body .fui-select:focus {
  outline: 0;
  border-color: transparent;
  box-shadow: none;
}
body .nice-select span {
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}
body .nice-select:hover {
  border-color: #d81111;
}
body .nice-select:active, body .nice-select.open, body .nice-select:focus {
  border-color: #d81111;
}
body .nice-select:after {
  border-bottom: 2px solid #222;
  border-right: 2px solid #222;
  content: "";
  display: block;
  height: 9px;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  right: 18px;
  top: 45%;
  transform-origin: 66% 66%;
  transform: rotate(45deg);
  transition: all 0.15s ease-in-out;
  width: 9px;
}
body .nice-select.open:after {
  transform: rotate(-135deg);
}
body .nice-select.open .list {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0);
}
body .nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}
body .nice-select.disabled:after {
  border-color: #cccccc;
}
body .nice-select.wide {
  width: 100%;
}
body .nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
}
body .nice-select.right {
  float: right;
}
body .nice-select.right .list {
  left: auto;
  right: 0;
}
body .nice-select.small {
  font-size: 12px;
  height: 36px;
  line-height: 34px;
}
body .nice-select.small:after {
  height: 4px;
  width: 4px;
}
body .nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
}
body .nice-select .list {
  background-color: #fff;
  border-radius: 4px;
  /*box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);*/
  box-sizing: border-box;
  margin-top: 4px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform-origin: 50% 0;
  transform: scale(0.75) translateY(-21px);
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
  width: calc(100% + 4px);
  margin-left: -2px;
  border: 1px solid #B1B8C7;
}
body .nice-select .list:hover .option:not(:hover) {
  background-color: transparent !important;
}
body .nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  min-height: 40px;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  transition: all 0.2s;
}
body .nice-select .option:hover, body .nice-select .option.focus, body .nice-select .option.selected.focus {
  background-color: #f6f6f6;
}
body .nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
}
body .no-csspointerevents .nice-select .list {
  display: none;
}
body .no-csspointerevents .nice-select.open .list {
  display: block;
}

#loader {
  width: 100%;
  height: 150vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999999;
  background-color: #F06C24;
  transition: all ease-in 500ms;
  transition-delay: 200ms;
  /*&::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 150vh;
      background-color: $white;
      z-index: 1;
      transition: all ease-out 400ms;
      opacity: 0.8;
  }
  */
}
#loader.hide {
  display: none;
}

#loader.loaded {
  left: 100%;
}
#loader.loaded::before {
  left: 100%;
}

#loader.finished {
  left: auto;
  right: 100%;
  transition: all 0ms;
  transition-delay: 0ms;
}
#loader.finished::before {
  left: auto;
  right: 100%;
}

#loader.unloadpage {
  right: 0;
  transition: all ease 600ms;
}
#loader.unloadpage::before {
  right: 0;
  transition: all ease-in 500ms;
  transition-delay: 200ms;
}

#page-wrapper {
  opacity: 0;
  visibility: hidden;
  transition: all 300ms;
  overflow: hidden;
}

#page-wrapper.loaded {
  opacity: 1;
  visibility: visible;
}

@-webkit-keyframes plyr-progress {
  to {
    background-position: 25px 0;
  }
}

@keyframes plyr-progress {
  to {
    background-position: 25px 0;
  }
}
@-webkit-keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  direction: ltr;
  font-family: Avenir, "Avenir Next", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: 1.7;
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
}

.plyr audio, .plyr video {
  border-radius: inherit;
  height: auto;
  vertical-align: middle;
  width: 100%;
}

.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
  height: auto;
}

.plyr button::before {
  display: none;
}

.plyr:focus {
  outline: 0;
}

.plyr--full-ui {
  box-sizing: border-box;
}

.plyr--full-ui *, .plyr--full-ui ::after, .plyr--full-ui ::before {
  box-sizing: inherit;
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
  touch-action: manipulation;
}

.plyr__badge {
  background: #4f5b5f;
  border-radius: 2px;
  color: #fff;
  font-size: 9px;
  line-height: 1;
  padding: 3px 4px;
}

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}

.plyr__captions {
  -webkit-animation: plyr-fade-in 0.3s ease;
          animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 14px;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}

.plyr__captions .plyr__caption {
  background: rgba(0, 0, 0, 0.8);
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}

.plyr__captions .plyr__caption div {
  display: inline;
}

.plyr__captions span:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__captions {
    font-size: 16px;
    padding: 20px;
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: 18px;
  }
}
.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  transform: translateY(-40px);
}

.plyr__control {
  background: 0 0;
  border: 0;
  border-radius: 3px;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  position: relative;
  transition: all 0.3s ease;
}

.plyr__control svg {
  display: block;
  fill: currentColor;
  height: 18px;
  pointer-events: none;
  width: 18px;
}

.plyr__control:focus {
  outline: 0;
}

.plyr__control.plyr__tab-focus {
  outline: 0;
}

a.plyr__control {
  text-decoration: none;
}

a.plyr__control::after, a.plyr__control::before {
  display: none;
}

.plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control.plyr__control--pressed .label--not-pressed, .plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed {
  display: none;
}

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
  background: #F06C24;
  color: #fff;
}

.plyr--video .plyr__control svg {
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15));
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
  background: #F06C24;
  color: #fff;
}

.plyr__control--overlaid {
  background: #F06C24;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: #fff;
  display: none;
  left: 50%;
  padding: 15px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}

.plyr__control--overlaid:focus, .plyr__control--overlaid:hover {
  background: #F06C24;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr--full-ui ::-webkit-media-controls {
  display: none;
}

.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}

.plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls > .plyr__control {
  margin-left: 5px;
}

.plyr__controls .plyr__menu + .plyr__control, .plyr__controls .plyr__progress + .plyr__control, .plyr__controls > .plyr__control + .plyr__control, .plyr__controls > .plyr__control + .plyr__menu {
  margin-left: 2px;
}

.plyr__controls > .plyr__control:first-child, .plyr__controls > .plyr__control:first-child + [data-plyr=pause] {
  margin-left: 0;
  margin-right: auto;
}

.plyr__controls:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls > .plyr__control {
    margin-left: 10px;
  }
}
.plyr--audio .plyr__controls {
  background: #fff;
  border-radius: inherit;
  color: #4f5b5f;
  padding: 10px;
}

.plyr--video .plyr__controls {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 20px 5px 5px;
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3;
}

@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: 35px 10px 10px;
  }
}
.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}

.plyr [data-plyr=airplay], .plyr [data-plyr=captions], .plyr [data-plyr=fullscreen], .plyr [data-plyr=pip] {
  display: none;
}

.plyr--airplay-supported [data-plyr=airplay], .plyr--captions-enabled [data-plyr=captions], .plyr--fullscreen-enabled [data-plyr=fullscreen], .plyr--pip-supported [data-plyr=pip] {
  display: inline-block;
}

.plyr__video-embed {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.plyr__video-embed iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  transform: translateY(-38.28125%);
}

.plyr__menu {
  display: flex;
  position: relative;
}

.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
  transform: rotate(90deg);
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
  display: none;
}

.plyr__menu__container {
  -webkit-animation: plyr-popup 0.2s ease;
          animation: plyr-popup 0.2s ease;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 16px;
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}

.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.plyr__menu__container::after {
  border: 4px solid transparent;
  border-top-color: rgba(255, 255, 255, 0.9);
  content: "";
  height: 0;
  position: absolute;
  right: 15px;
  top: 100%;
  width: 0;
}

.plyr__menu__container [role=menu] {
  padding: 7px;
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
  margin-top: 2px;
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
  margin-top: 0;
}

.plyr__menu__container .plyr__control {
  align-items: center;
  color: #4f5b5f;
  display: flex;
  font-size: 14px;
  padding: 4px 11px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}

.plyr__menu__container .plyr__control::after {
  border: 4px solid transparent;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.plyr__menu__container .plyr__control--forward {
  padding-right: 28px;
}

.plyr__menu__container .plyr__control--forward::after {
  border-left-color: rgba(79, 91, 95, 0.8);
  right: 5px;
}

.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
  border-left-color: currentColor;
}

.plyr__menu__container .plyr__control--back {
  font-weight: 500;
  margin: 7px;
  margin-bottom: 3px;
  padding-left: 28px;
  position: relative;
  width: calc(100% - 14px);
}

.plyr__menu__container .plyr__control--back::after {
  border-right-color: rgba(79, 91, 95, 0.8);
  left: 7px;
}

.plyr__menu__container .plyr__control--back::before {
  background: #b7c5cd;
  box-shadow: 0 1px 0 #fff;
  content: "";
  height: 1px;
  left: 0;
  margin-top: 4px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}

.plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
  border-right-color: currentColor;
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
  padding-left: 7px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after, .plyr__menu__container .plyr__control[role=menuitemradio]::before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #F06C24;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(0, 0, 0, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  overflow: hidden;
  padding-left: 25px;
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 28px;
  color: #F06C24;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0));
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  -webkit-appearance: none;
  margin-top: -5px;
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2px;
  height: 4px;
}

.plyr--full-ui input[type=range]::-ms-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  color: transparent;
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  background: currentColor;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  margin-top: 0;
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}

.plyr__time {
  font-size: 14px;
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: 10px;
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255, 255, 255, 0.9);
  bottom: -4px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: 16px;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: 16px;
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0, 0) scale(1);
}

.plyr--video {
  background: #000;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #fff;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.plyr__progress {
  flex: 1;
  left: 7px;
  margin-right: 14px;
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -7px;
  margin-right: -7px;
  width: calc(100% + 14px);
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  font-size: 14px;
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 100px;
  height: 4px;
  left: 0;
  margin-top: -2px;
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-prog .plyr__control[role=menuitemradio]::after, .plyr__menu__container .plyr__control[role=menuitemradio]::before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #F06C24;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(0, 0, 0, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  overflow: hidden;
  padding-left: 25px;
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 28px;
  color: #F06C24;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0));
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  -webkit-appearance: none;
  margin-top: -5px;
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2px;
  height: 4px;
}

.plyr--full-ui input[type=range]::-ms-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  color: transparent;
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  background: currentColor;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  margin-top: 0;
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
  background-size: cover;
}

.plyr__time {
  font-size: 14px;
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: 10px;
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255, 255, 255, 0.9);
  bottom: -4px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: 16px;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: 16px;
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0, 0) scale(1);
}

.plyr--video {
  background: #000;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #fff;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0;
  width: calc(100% + 2px);
  margin-left: -1px;
  margin-top: -1px;
}

.plyr__progress {
  flex: 1;
  left: 7px;
  margin-right: 14px;
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -7px;
  margin-right: -7px;
  width: calc(100% + 14px);
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  font-size: 14px;
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 100px;
  height: 4px;
  left: 0;
  margin-top: -2px;
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-progress-bar {
  background: 0 0;
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: 4px;
}

.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: 4px;
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr--video .plyr__progress__buffer {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.25);
}

.plyr--audio .plyr__progress__buffer {
  color: rgba(183, 197, 205, 0.66);
}

.plyr--loading .plyr__progress__buffer {
  -webkit-animation: plyr-progress 1s linear infinite;
          animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, rgba(47, 52, 61, 0.6) 25%, transparent 25%, transparent 50%, rgba(47, 52, 61, 0.6) 50%, rgba(47, 52, 61, 0.6) 75%, transparent 75%, transparent);
  background-repeat: repeat-x;
  background-size: 25px 25px;
  color: transparent;
}

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr__volume {
  align-items: center;
  display: flex;
  flex: 1;
  position: relative;
}

.plyr__volume input[type=range] {
  margin-left: 5px;
  position: relative;
  z-index: 2;
}

@media (min-width: 480px) {
  .plyr__volume {
    max-width: 90px;
  }
}
@media (min-width: 768px) {
  .plyr__volume {
    max-width: 110px;
  }
}
.plyr--is-ios .plyr__volume {
  display: none !important;
}

.plyr--is-ios.plyr--vimeo [data-plyr=mute] {
  display: none !important;
}

.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-webkit-full-screen video {
  height: 100%;
}

.plyr:-ms-fullscreen video {
  height: 100%;
}

.plyr:fullscreen video {
  height: 100%;
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-webkit-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-ms-fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}

.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}

.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: 21px;
  }

  .plyr:-ms-fullscreen .plyr__captions {
    font-size: 21px;
  }

  .plyr:fullscreen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-webkit-full-screen video {
  height: 100%;
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-webkit-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-moz-full-screen video {
  height: 100%;
}

.plyr:-moz-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-moz-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-moz-full-screen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-moz-full-screen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-ms-fullscreen video {
  height: 100%;
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-ms-fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-ms-fullscreen .plyr__captions {
    font-size: 21px;
  }
}
.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000;
}

.plyr--fullscreen-fallback video {
  height: 100%;
}

.plyr--fullscreen-fallback .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr--fullscreen-fallback .plyr__video-embed {
  overflow: visible;
}

.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: 21px;
  }
}
.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.plyr__ads > div, .plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}

.plyr__ads::after {
  background: rgba(47, 52, 61, 0.8);
  border-radius: 2px;
  bottom: 10px;
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: 10px;
  z-index: 3;
}

.plyr__ads::after:empty {
  display: none;
}

.plyr__cues {
  background: currentColor;
  display: block;
  height: 4px;
  left: 0;
  margin: -2px 0 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  width: 3px;
  z-index: 3;
}

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden] {
  display: none !important;
}

.nieuwsbrief {
  padding: 120px 0 0;
  margin-top: -120px;
  display: inline-block;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 1000;
  position: relative;
}

.lichtkrant-holder {
  overflow: hidden;
}

.lichtkrant {
  font-size: 3vw;
  line-height: 5vw;
  letter-spacing: -0.71px;
  color: #B1B8C7;
  font-weight: 600;
  overflow: unset;
}
.lichtkrant li {
  width: 100%;
  max-width: 44.5vw;
  text-align: center;
  box-sizing: border-box;
}
.lichtkrant .outline {
  color: #FFFFFF;
  -webkit-text-fill-color: #FFFFFF;
  /* Will override color (regardless of order) */
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #B1B8C7;
}
.lichtkrant span {
  padding-right: 4vw;
  position: relative;
}
.lichtkrant span::before {
  content: "";
  background-image: url("/assets/images/lichtkrant-arrow.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 1.2vw;
  height: 1vw;
  position: absolute;
  right: 1.2vw;
  top: 1.7vw;
  z-index: 1;
}

.nieuwsbrief-holder {
  padding: 50px 0 120px;
}

.nieuwsbrief-holder .form-holder {
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}
.nieuwsbrief-holder .form-holder .fui-page-container {
  max-width: 400px;
  display: inline-block;
  width: 100%;
  margin-right: 20px;
}
.nieuwsbrief-holder .form-holder .fui-page-container label {
  text-align: left;
}
.nieuwsbrief-holder .form-holder .fui-page-container .fui-field {
  margin-bottom: 0;
}
.nieuwsbrief-holder .form-holder .fui-btn-container {
  max-width: 150px;
  display: inline-block;
  vertical-align: bottom;
}

@media only screen and (max-width: 1100px) {
  .nieuwsbrief {
    padding: 75px 0 0;
    margin-top: -75px;
  }

  .nieuwsbrief-holder {
    padding: 50px 0 75px;
  }

  .lichtkrant {
    font-size: 4vw;
    line-height: 6vw;
  }

  .lichtkrant li {
    max-width: 57.5vw;
  }

  .lichtkrant span {
    padding-right: 5vw;
  }
  .lichtkrant span::before {
    width: 1.6vw;
    height: 1.3vw;
    right: 1.3vw;
    top: 2.1vw;
  }
}
@media only screen and (max-width: 767px) {
  .lichtkrant {
    font-size: 6vw;
    line-height: 8vw;
  }

  .lichtkrant li {
    max-width: 85.5vw;
  }

  .lichtkrant span {
    padding-right: 8vw;
  }
  .lichtkrant span::before {
    width: 3.6vw;
    height: 3.3vw;
    right: 1.9vw;
    top: 2.8vw;
  }

  .nieuwsbrief-holder {
    padding: 30px 0 50px;
  }

  .nieuwsbrief-holder .form-holder {
    text-align: left;
  }

  .nieuwsbrief-holder .form-holder .fui-btn-container {
    margin-top: 20px;
  }

  .nieuwsbrief {
    padding: 50px 0 0;
    margin-top: -50px;
  }
}
.form-holder input,
.form-holder textarea {
  border: none;
  border-radius: 0;
  height: 50px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  padding: 15px 20px;
  border-radius: 4px;
  border: 1px solid #B1B8C7;
  background-color: transparent;
  box-sizing: border-box;
  outline: none !important;
  box-shadow: none !important;
}
.form-holder input:focus,
.form-holder textarea:focus {
  border-color: #F06C24;
  background-color: #E7F6F8;
}

.form-holder textarea {
  height: 110px;
  resize: vertical;
}

.form-holder .light-grey {
  color: #B1B8C7;
  font-style: italic;
  font-weight: 300;
}

.form-holder .error input, .form-holder .error textarea {
  border: 1px solid red;
}

/*.form-holder .list {
    max-height: 320px;
    overflow: scroll !important;
}*/
body .nice-select.open .list {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0);
  max-height: 235px;
  overflow: scroll;
}

.form-holder .fui-btn-container,
.form-holder .fui-btn-wrapper {
  margin: 0;
  padding: 0;
}

.form-holder .fui-label,
.form-holder .fui-error .fui-label {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2D2C31;
}

.form-holder .fui-input.fui-error {
  color: #2D2C31;
  border: 1px solid red;
}

.form-holder .fui-alert-error, .form-holder .fui-error-message {
  display: none;
}

.fui-error .fui-input-container {
  position: relative;
}
.fui-error .fui-input-container::before {
  content: "";
  background-image: url(/assets/images/error.svg);
  background-repeat: no-repeat;
  position: absolute;
  right: 15px;
  top: 14px;
  width: 20px;
  height: 20px;
  z-index: 5;
}
.fui-error .fui-input-container input:focus, .fui-error .fui-input-container textarea:focus {
  background-color: transparent !important;
}

.form-holder .fui-required {
  color: #2D2C31;
}

.form-holder .fui-type-checkboxes .fui-legend {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2D2C31;
}
.form-holder .fui-type-checkboxes .fui-checkbox {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 26px;
  font-weight: 300;
  color: #2D2C31;
}

.form-holder form .fui-form-container div.nice-select {
  border: none;
  height: 50px;
  line-height: 21px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  padding: 15px 20px;
  border-radius: 4px;
  border: 1px solid #B1B8C7;
  background-color: transparent;
  box-sizing: border-box;
  outline: none !important;
  box-shadow: none !important;
  color: #000;
}

.form-holder form .fui-form-container .fui-error div.nice-select {
  border: 1px solid red !important;
}

.no-image-header .form-holder .fui-type-checkboxes .fui-legend {
  color: #FFFFFF;
}
.no-image-header .form-holder .fui-type-checkboxes .fui-checkbox {
  color: #FFFFFF;
}

.fui-error.fui-type-dropdown .fui-input-container::before {
  right: 35px;
}

.form-holder .fui-progress-bar {
  background-color: #F06C24;
}

.form-holder .fui-legend {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2D2C31;
}

.form-holder input:focus {
  box-shadow: none !important;
}

.form-holder .fui-radio input:checked + label:before {
  background-color: #F06C24;
  border-color: #F06C24;
  box-shadow: none !important;
}

.form-holder .fui-radio {
  color: #2D2C31;
}

.form-holder .fui-type-radio-buttons {
  margin-bottom: 20px;
}

.form-holder .fui-type-radio {
  margin-bottom: 30px !important;
}

.form-holder .fui-progress-container {
  margin-bottom: 40px;
}

.form-holder button.button.disable {
  pointer-events: none;
  opacity: 0.7;
}

.reCaptchaText {
  margin-top: 20px;
  font-size: 10px;
  line-height: 16px;
  transition: all 0.4s;
}

.reCaptchaText a {
  font-weight: 400;
  color: #F06C24;
}

.grecaptcha-badge {
  visibility: hidden;
}

.form-holder .form-intro.small {
  max-width: 570px;
}

.form-width-holder {
  max-width: 870px;
  margin: 0 auto;
}

.form-holder .StripeElement {
  border: none;
  border-radius: 0;
  height: 50px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  padding: 15px 20px;
  border-radius: 4px;
  border: 1px solid #B1B8C7;
  background-color: transparent;
  box-sizing: border-box;
  outline: none !important;
  box-shadow: none !important;
}

@media only screen and (max-width: 1850px) {
  .image-header img {
    max-width: calc(50vw - 74px);
  }

  .image-header .image-holder::after {
    left: calc(50vw - 400px);
    top: 40px;
  }

  .contact-formulier-holder .achtergrond-titel {
    bottom: 150px;
    left: 15px;
    font-size: 120px;
    line-height: 120px;
  }
}
@media only screen and (max-width: 1600px) {
  .scroller {
    left: 40px;
  }

  .nieuws-holder {
    margin: 50px 0;
  }

  .contact-formulier-holder .achtergrond-titel {
    bottom: 350px;
    font-size: 80px;
    line-height: 80px;
  }

  .contact-formulier-holder .right-column img {
    width: calc(100% + 90px);
    max-width: calc(100% + 90px);
  }

  .homepage-header .dots-animation svg {
    width: 229px;
  }

  .cta-right-image.left .dots-animation svg {
    width: 197px;
  }

  .victa-diensten.detail .diensten-slider-holder {
    padding: 0;
  }
}
@media only screen and (max-width: 1440px) {
  .producten-header {
    padding-bottom: 100px;
  }

  .producten-header .text-holder {
    padding: 75px 0 0;
  }

  .products-holder .large-text-holder {
    left: 20px;
  }
  .products-holder .large-text-holder .large-outline-text text {
    font-size: 170px;
  }

  .nieuws-holder .large-text-holder {
    left: 20px;
    top: -100px;
  }
  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 170px;
  }

  .section-klantverhalenOverzicht .no-image-header {
    padding: 100px 0 200px;
  }

  .no-image-header-holder.with-illustration .dots-animation svg {
    width: 220px;
  }

  .homepage-header .image-holder .header-illustration {
    width: 90%;
  }

  .diensten-slider-holder .dienst .text-holder .text {
    max-width: unset;
  }

  .victa-diensten {
    padding: 75px 0;
  }

  .home-particles {
    width: 8% !important;
    height: 210px !important;
  }
}
@media only screen and (max-width: 1439px) {
  .scroller {
    left: 20px;
  }

  .contact-formulier-holder .achtergrond-titel {
    display: none;
  }

  .homepage-header .dots-animation svg {
    display: none;
  }

  .diensten-slider-holder .item::before {
    display: none;
  }

  .diensten-slider-holder .uk-slider-container {
    padding-right: 0;
  }

  .diensten-particles {
    display: none;
  }

  .home-particles {
    display: none;
  }

  .landing-particles {
    display: none;
  }
}
@media only screen and (max-width: 1365px) {
  .scroller {
    display: none;
  }

  .diensten-holder .tabs-holder .image-holder img {
    width: 100%;
    max-width: 100%;
  }

  .demo-holder .image-holder img {
    width: 100%;
    max-width: 100%;
  }

  .detail-header .text-holder {
    padding: 40px;
    margin: 50px -40px 0 auto;
  }

  .contact-formulier-holder .right-column img {
    width: 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 1280px) {
  .no-image-header {
    padding: 70px 0 90px;
  }
  .no-image-header::before, .no-image-header::after {
    right: 0;
  }

  .no-image-header-holder.with-illustration .dots-animation {
    display: none;
  }

  .products-holder.diensten .dots-animation {
    display: none;
  }
}
@media only screen and (max-width: 1260px) {
  .producten-header .text-holder {
    margin: 0 0 0 40px;
  }
}
@media only screen and (max-width: 1240px) {
  .image-header img {
    max-width: 100%;
  }
}
@media only screen and (max-width: 1199px) {
  .contact-formulier-holder .left-column.no-image {
    padding-right: 35px;
  }

  .contact-formulier-holder .left-column.no-image::before {
    right: 0px;
  }

  .ribon-bar {
    font-size: 14px;
  }

  .ribon-bar .ribon-icon {
    margin-right: 15px;
  }
}
@media only screen and (max-width: 1100px) {
  .homepage-header .text-holder {
    padding: 75px 0 75px 40px;
    margin: 0 75px 0 auto;
  }

  .products-holder {
    padding: 75px 0;
  }

  .products-holder .producten-intro-holder {
    margin: 0 auto 50px;
  }

  .homepage-cta-holder {
    margin: 75px 0 75px;
  }

  .homepage-cta-holder .column {
    padding: 45px 40px;
  }

  .homepage-cta-holder .column h2 {
    color: #FFFFFF;
    font-size: 22px;
    line-height: 36px;
    letter-spacing: -0.2px;
  }

  .demo-holder {
    padding: 75px 0 0;
  }

  .demo-holder h2 {
    font-size: 34px;
    line-height: 52px;
  }

  .demo-holder .text-holder {
    padding-bottom: 75px;
  }

  .diensten-holder {
    padding: 80px 0 0;
  }

  .diensten-holder .tabs-holder {
    padding: 50px 0 0;
  }

  .klanten-holder {
    margin: 75px 0;
  }

  .klanten-holder .klanten-intro-holder {
    margin-bottom: 50px;
  }

  .section-victaQlikHomepage .cta-full-background {
    padding: 75px 0;
  }

  .producten-header .text-holder {
    padding: 50px 0 0;
  }

  .producten-header {
    padding-bottom: 75px;
  }

  .products-holder .large-text-holder {
    top: -75px;
  }

  .products-holder .large-text-holder svg {
    height: 170px;
  }

  .products-holder .large-text-holder .large-outline-text text {
    font-size: 130px;
    transform: translateY(-100px);
  }

  .section-productenOverzicht .products-holder::before {
    width: 158px;
    height: 278px;
  }

  .detail-header .text-holder {
    margin: 50px -100px 0 auto;
    width: calc(100% + 60px);
  }

  .diensten-header {
    padding: 75px 0 50px;
  }

  .products-holder.diensten .large-text-holder {
    top: -50px;
  }

  .nieuws-holder .large-text-holder svg {
    height: 170px;
  }

  .nieuws-holder .large-text-holder {
    left: 20px;
    top: -20px;
  }
  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 130px;
    transform: translateY(-100px);
  }

  .products-holder.diensten {
    padding: 0 0 75px;
  }

  .section-diensten .detail-header .text-holder::before {
    width: 92px;
    height: 90px;
  }

  p.nr-results {
    margin-top: 75px;
  }

  .resultaten {
    margin-bottom: 75px;
  }

  .no-image-header-holder.with-illustration::after {
    width: 175px;
    height: 149px;
  }

  .contact-header h1, .contact-header h2 {
    margin-bottom: 20px;
  }

  .contact-header .blokken-holder .blok h3 {
    font-size: 20px;
    line-height: 34px;
  }

  .contact-header {
    background-color: #F5F6F8;
    padding: 75px 0;
  }

  .contact-formulier-holder .left-column {
    padding: 60px 0;
  }

  .contact-formulier-holder {
    padding-bottom: 60px;
  }

  .items-container .item.overzicht-cta .cta-text-holder {
    padding: 35px 0 35px 30px;
  }

  .items-container .item.overzicht-cta h3 {
    font-size: 26px;
    line-height: 38px;
  }

  .items-container .item .text-holder {
    padding: 30px 25px 100px;
  }

  .items-container .item .text-holder .text-bottom {
    width: calc(100% - 50px);
    bottom: 30px;
    left: 25px;
  }

  .items-container .item.overzicht-cta .cta-text-holder.no-image {
    padding: 35px 30px;
  }

  .section-klantverhalenOverzicht .no-image-header {
    padding: 75px 0 200px;
  }

  .items-container {
    padding: 0 0 75px;
  }

  .resources-holder {
    padding-bottom: 30px;
  }

  .section-resourcesOverzicht .no-image-header, .section-marketplaceOverzicht .no-image-header {
    padding-bottom: 170px;
  }

  .section-resourcesOverzicht .no-image-header-holder.with-illustration::after, .section-marketplaceOverzicht .no-image-header-holder.with-illustration::after {
    display: none;
  }

  .filter {
    margin-top: 50px;
  }

  .homepage-header .image-holder .header-illustration {
    width: 95%;
  }

  .victa-diensten .intro-container {
    margin-bottom: 50px;
  }

  .victa-diensten .diensten-dots {
    display: none;
  }

  .products-holder.custom-margin {
    margin-top: 75px;
  }

  .product-labels-holder .product-labels-container {
    display: block;
  }

  .product-labels-holder .products-title {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 1023px) {
  .image-header .image-holder::before,
.image-header .image-holder::after {
    display: none;
  }

  #inhoud {
    margin-top: 50px;
  }

  #inhoud > .background-color > .component-grid {
    margin-top: 70px;
  }

  .homepage-header .text-holder {
    padding: 50px 0 50px 40px;
    margin: 0 40px 0 auto;
  }

  .producten-grid.mobile {
    display: block;
    width: calc(100% + 40px);
  }

  .producten-grid.desktop {
    display: none;
  }

  .producten-grid.mobile > div {
    padding-left: 20px;
  }

  .diensten-holder .tabs-holder-desktop {
    display: none;
  }

  .diensten-holder .tabs-holder-mobile {
    display: block;
  }
  .diensten-holder .tabs-holder-mobile > div {
    width: calc(100% + 80px);
    margin-left: -40px;
  }

  .corporate .diensten-holder .label-holder .label .inner-label {
    padding-left: 35px;
    font-size: 14px;
  }

  .corporate .diensten-holder .label-holder .label .inner-label img {
    max-width: 27px;
    max-height: 20px;
  }

  .diensten-holder .label-holder {
    height: 100%;
  }

  .diensten-holder .diensten-tabs-inner {
    overflow: unset;
  }
  .diensten-holder .diensten-tabs-inner .slider-holder {
    overflow: hidden;
    max-width: calc(100% - 100px);
    margin: 0 auto;
  }

  .logo-slider .square {
    height: 150px;
    width: 150px;
  }

  .nieuws-grid-holder .nieuws-item .text-holder {
    background-color: #F5F6F8;
    padding: 25px 15px 10px;
  }
  .nieuws-grid-holder .nieuws-item .text-holder h3 {
    font-size: 16px;
    line-height: 23px;
  }

  .nieuws-grid-holder .button-holder {
    margin-top: 30px;
  }

  .section-productenOverzicht .products-holder .uk-width-1-4\@m {
    width: 33.3222259247%;
  }

  .products-holder.diensten .product .text-holder {
    padding: 30px 20px;
  }

  .item.overzicht-cta .image-column {
    display: none;
  }

  .item.overzicht-cta .text-column {
    width: 100%;
  }

  .items-container .item.overzicht-cta .cta-text-holder {
    padding: 35px 30px;
  }

  .video-popup {
    padding: 40px;
  }

  .ribon-bar {
    display: none;
  }

  .diensten-slider-holder .swipe-cirkel {
    display: none;
  }

  .diensten-slider-holder .uk-width-1-4\@m {
    width: 33.3222259247%;
  }

  .section-marketplaceOverzicht .uk-width-1-4\@m {
    width: 50%;
  }
}
@media only screen and (max-width: 768px) {
  .demo-holder h2 {
    font-size: 28px;
    line-height: 44px;
  }

  .producten-header {
    padding-bottom: 50px;
  }

  .products-holder .large-text-holder {
    top: -85px;
  }

  .products-holder .large-text-holder .large-outline-text text {
    font-size: 100px;
  }

  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 100px;
  }

  .detail-header .text-holder {
    margin: 30px -140px 0 auto;
    width: calc(100% + 100px);
    padding: 40px 25px 30px;
  }

  .nieuws-holder {
    padding: 75px 0 0;
  }

  .nieuws-holder .large-text-holder {
    left: 20px;
    top: -60px;
  }

  .contact-header .text-holder {
    padding-right: 10px;
  }

  .contact-header .text-holder.right {
    padding-left: 10px;
  }

  .contact-header .location-holder {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .container, .large-container {
    padding: 0 20px;
  }

  .no-image-header {
    padding: 40px 0 50px;
  }

  .no-image-header .intro {
    margin-top: 0;
    padding-top: 25px;
    max-width: unset;
  }

  .homepage-header .text-column {
    order: 2;
  }

  .homepage-header .image-column {
    order: 1;
  }

  .homepage-header .text-holder {
    padding: 50px 20px;
    margin: 0;
  }

  .homepage-header .text-holder .text {
    margin: 15px 0;
  }

  .homepage-header h1 {
    max-width: unset;
  }

  .products-holder {
    padding: 50px 0;
  }

  .homepage-cta-holder > div, .homepage-cta-one-column > div {
    padding: 0;
  }

  .homepage-cta-holder {
    margin: 20px 0 0;
    background-color: #FFFFFF;
  }

  .homepage-cta-holder .column {
    padding: 30px 20px;
  }
  .homepage-cta-holder .column h2 {
    font-size: 14px;
    line-height: 21px;
    letter-spacing: -0.12px;
    margin-bottom: 25px;
  }

  .homepage-cta-holder::before, .homepage-cta-holder::after {
    display: none;
  }

  .homepage-cta-holder .column .icon-holder img {
    max-width: 22px;
    max-height: 22px;
  }

  .homepage-cta-holder a.read-more, .homepage-cta-holder span.read-more {
    font-size: 12px;
  }
  .homepage-cta-holder a.read-more > span, .homepage-cta-holder span.read-more > span {
    padding-right: 12px;
  }
  .homepage-cta-holder a.read-more > span::before, .homepage-cta-holder span.read-more > span::before {
    top: 6px;
    width: 4px;
    height: 7px;
  }

  .demo-holder::before {
    width: 100vw;
  }

  .demo-holder {
    padding: 50px 0 0;
  }

  .demo-holder h2 {
    font-size: 18px;
    line-height: 24px;
  }

  .demo-holder .text-holder {
    padding-bottom: 0px;
  }

  .diensten-holder {
    padding: 75px 0 0;
  }

  .diensten-holder .diensten-intro-holder {
    padding: 0 20px;
    margin: 0 auto 50px;
  }

  .klanten-holder {
    margin: 50px 0;
  }

  .logo-slider .square {
    height: 110px;
    width: 110px;
  }

  .logo-slider .square img {
    max-width: 75px;
    max-height: 30px;
  }

  .section-victaQlikHomepage .cta-full-background {
    padding: 50px 0;
  }

  .large-outline-text text {
    font-size: 110px;
    transform: translateY(-30px);
  }

  .popup {
    font-size: 11px;
    line-height: 20px;
    width: calc(100% - 40px);
  }

  .popup .text-holder {
    padding: 20px;
  }

  .popup .text-holder h3 {
    font-size: 16px;
    line-height: 24px;
  }

  .popup .text-container::before {
    width: 90px;
    height: 114px;
  }

  .producten-header .image-column {
    order: 1;
  }

  .producten-header .text-column {
    order: 2;
  }

  .producten-header .text-holder {
    margin: 0 20px;
  }

  .producten-header .image-holder {
    padding-right: 20px;
  }

  .producten-header {
    background-color: #2D2C31;
  }
  .producten-header::before {
    display: none;
  }

  .section-productenOverzicht .products-holder {
    padding: 75px 0 50px;
  }

  .section-productenOverzicht .products-holder .uk-width-1-4\@m {
    width: 100%;
  }

  .detail-header .text-column {
    order: 2;
    margin-top: -50px;
  }

  .detail-header .image-column {
    order: 1;
  }

  .detail-header .text-holder {
    margin: 0 0 0 20px;
    width: calc(100% - 40px);
    padding: 40px 25px 30px;
  }

  .detail-header .image-holder {
    margin: 0;
  }

  .detail-header::before {
    height: 100%;
  }

  .products-holder.diensten .large-text-holder {
    left: 0;
  }

  .nieuws-holder .large-text-holder {
    left: 40;
    top: -40px;
  }

  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 80px;
  }

  .diensten-header {
    padding: 50px 0 30px;
  }

  .diensten-header .intro {
    margin-top: 0;
    padding-top: 25px;
  }

  .products-holder.diensten {
    padding: 0 0 50px;
  }

  .form-holder.zoek-form .input-holder {
    margin-bottom: 20px;
  }

  .form-holder.zoek-form button {
    min-width: unset;
    width: 100%;
  }

  .form-holder.zoek-form {
    margin-top: 30px;
  }

  p.nr-results {
    margin-top: 50px;
  }

  .resultaten {
    margin-bottom: 50px;
  }

  .form-holder .fui-row {
    display: block;
  }

  .section-oplossingenOverzicht .diensten-header {
    padding: 50px 0 0px;
  }

  .section-oplossingenOverzicht .products-holder .large-text-holder svg {
    display: none;
  }

  .contact-header .contact-inner::before {
    display: none;
  }

  .contact-header {
    padding: 50px 0;
  }

  .contact-header .text-holder {
    padding-right: 0;
    max-width: unset;
    margin: 0;
  }

  .contact-header .text-holder.right {
    padding-left: 0;
  }

  .contact-header .vestigingen-holder {
    margin-bottom: 30px;
  }

  .contact-header .blokken-holder .blok h3 {
    margin-bottom: 10px;
  }

  .contact-formulier-holder .left-column {
    padding: 50px 0;
  }

  .contact-formulier-holder .left-column {
    padding: 50px 0;
  }

  .contact-formulier-holder {
    padding-bottom: 30px;
  }

  .contact-formulier-holder .uk-grid-margin {
    margin-top: 0;
  }

  .contact-formulier-holder .right-column img {
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
    margin-left: -20px;
  }

  .section-klantverhalenOverzicht .no-image-header {
    padding: 50px 0 125px;
  }

  .section-klantverhalenOverzicht .load-more-container {
    margin-top: -100px;
  }

  .items-container {
    padding: 0 0 50px;
  }

  .load-more-button-container.custom {
    padding: 25px;
  }

  .load-more-button-container .amount-visible {
    padding-bottom: 20px;
  }

  .filter .cat-label {
    width: 100%;
    display: block;
    box-sizing: border-box;
    margin-left: 0;
    margin-top: 20px;
  }

  .filter .cat-label img {
    margin-top: 7px;
    float: right;
  }

  .cta-right-image:not(.left) .dots-animation {
    display: none;
  }

  .section-klantverhalen .detail-header .text-holder,
.section-nieuwsOverzicht .detail-header .text-holder,
.section-partnersOverzicht .detail-header .text-holder {
    margin: 0px auto 0 auto;
    padding: 30px 20px 30px 30px;
  }

  .header-404 {
    padding: 0 20px 50px;
  }

  .header-404 h1 {
    margin-top: 0px;
  }

  .video-popup {
    width: calc(100% - 40px);
    padding: 40px 20px 20px;
  }

  .video-popup .close {
    right: 10px;
    top: 5px;
  }

  .no-image-header .form-holder h2 {
    font-size: 22px;
    line-height: 32px;
  }

  .contact-formulier-holder .left-column.no-image::before {
    display: none;
  }

  .cta-label {
    padding: 10px 18px;
    transform: translateY(-150%) rotate(-90deg);
  }

  .victa-diensten {
    padding: 45px 0;
  }

  .victa-diensten .intro-container {
    padding: 0;
  }

  .victa-diensten .intro-container {
    margin-bottom: 30px;
  }

  .illustration-holder {
    padding: 30px 0 0;
  }

  .section-klantverhalenOverzicht .no-image-header, .section-nieuwsOverzicht .no-image-header, .section-partnersOverzicht .no-image-header {
    padding: 50px 0 180px;
  }

  .diensten-slider-holder .uk-width-1-4\@m {
    width: 50%;
  }

  .diensten-slider-holder {
    padding: 0 20px;
  }

  .diensten-slider-holder .dienst .image-holder {
    max-width: 100px;
    margin: 0 auto -45px;
  }

  .diensten-slider-holder .dienst .text-holder {
    padding: 65px 20px 50px;
  }

  .diensten-slider-holder .dienst .text-holder .step-holder {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }

  .diensten-slider-holder .dienst .text-holder h3 {
    font-size: 15px;
    line-height: 21px;
  }

  .victa-diensten.detail .diensten-slider-holder {
    padding: 0;
  }

  .victa-diensten.detail .diensten-slider-holder::before {
    bottom: 46%;
  }

  .products-holder.custom-margin {
    margin-top: 50px;
  }

  .victa-diensten.custom-margin {
    margin-top: 0;
  }

  .product-labels-holder {
    padding: 30px 0;
  }
}
a.read-more > span::before, span.read-more > span::before {
  background-image: url(/assets/images/arrow-orange-right.svg);
}

.section-productenOverzicht .products-holder::before {
  background-image: url(/assets/images/products-decoration-orange.svg);
}

.component-tekst ul li::before {
  content: url(/assets/images/orange-check.svg);
}

.products-holder.diensten .product .text-holder ul li::before {
  background-image: url("/assets/images/orange-check.svg");
}

.diensten-holder .tabs-holder .text-holder ul li::before {
  background-image: url("/assets/images/orange-check.svg");
}

.component-quote::before {
  content: url(/assets/images/quote-orange.svg);
}

header .top-menu-holder li .vacature-count {
  background-color: #FFFFFF;
  color: #F06C24;
}

@media only screen and (max-width: 767px) {
  header .logo-holder img {
    max-width: 160px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzaGVldHMvYXBwLXRpbWV4dGVuZGVyLmNzcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNrRmhCOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBLGtNQ2RpQjtFRGVqQixlQ1plO0VEYWYsbUJDZG9CO0VEZXBCLGdCQ1ppQjtFRGFqQjtFQUNBO0VBQ0E7RUFDQSxnQkN6Q2dCO0VEMENoQixXQ2hHVztBRmNmOztBQ3NGQTs7RUFBQTtBQUlBO0VBQU87QURuRlA7O0FDc0ZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFDVTtBRHBGVjs7QUNzRkE7O0VBQUE7QUFJQTs7RUFFSSxjQ3pDZ0I7RUQwQ2hCLHFCQ3hDd0I7RUR5Q3hCO0FEcEZKOztBQ3dGQTs7OztFQUlJLGNDaERzQjtFRGlEdEIsMEJDL0M4QjtBRnRDbEM7O0FDMEZBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO1VBQUE7RUFDQTtFQUNBO0FEekZKOztBQzRGQTs7RUFBQTtBQUlBOztFQUNTLG1CQ3ZFaUI7QUZsQjFCOztBQzJGQTs7OztFQUFBO0FBTUE7OztFQUdJO0VBQ0Esd0NDakZvQjtFRGtGcEI7RUFDQSxtQkM5SHFCO0VEK0hyQjtFQUNBLGNDckp1QjtFRHNKdkI7RUUxREE7RUFDQSxtQkQzR3NCO0FGNkUxQjs7QUMyRkE7O0VBQUE7QUFJQTtFQUFLLGNDOUpzQjtBRnNFM0I7O0FDMEZBOztFQUFBO0FBSUE7RUFDSSxnQkNsR2tCO0VEbUdsQixXQ2hNVztFRGlNWDtBRHhGSjs7QUMyRkE7O0VBQUE7QUFJQTtFQUNJLGdCQzFHbUI7RUQyR25CLFdDMU1XO0FGaUhmOztBQzRGQTs7RUFBQTtBQUlBO0VBQUksa0JDaEhvQjtBRnVCeEI7O0FDMkZBOztFQUFBO0FBSUE7RUFBUSxjQ3JIZTtBRjZCdkI7O0FDMEZBOztFQUFBO0FBSUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QUR4Rko7O0FDMkZBO0VBQU07QUR2Rk47O0FDd0ZBO0VBQU07QURwRk47O0FDdUZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7Ozs7O0VBS1E7QURyRlI7O0FDdUZBOzs7OztFQUFBO0FBT0E7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRHJGSjs7QUN3RkE7QUFDQTtFQUVHO0lBQ0s7SUFDQTtJQUNBO0VEdEZOO0FBQ0Y7QUMwRkE7O0VBQUE7QUFJQTtFQUFpQjtBRHhGakI7O0FDMEZBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FEeEZKOztBQzJGQTs7O0VBQUE7QUFLQTtFQUFTO0FEeEZUOztBQzJGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7Ozs7O0VBT1M7QUR6RlQ7O0FDMkZBO0FBQ0E7Ozs7Ozs7O0VBT2EsZ0JDOVVHO0FGdVBoQjs7QUMwRkE7NkVBQUE7QUFHQTs7Ozs7Ozs7Ozs7RUFXSTtFQUNBLGtNQy9RaUI7RURnUmpCLG1CQ3JQdUI7RURzUHZCLFdDN1ZvQjtFRDhWcEIsb0JDclAwQjtBRjZKOUI7O0FDNEZBO0FBQ0E7Ozs7Ozs7Ozs7O0VBVTBCLGdCQ25RSDtBRjJLdkI7O0FDMEZBOztFQUFBO0FBSUE7RUFDSSxxQkN2UWdCO0VEd1FoQixnQkN2UWtCO0FGK0t0Qjs7QUM0RkE7RUFDSSxpQkN6UWdCO0VEMFFoQixnQkN6UWtCO0FGZ0x0Qjs7QUM2RkE7RUFDSSxpQkM3UXFCO0VEOFFyQixnQkM1UWtCO0FGa0x0Qjs7QUM4RkE7RUFDSSxrQkN6WXNCO0VEMFl0QixnQkNoUmtCO0FGcUx0Qjs7QUMrRkE7RUFDSSxlQzdUZTtFRDhUZixnQkNwUmtCO0FGd0x0Qjs7QUNnR0E7RUFDSSxtQkNqV3FCO0VEa1dyQixnQkN4UmtCO0FGMkx0Qjs7QUNpR0E7QUFDQTtFQUVJO0lBQWEsbUJDN1dVO0VGK1F6Qjs7RUMrRkU7SUFBYSxlQzVTUztFRmlOeEI7QUFDRjtBQytGQTs2RUFBQTtBQUdBOztFQUNLLGtCQ3hTb0I7QUYyTXpCOztBQytGQTs7RUFBQTtBQUlBOzs7O0VBR2U7QUQ1RmY7O0FDK0ZBOzZFQUFBO0FBR0E7RUFBSztBRDVGTDs7QUM2RkE7RUFBSztBRHpGTDs7QUM0RkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEM0ZKOztBQytGQTtBQUNBOztFQUNhLGdCQ25kRztBRndYaEI7O0FDOEZBOzZFQUFBO0FBR0E7RUFBVTtBRDNGVjs7QUM4RkE7NkVBQUE7QUFHQTtFQUNJO0VBQ0Esa0JDL2RzQjtFRGdldEIsZ0JDMVYwQjtFRDJWMUIsa0JDMVZ5QjtFQ0F6QixXRHBJb0I7QUZtWXhCOztBQytGQTtBQUNBO0VBQWlCLGdCQ3hlRDtBRjZZaEI7O0FDNkZBOztFQUFBO0FBSUE7RUFBNEI7QUQxRjVCOztBQzRGQTtFQUNJLGdCQ3RXa0I7RUR1V2xCLG1CQzVicUI7RUQ2YnJCLGdCQ3JXaUM7RUNEakMsV0R0SVc7QUZvWmY7QUc1UUk7RUFBWTtBSCtRaEI7O0FDMEZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsV0MxZlc7RUQyZlg7RUFDQTtLQUFBO0VBQ0E7RUFDQTtFRWxYQSxhRDA1QmU7RUN6NUJmO0VBQ0Esa0JENDVCcUI7RUMzNUJyQixnQkR6RmdCO0FGbVhwQjs7QUN5RkE7RUFBVyx3Q0N4YWE7QUZtVnhCOztBQ3dGQTs2RUFBQTtBQUdBO0VBQ0ksZ0JDN1h3QjtFRDhYeEIsV0N2Z0JtQjtFRHdnQm5CO0FEdEZKO0FDbUZBO0VBQ0ksZ0JDN1h3QjtFRDhYeEIsV0N2Z0JtQjtFRHdnQm5CO0FEdEZKOztBQzBGQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBOztFQUNPO0VBQ0g7QUR4Rko7O0FDMkZBOztFQUFBO0FBSUE7RUFBVTtBRHhGVjs7QUMwRkE7O0VBQUE7QUFJQTtFQUFXO0FEdkZYOztBQzBGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBNEI7QUR4RjVCOztBQ3lGQTtFQUE0QjtBRHJGNUI7O0FDc0ZBO0VBQTRCO0FEbEY1Qjs7QUNtRkE7RUFBNEI7QUQvRTVCOztBQ2lGQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FEOUVKOztBSXpkQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBOztFQUVJLFdGc0JpQjtBRm1jckI7O0FJcmRBOzs7O0VBSUksV0ZwQ1c7QUY0ZmY7O0FJbmRBOzZFQUFBO0FBR0E7O0VBRUk7QUpxZEo7O0FJamRBOzs7O0VBSUksV0ZKaUI7QUZ3ZHJCOztBSS9jQTs2RUFBQTtBQUdBOztFQUVJO0FKaWRKOztBSTdjQTs7OztFQUlJLGNGdkR3QjtFRXdEeEIscUJGMGZpQztBRjFDckM7O0FJM2NBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFFSTtFQUNBO0FKNGNKOztBSXZjQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBSnljSjs7QUl0Y0E7RUFBd0I7QUowY3hCOztBSzlmQTs7NkVBQUE7QUFJQTtFQUNJLGlCSDJac0I7RUcxWnRCLGdCSHNhd0I7QUYwRjVCOztBSzVmQTtFQUNJLG9CSHVadUI7RUd0WnZCLGdCSGlheUI7QUY4RjdCOztBSzNmQTtFQUNJLGlCSG1ac0I7RUdsWnRCLGdCSDRad0I7QUZrRzVCOztBSzFmQTtFQUNJLGVIdVl5QjtFR3RZekIsY0h1WnlCO0FGc0c3Qjs7QUt6ZkE7RUFDSSxlSHlZd0I7RUd4WXhCLGNIa1owQjtBRjBHOUI7O0FLeGZBO0FBQ0E7RUFFSTtJQUFvQixrQkgwWEk7RUZpSTFCOztFSzFmRTtJQUFxQixpQkgyWEk7RUZtSTNCOztFSzdmRTtJQUFvQixlSHVYSztFRjBJM0I7O0VLaGdCRTtJQUFxQixlSDhYRztFRnNJMUI7O0VLbmdCRTtJQUFzQixlSGdZRztFRnVJM0I7QUFDRjtBS3BnQkE7QUFDQTtFQUVJO0lBQXFCLGVIOFdJO0VGd0ozQjs7RUtyZ0JFO0lBQW9CLGVIcVhJO0VGb0oxQjs7RUt4Z0JFO0lBQXFCLGVIdVhJO0VGcUozQjs7RUszZ0JFO0lBQXNCLGdCSHdYSTtFRnVKNUI7QUFDRjtBSzNnQkE7OzZFQUFBO0FBb0JBO0FBU0E7QUFhQTs7NkVBQUE7QUFxQkE7QUFZQTtBQWFBOzZFQUFBO0FBR0E7RUFDSSxpQ0g2UjZCO0VHNVI3QjtBTDhiSjs7QUt6YkE7NkVBQUE7QUFHQTtFQUFxQjtBTDRickI7O0FLMWJBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxxQkh5UWlCO0VHeFFqQjtFQUNBO0VBQ0EseUJIdVFvQjtFR3RRcEIsK0JIdVEwQjtFR3RRMUI7QUw0Yko7O0FLdmJBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFtQjtBTHlibkI7O0FLdmJBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FMeWJKOztBS3RiQTs7OztFQUFBO0FBTUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFId09pQjtFR3ZPakI7RUFDQTtBTHdiSjs7QUtwYkE7RUFDSTtFQUNBLCtCSGtPNkI7QUZxTmpDOztBS3JiQTtFQUNJO0VBQ0EsOEJIOE42QjtBRjBOakM7O0FNOXFCQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLG1CSi9DWTtBRjh0QmhCOztBTTVxQkE7QUFDQTtFQUE0QixnQkpuRFo7QUZtdUJoQjs7QU03cUJBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLFlKa1JrQjtFSy9TbEI7RUQrQkE7RUFDQTtBTitxQko7O0FNM3FCQTs7RUFFSTtFQUNBO0VBQ0EsUUp5UW9CO0VJeFFwQjtFQUNBO0FOOHFCSjs7QU0xcUJBO0VBQ0k7RUFDQSxXSmtRc0I7QUYyYTFCOztBTXpxQkE7RUFDSTtFQUNBLFdKNFBzQjtBRmdiMUI7O0FNdnFCQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0FBQ0E7RUFBb0I7QU55cUJwQjs7QU12cUJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0EsWUo0T2tCO0VJM09sQjtFQUNBO0VBQ0E7QU4wcUJKOztBTXJxQkE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsYUprT3NCO0VJak90QjtFQUNBO0VBQ0E7QU51cUJKOztBUXh1QkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0FSMHVCSjs7QVF2dUJBOztFQUFBO0FBSUE7RUFBNkI7QVIwdUI3Qjs7QVF4dUJBOztFQUFBO0FBSUE7O0VBQ29CLGdCTmdFRTtBRjJxQnRCOztBUXh1QkE7Ozs2RUFBQTtBQUtBOzs7OztFQUlzQixrQk55ZkY7QUZrUHBCOztBUXp1QkE7O0VBQUE7QUFJQTtFQUFtQjtBUjR1Qm5COztBUTN1QkE7RUFBdUI7QVIrdUJ2Qjs7QVE3dUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsV040ZWdCO0VNM2VoQixhTjRlaUI7RU0zZWpCO0VBQ0E7RUFDQTtFQUNBO0FSZ3ZCSjs7QVE3dUJBO0VBQTJCO0FSaXZCM0I7O0FRaHZCQTtFQUE2QjtBUm92QjdCOztBUW52QkE7RUFBNkI7QVJ1dkI3Qjs7QVF0dkJBO0VBQThCO0FSMHZCOUI7O0FRenZCQTtFQUE2QjtBUjZ2QjdCOztBUTN2QkE7O0VBQUE7QUFJQTtFQUE0QjtBUjh2QjVCOztBUTd2QkE7RUFBK0I7QVJpd0IvQjs7QVFod0JBO0VBQThCO0FSb3dCOUI7O0FRbndCQTtFQUFnQztBUnV3QmhDOztBUXB3QkE7NkVBQUE7QUFHQTtFQUFzQixrQk5pZEY7QUZzVHBCOztBUXJ3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxXTjJjZ0I7RU0xY2hCLGFOMmNpQjtFTTFjakI7RUR6R0E7RUMyR0E7RUFDQTtBUnd3Qko7O0FRcHdCQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQk5Ya0I7RU1ZbEIsaUJOWmtCO0VNYWxCO0FScXdCSjs7QVFqd0JBOztFQUFBO0FBSUE7RUFDSTtBUm13Qko7QUcyc0JJO0VBQ0k7RUFDQTtBSHpzQlI7O0FRbndCQTtFQUF1QyxtQk5sSmI7QUZ5NUIxQjs7QVFyd0JBO0VBQXFDO0FSeXdCckM7O0FRdHdCQTs2RUFBQTtBQUdBOztFQUMwQixnQk45S1Y7QUZ1N0JoQjs7QVF2d0JBOztFQUM2QjtBUjJ3QjdCOztBUXp3QkE7O0VBQUE7QUFJQTtFQUNJLGdCTnhMWTtFTXlMWixpQk56TFk7QUZvOEJoQjs7QVF4d0JBO0VBQ0k7RUFDQTtBUjJ3Qko7O0FReHdCQTs7RUFBQTtBQUlBO0VBQXFDO0FSMndCckM7O0FRendCQTtFQUNJO0VBQ0E7QVI0d0JKOztBUXp3QkE7O0VBQ3NEO0FSNndCdEQ7O0FTcjhCQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0ksV1B6Qm9CO0VDMnNCcEIsbUJEMXBCcUI7RUMycEJyQixtQkR3WGdDO0VDdlhoQyx5QkR3WG1DO0FGbkd2Qzs7QVNyOEJBO0VBQ0ksZ0JQbkNZO0FGMitCaEI7O0FTcjhCQTs7RUFBQTtBQVNBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGdCUHZEWTtFT3dEWixpQlB4RFk7RU95RFo7QVRnOEJKOztBVWo4QkE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJSekVZO0FGMmdDaEI7O0FVOTdCQTtBQUNBO0VBQWdCLGdCUjlFQTtBRmdoQ2hCOztBVS83QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQlJ2Q3FCO0VRd0NyQixtQlJ3MEI0QjtFUXYwQjVCLFdSdENpQjtFQ3U1RFk7QUhoN0JqQzs7QVU1N0JBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0FWODdCSjs7QVUxN0JBOztFQUFBO0FBSUE7RUFBNkI7QVY2N0I3Qjs7QVUxN0JBOzZFQUFBO0FBR0E7RUFDSSxtQlJsRXFCO0FGOC9CekI7O0FVdjdCQTs2RUFBQTtBQUdBO0VBQ0ksbUJSM0VxQjtFUTRFckI7RUFDQSxXUjFFaUI7QUZtZ0NyQjs7QVVwN0JBOzZFQUFBO0FBR0E7O0VBQ3NCO0FWdTdCdEI7O0FVcDdCQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7OztFQUdJO0FWcTdCSjs7QVVqN0JBOztFQUFBO0FBSUE7O0VBRUksbUJSaEpzQjtFQ204RHRCO0VBQ0E7QUgvM0JKOztBVWo3QkE7O0VBQUE7QUFJQTs7RUFFSSxnQlI4dkIwQjtBRnFMOUI7O0FVOTZCQTs2RUFBQTtBQUdBOztFQUVJLGdCUm92QjBCO0FGNEw5Qjs7QVU1NkJBOzZFQUFBO0FBR0E7O0VBRUk7QVY4NkJKOztBVTE2QkE7O0VBRUk7QVY2NkJKOztBVXg2QkE7NkVBQUE7QUFHQTs7RUFDbUM7QVYyNkJuQzs7QVV6NkJBOztFQUNrQztBVjY2QmxDOztBVTE2QkE7NkVBQUE7QUFHQTtFQUFtQjtBVjY2Qm5COztBVTU2QkE7RUFBbUIsZ0JSMnRCTTtBRnFOekI7O0FVNzZCQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBaUI7QVYrNkJqQjs7QVU3NkJBO0VBQ0k7RUFDQTtBVmc3Qko7O0FVNzZCQTtFQUFxQztBVmk3QnJDOztBVTk2QkE7NkVBQUE7QUFJQTtBQUNBO0VBRUk7Ozs7O0lBSTBCO0VWKzZCNUI7O0VVNzZCRTtJQUE2QjtFVmk3Qi9COztFVS82QkU7O0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVms3Qk47O0VVLzZCRTs7O0lBRTREO0VWbTdCOUQ7O0VVajdCRTs7O0lBRTJEO0VWcTdCN0Q7O0VVbjdCRTs7SUFFSTtJQUNBO0VWczdCTjtBQUNGO0FHd3hCSTtFQUFxQjtBSHJ4QnpCOztBV3ZxQ0E7OzZFQUFBO0FBSUE7Ozs7Ozs7Ozs7OztFQUFBO0FBY0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHdxQ0o7O0FXcnFDQTtBQUNBO0VBQWdDO0FYeXFDaEM7O0FXdnFDQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBWHlxQ0o7O0FXdHFDQTs7RUFBQTtBQUlBO0VBQTJEO0FYeXFDM0Q7O0FXeHFDQTtFQUE2RDtBWDRxQzdEOztBVzFxQ0E7O0VBQUE7QUFJQTtFQUFlO0FYNnFDZjs7QVcxcUNBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLFdUd1pjO0VTdlpkLFlUdVpjO0VTdFpkO0VBQ0E7RUFDQTtFQUNBO0FYMnFDSjs7QVd2cUNBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLFdUeEVpQjtBRmd2Q3JCOztBV3BxQ0E7O0VBRUksV1RoSVc7RVNpSVg7QVh1cUNKOztBV25xQ0E7QUFDQTs7RUFFSSxjVDRYcUI7QUYweUJ6Qjs7QVdscUNBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQSxXVGtYZTtFU2pYZixZVGlYZTtFU2hYZixvQlRpWHdCO0VTaFh4QixtQlQxSXNCO0VTMkl0QixXVHJHaUI7RVNzR2pCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVIyMkJBO0VBQ0E7QUgwVEo7O0FXbHFDQTtBQUNBOztFQUVJLHlCVHNXMkI7RVNyVzNCLFdUcEtXO0VTcUtYO0FYcXFDSjs7QVdqcUNBO0FBQ0E7O0VBRUkseUJUK1Y0QjtFUzlWNUIsV1Q3S1c7QUZpMUNmOztBWXAwQ0E7OzZFQUFBO0FBSUE7Ozs7Ozs7RUFBQTtBQVNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnEwQ0o7O0FZajBDQTtBQUNBO0VBQWtCO0FacTBDbEI7O0FZcDBDQTtFQUE4QjtBWncwQzlCOztBWXQwQ0E7QUFDQTtFQUNJLFlWbVVzQjtFVWxVdEI7RUFDQTtFQUNBO0FaeTBDSjs7QVl0MENBOztFQUFBO0FBSUE7RUFBaUQ7QVp5MENqRDs7QVl4MENBO0VBQTZDO0FaNDBDN0M7O0FZMzBDQTtFQUFzQztBWiswQ3RDOztBWTUwQ0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZVnNTc0I7RVVyU3RCLFdWcVNzQjtFVXBTdEIsb0JWcVM2QjtFVXBTN0IsZ0JWNUJnQjtFQ3V2Qlk7QUhtbkJoQzs7QVkxMENBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxZVjBSc0I7RVV6UnRCLFdWeVJzQjtFVXhSdEIsb0JWeVI2QjtFVXhSN0IsZ0JWeENnQjtFQ3V2Qlk7QUgrbkJoQzs7QVkxMENBO0FBQ0E7RUFDSTtFQUNBO0FaNjBDSjs7QVkxMENBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxZVndRc0I7RVV2UXRCLFdWdVFzQjtFVXRRdEIsb0JWdVE2QjtFVXRRN0IsZ0JWMURnQjtFQ3V2Qlk7QUhpcEJoQzs7QVkxMENBO0FBQ0E7RUFBeUI7QVo4MEN6Qjs7QVkzMENBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtBQUNBO0VBQ0ksV1Z1UHNCO0VVdFB0QixtQlZ1UDBCO0VDcWJFLG9CRCtSQztBRmtZakM7O0FZejBDQTs7RUFHSSxtQlZpUGdDO0FGMGxDcEM7O0FZdjBDQTtBQUNBO0VBQ0ksV1Z5T3NCO0VVeE90QixtQlZ5TzBCO0VDcWJFLG9CRCtSQztBRjhZakM7O0FZdjBDQTtFQUNJLG1CVnFPZ0M7QUZxbUNwQzs7QVl0MENBO0FBQ0E7O0VBRUksV1Y0TnNCO0VVM050QixtQlY0TjBCO0VDcWJFLG9CRCtSQztBRjBaakM7O0FZdDBDQTs7RUFFSSxtQlZ1TmdDO0FGa25DcEM7O0FhbjRDQTs7NkVBQUE7QUFJQTs7Ozs7Ozs7O0VBQUE7QUFXQTs7Ozs7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FibzRDSjs7QWFqNENBOztFQUFBO0FBSUE7RUFBWTtBYm80Q1o7O0FhbDRDQTs7RUFBQTtBQUlBO0VBQWE7QWJxNENiOztBYW40Q0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWJxNENKOztBYWw0Q0E7O0VBQUE7QUFJQTtFQUFlO0FicTRDZjs7QWFuNENBOztFQUFBO0FBSUE7O0VBQ3NEO0FiczRDdEQ7O0FhbjRDQTs7RUFBQTtBQUlBOztFQUNzRDtBYnM0Q3REOztBYXA0Q0E7O0VBQUE7QUFJQTs7RUFDaUM7QWJ1NENqQzs7QWFyNENBOztFQUFBO0FBSUE7O0VBQzhCO0FidzRDOUI7O0FhdDRDQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0FidzRDSjs7QWFwNENBOzs7OzZFQUFBO0FBTUE7O0VBQUE7QUFJQTs7RUFDZTtBYnM0Q2Y7O0FhcDRDQTs7Ozs7RUFBQTtBQU9BOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JYdkxnQjtFV3dMaEIsV1g5T1c7RUNrekJYO0VBQ0E7RUFDQTtBSG0wQko7O0FhcjRDQTs7Ozs7RUFBQTtBQU9BOztFQUVJLFlYeEZvQjtFV3lGcEI7RUFDQTtFQUNBO0FidTRDSjs7QWFuNENBO0FBQ0E7O0VBQ3lCLGlCWHlITjtBRjh3Q25COztBYXI0Q0E7O0VBQUE7QUFJQTs7O0VBR0ksZ0JYa0hvQjtFV2pIcEIsbUJYaUhvQjtFV2hIcEI7QWJ1NENKOztBYW40Q0E7O0VBQ21CO0FidTRDbkI7O0FhcjRDQTtBQUNBOzs7RUFHSTtFQUNBLHNCWHJPZ0I7RVdzT2hCLFdYNVJXO0VDd3pCVyxxQkR2eUJFO0FGb3BENUI7O0FhcjRDQTtBQUNBOzs7RUFHSSx5Qlh4UnNCO0VXeVJ0QixXWG5QaUI7RUN1d0JRLHFCRDNyQmI7QUZnakRoQjs7QWFyNENBOztFQUFBOztBQUtBO0VBQXlCLFdYNVBKO0FGdW9EckI7O0FhMzRDQTtFQUF5QixXWDVQSjtBRnVvRHJCOztBYTM0Q0E7RUFBeUIsV1g1UEo7QUZ1b0RyQjs7QWF4NENBO0VBQTRCLFdYL1BQO0FGK29EckI7O0FhaDVDQTtFQUE0QixXWC9QUDtBRitvRHJCOztBYWg1Q0E7RUFBNEIsV1gvUFA7QUYrb0RyQjs7QWE3NENBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQixtQlg1UVE7QUYycER6Qjs7QWE3NENBO0VBQ0ksWVh4SjBCO0VXeUoxQixpQlh5RTRCO0VXeEU1QixrQlh3RTRCO0FGdzBDaEM7O0FhNzRDQTtFQUFzRCxpQlhzRTdCO0FGMjBDekI7O0FhLzRDQTs7RUFBQTtBQUlBO0VBQWlCLGtCWDlVUztBRmd1RDFCOztBYWg1Q0E7RUFDSSxZWHBLMEI7RVdxSzFCLGtCWCtENEI7RVc5RDVCLG1CWDhENEI7QUZxMUNoQzs7QWFoNUNBO0VBQXNELGlCWDREN0I7QUZ3MUN6Qjs7QWFqNUNBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFFSSxjWG5VdUI7RUNneUJBLHFCRGh5QkE7QUZzdEQzQjs7QWEvNENBOztFQUFBO0FBSUE7O0VBRUksY1huVndCO0VDdXlCQSxxQkR2eUJBO0FGcXVENUI7O0FhOTRDQTs7RUFBQTtBQUlBO0VBQ0k7RVY0Y3NCO0FIcThCMUI7O0FhNzRDQTtFVjBjSSxxQkRoc0JZO0VDaXNCWixvQkRxUjRCO0FGa3JCaEM7O0FhNzRDQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQTZCLFdYZ0JUO0FGKzNDcEI7O0FhNzRDQTtFQUE4QjtBYmk1QzlCOztBYS80Q0E7RUFBdUIsWVhhSjtBRnM0Q25COztBYWo1Q0E7RUFBd0IsWVhZSjtBRnk0Q3BCOztBYW41Q0E7RUFBdUIsWVhXSjtBRjQ0Q25COztBYXA1Q0E7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQlhOd0I7RUs5WHhCO0VNc1lBO0VBQ0E7QWJxNUNKOztBYWw1Q0E7QUFDQTtFQUFxRDtBYnM1Q3JEOztBYXA1Q0E7QUFDQTtFQUFnRCxXWGRyQjtBRnM2QzNCOztBYXQ1Q0E7O0VBQUE7QUFJQTtFTnBaSTtBUDZ5REo7O0FhdDVDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUM7RUFDRyxtQlg3QjBCO0VXOEIxQjtFQUNBO0FidTVDSjs7QWFwNUNBOztFTnBhSTtBUDZ6REo7O0FhdDVDQTtBQUNBO0VBQXFEO0FiMDVDckQ7O0FhdjVDQTs7NkVBQUE7QUFJQTs7Ozs7OztFQUFBO0FBU0E7O0VBRUk7RUFDQTtFQUNBLFlYeERjO0VXeURkLFdYekRjO0VXMERkO0VBQ0E7RUFDQTtFQUNBLGdCWDVEb0I7RVc2RHBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2QlhqRW9CO0VXa0VwQjtFQUNBO0VBQ0E7RVZpV0E7RUFDQTtFQUNBO0FId2pDSjs7QWF2NUNBO0VBQVk7QWIyNUNaOztBYXo1Q0E7QUFDQTs7RUFFSTtFVjRWNEIscUJEcnpCSjtBRnMzRDVCOztBYXo1Q0E7O0VBQUE7QUFJQTs7O0VBR0kseUJYcGV3QjtFQ3N6Qk0seUJEaVJOO0FGeXpCNUI7O0FheDVDQTtBQUNBOzs7RUFHSSx5Qlg3RmtDO0FGdy9DdEM7O0FhdjVDQTs7RUFBQTtBQUlBO0VOOWVJO0FQdzRESjs7QWF6NUNBO0VOL2VJO0FQNDRESjs7QWE1NUNBO0VOaGZJO0FQZzVESjs7QWE5NUNBOztFQUFBO0FBSUE7O0VBRUkseUJYbmdCc0I7RUM2ekJTLHFCRDNzQm5CO0FGa3pEaEI7O0FhNzVDQTtFTjVmSTtBUDY1REo7O0FhaDZDQTtFTjdmSTtBUGk2REo7O0FhbjZDQTtFTjlmSTtBUHE2REo7O0FhcDZDQTs2RUFBQTtBQUdBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQlgxYnFCO0VXMmJyQixnQlh4SXNCO0FGNmlEMUI7O0FhaDZDQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiaTZDSjs7QWE5NUNBOzs7Ozs7O0VBQUE7QUFTQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmc2Q0o7O0FhNzVDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FiZzZDSjs7QWE1NUNBOzZFQUFBO0FBR0E7RVZpT0ksV0Q5MEJvQjtFQyswQnBCLG1CRDl4QnFCO0FGNDlEekI7O0FhMzVDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLGtCWHBOeUI7QUZnbkQ3Qjs7QWF4NUNBOztFQUFBO0FBSUE7QUFDQTtFQUVJO0VBQ0E7SUFDSTtJQUNBLGtCWGxPcUI7RUYybkQzQjtBQUNGO0FhcDVDQTtBQUNBO0VBRUk7SUFDSSxZWDNPc0I7SVc0T3RCLGVYM08yQjtJVzRPM0I7RWJxNUNOOztFYWo1Q0U7SUFBd0Msa0JYL09MO0VGb29EckM7O0VhbjVDRTtFQUNBO0lBQTZDLGdCWGpQTDtFRndvRDFDO0FBQ0Y7QWFuNUNBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdYN2dCb0I7RVc4Z0JwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV1hwb0JpQjtBRnVoRXJCOztBYWg1Q0E7O0VBQUE7QUFJQTtFQUFzQixXWDdyQlA7QUZnbEVmOztBYWo1Q0E7O0VBQUE7QUFJQTtFQUE4QztBYm81QzlDOztBYWw1Q0E7O0VBQUE7QUFJQTtFQUFvRDtBYnE1Q3BEOztBYW41Q0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWJxNUNKOztBYWw1Q0E7RUFBaUM7QWJzNUNqQzs7QWNsaUVBOzs2RUFBQTtBQUlBOzs7Ozs7Ozs7Ozs7RUFBQTtBQWNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQlovRHFCO0VZZ0VyQjtFQUNBLGlCWnFEaUI7RVlwRGpCO0VBQ0E7RUFDQTtFQUNBO0VYc01BLHlCRG12Qm9CO0VDbHZCcEI7RUFDQTtBSDgxREo7O0FjbGlFQTtFQUE0QjtBZHNpRTVCOztBY3BpRUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWRzaUVKOztBY25pRUE7QUFDQTtFQUNJO0VBQ0E7QWRzaUVKOztBY2xpRUE7QUFDQTtFQUNJO0FkcWlFSjs7QWNqaUVBO0FBT0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksNkJaaUJ3QjtFWWhCeEIsV1psS29CO0VDbVVNO0FINDNEOUI7O0FjemhFQTtBQUNBOztFQUVJLDZCWlc4QjtFWVY5QixXWjFLb0I7RUNvVVkscUJENnVCTjtBRnNwQzlCOztBY3poRUE7QUFDQTs7RUFFSSw2QlpLK0I7RVlKL0IsV1psTG9CO0VDcVVhLHFCRDZ1Qk47QUY2cEMvQjs7QWN6aEVBOztFQUFBO0FBSUE7RUFDSSx5Qlp4S3dCO0VZeUt4QixXWnZMbUI7RUNpVU87QUhrNUQ5Qjs7QWN4aEVBO0FBQ0E7O0VBRUkseUJaVDhCO0VZVTlCLFdaL0xtQjtBRjB0RXZCOztBY3ZoRUE7QUFDQTs7RUFFSSx5QlpmK0I7RVlnQi9CLFdadk1tQjtBRml1RXZCOztBY3RoRUE7O0VBQUE7QUFJQTtFQUNJLHNCWnpKMEI7RVkwSjFCLFdaak5tQjtFQ29VUztBSHM2RGhDOztBY3JoRUE7QUFDQTs7RUFFSSx5Qlo3QmdDO0VZOEJoQyxXWnpObUI7QUZpdkV2Qjs7QWNwaEVBO0FBQ0E7O0VBRUkseUJabkNpQztFWW9DakMsV1pqT21CO0FGd3ZFdkI7O0FjbmhFQTs7RUFBQTtBQUlBO0VBQ0kseUJabk51QjtFWW9OdkIsV1ozT21CO0VDdVVNO0FIMDdEN0I7O0FjbGhFQTtBQUNBOztFQUVJLHlCWmpENkI7RVlrRDdCLFdablBtQjtBRnd3RXZCOztBY2poRUE7QUFDQTs7RUFFSSx5Qlp2RDhCO0VZd0Q5QixXWjNQbUI7QUYrd0V2Qjs7QWNoaEVBOzs7RUFBQTtBQUtBOzs7O0VBSUksNkJabkV5QjtFWW9FekIsV1oxTmlCO0VDMlJVLHFCRC9NZjtBRmlxRWhCOztBYzlnRUE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsaUJaL0d1QjtFWWdIdkIsbUJaeE9xQjtBRnd2RXpCOztBYzVnRUE7RUFDSTtFQUNBLGlCWnBIdUI7RVlxSHZCLG1CWi9PcUI7QUY4dkV6Qjs7QWMxZ0VBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBLGdCWmhPaUI7RVlpT2pCO0VBQ0E7RUFDQSxXWnBUb0I7RUNvVnBCO0FINCtESjtBRzErREk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDQrRFI7O0FjamhFQTtBQUNBOztFQUVJLFdaM1RvQjtBRiswRXhCO0FHNStESTs7RUFBWTtBSGcvRGhCOztBY3BoRUE7QUFDQTtFQUNJLFdaN1FpQjtBRm95RXJCO0FHaC9ESTtFQUFZO0FIbS9EaEI7O0FjdGhFQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0EsZ0JaN1BpQjtFWThQakI7RUFDQTtFQUNBLGNaN1BnQjtBRnF4RXBCOztBY3BoRUE7QUFDQTs7RUFFSSxjWmpRc0I7RVlrUXRCLDBCWnRJZ0M7QUY2cEVwQzs7QWNwaEVBO0FBQ0E7RUFDSSxXWjFTaUI7RVkyU2pCO0FkdWhFSjs7QWNuaEVBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fkb2hFSjs7QUd4aEVJOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFDbUQ7QUgwaEV2RDs7QUd4aEVJOzs7OztFQUFBO0FBT0E7Ozs7RUFJSTtFQUNBO0FIMGhFUjs7QWVqNUVBOzs2RUFBQTtBQUlBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmJ4QnNCO0VheUJ0QjtFQUNBLG1CYjdDWTtFYThDWixZYjh2QmM7RUNzZ0NkLG9CRDNyQnFCO0VDNHJCckI7QUgrb0JKOztBZWg1RUE7QUFDQTtFQUFtQixnQmJuREg7QUZ1OEVoQjs7QWVsNUVBOztFQUFBO0FBSUE7RUFBNkI7QWZxNUU3Qjs7QWVuNUVBOzs7RUFBQTtBQUtBO0VBQ0UseUJiOUN3QjtFQyt4RHRCLG9CRDNyQnFCO0VDNHJCckI7QUhxcUJKOztBZW41RUE7QUFDQTtFQUFnRDtBZnU1RWhEOztBZXI1RUE7OztFQUFBO0FBS0E7RUFDSSx5QmJ0RHdCO0VhdUR4QjtFQUFBO0FmdTVFSjs7QWVuNUVBO0VBQ0kseUJiNUR3QjtBRms5RTVCOztBZWw1RUE7RUFDSSx5QmJqRXdCO0Vha0V4QjtFQUFBO0VBQ0E7RUFDQTtBZnE1RUo7O0FnQmw4RUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFBd0I7RUFDeEIsaUJkcURtQjtFY3BEbkIsb0Jkb0RtQjtBRmc1RXZCOztBZ0JoOEVBO0FBQ0E7RUFFSTtJQUNJLGlCZG5CYztJY29CZCxvQmRwQmM7RUZzOUVwQjtBQUNGO0FnQjk3RUE7O0VBQUE7QUFJQTtFQUE0QjtBaEJnOEU1Qjs7QWdCNzdFQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxpQmR4Rlk7RWN5Rlosb0JkekZZO0FGdWhGaEI7O0FnQjM3RUE7O0VBQUE7QUFJQTtFQUNJLGlCZGNtQjtFY2JuQixvQmRhbUI7QUZnN0V2Qjs7QWdCMTdFQTs7RUFBQTtBQUlBO0VBQ0ksaUJkMURrQjtFYzJEbEIsb0JkM0RrQjtBRnUvRXRCOztBZ0J6N0VBO0FBQ0E7RUFFSTtJQUNJLGtCZDZmZTtJYzVmZixxQmQ0ZmU7RUYrN0RyQjtBQUNGO0FnQnQ3RUE7O0VBQUE7QUFJQTtFQUNJLGtCZGlmbUI7RWNoZm5CLHFCZGdmbUI7QUZ1OER2Qjs7QWdCcDdFQTtBQUNBO0VBRUk7SUFDSSxrQmQrc0I0QjtJYzlzQjVCLHFCZDhzQjRCO0VGd3VEbEM7QUFDRjtBZ0JqN0VBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGdCZHhGZ0I7QUZ5Z0ZwQjs7QWdCNzZFQTs7RUFBQTtBQUlBO0VBQ0ksbUJkM0lzQjtBRjBqRjFCOztBZ0IzNkVBOztFQUFBO0FBSUE7RUFDSSxtQmQvSXdCO0FGNGpGNUI7O0FnQnI2RUE7O0VBQUE7QUFJQTtFQUNJLGdCZG5IMEI7QUYwaEY5Qjs7QWdCLzVFQTs2RUFBQTtBQUdBOzs7RUFBQTtBQ2pLQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGlCZjJRa0I7RWUxUWxCO0VBQ0E7RUFDQSxrQmY2UTJCO0VlNVEzQixtQmY0UTJCO0FGd3pFL0I7O0FpQmprRkE7QUFDQTtFQUVJO0lBQ0ksa0JmbEJRO0llbUJSLG1CZm5CUTtFRnNsRmQ7QUFDRjtBaUIvakZBO0FBQ0E7RUFFSTtJQUNJLGtCZnpCZTtJZTBCZixtQmYxQmU7RUYwbEZyQjtBQUNGO0FpQjVqRkE7O0VBQUE7QUFJQTtFQUE4QjtBakI4akY5Qjs7QWlCNWpGQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBakI4akZKOztBaUIxakZBOzZFQUFBO0FBR0E7RUFBdUIsZ0JmOE5NO0FGKzFFN0I7O0FpQjNqRkE7RUFBc0IsZ0JmNk5NO0FGazJFNUI7O0FpQjdqRkE7RUFBc0IsaUJmNE5NO0FGcTJFNUI7O0FpQi9qRkE7RUFBdUIsaUJmMk5NO0FGdzJFN0I7O0FpQmprRkE7RUFBdUI7QWpCcWtGdkI7O0FpQmxrRkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQTRCO0FqQm9rRjVCOztBaUJua0ZBO0VBQTZCO0FqQnVrRjdCOztBaUJya0ZBO0FBQ0E7RUFFSTs7SUFDaUQ7RWpCd2tGbkQ7O0VpQnRrRkU7O0lBQ2dEO0VqQjBrRmxEO0FBQ0Y7QWlCdmtGQTtBQUNBO0VBRUk7O0lBQzZCO0VqQnlrRi9COztFaUJ2a0ZFOztJQUNpRDtFakIya0ZuRDs7RWlCemtGRTs7SUFDZ0Q7RWpCNmtGbEQ7O0VpQjNrRkU7O0lBQ2dEO0VqQitrRmxEOztFaUI3a0ZFOztJQUNpRDtFakJpbEZuRDtBQUNGO0FpQjdrRkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFDMEM7QWpCOGtGMUM7O0FpQjVrRkE7RUFBeUM7QWpCZ2xGekM7O0FpQi9rRkE7RUFBMEM7QWpCbWxGMUM7O0FpQmpsRkE7QUFDQTtFQUVJOztJQUMwQztFakJvbEY1Qzs7RWlCbGxGRTtJQUF5QztFakJzbEYzQzs7RWlCcmxGRTtJQUEwQztFakJ5bEY1QztBQUNGO0FpQnRsRkE7QUFDQTtFQUVJOztJQUMwQztFakJ3bEY1Qzs7RWlCdGxGRTtJQUF5QztFakIwbEYzQzs7RWlCemxGRTtJQUEwQztFakI2bEY1QztBQUNGO0FrQjN0RkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQmhCNDVCc0I7RWdCMzVCdEIsbUJoQjI1QnNCO0VnQjE1QnRCLGlCaEJvRG1CO0VnQm5EbkIsb0JoQm1EbUI7QUZ5cUZ2Qjs7QWtCeHRGQTtBQUNBO0VBRUk7SUFDSSxrQmhCaENRO0lnQmlDUixtQmhCakNRO0VGMnZGZDtBQUNGO0FrQnR0RkE7QUFDQTtFQUVJO0lBQ0ksa0JoQnZDZTtJZ0J3Q2YsbUJoQnhDZTtJZ0J5Q2YsaUJoQmhDYztJZ0JpQ2Qsb0JoQmpDYztFRnd2RnBCO0FBQ0Y7QWtCbnRGQTs7RUFBQTtBQUlBO0VBQXlCO0FsQnF0RnpCOztBa0JsdEZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGlCaEJyR1k7RWdCc0daLG9CaEJ0R1k7QUZ5ekZoQjs7QWtCaHRGQTs7RUFBQTtBQUlBO0VBQ0ksaUJoQkNtQjtFZ0JBbkI7QWxCa3RGSjs7QWtCL3NGQTs7RUFBQTtBQUlBO0VBQ0ksaUJoQnZFa0I7RWdCd0VsQixvQmhCeEVrQjtBRnl4RnRCOztBa0I5c0ZBO0FBQ0E7RUFFSTtJQUNJLGtCaEJnZmU7SWdCL2VmLHFCaEIrZWU7RUZpdUVyQjtBQUNGO0FrQjNzRkE7O0VBQUE7QUFJQTtFQUNJLGtCaEJvZW1CO0VnQm5lbkIscUJoQm1lbUI7QUZ5dUV2Qjs7QWtCenNGQTtBQUNBO0VBRUk7SUFDSSxrQmhCNDBCeUI7SWdCMzBCekIscUJoQjIwQnlCO0VGZzREL0I7QUFDRjtBa0J0c0ZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGdCaEJyR2dCO0FGMnlGcEI7O0FrQmxzRkE7O0VBQUE7QUFJQTtFQUNJLG1CaEJ4SnNCO0FGNDFGMUI7O0FrQmhzRkE7O0VBQUE7QUFJQTtFQUNJLG1CaEI1SndCO0FGODFGNUI7O0FrQjFyRkE7O0VBQUE7QUFJQTtFQUNJLGdCaEJoSTBCO0FGNHpGOUI7O0FtQm55RkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0VoQndhZ0I7QUg4M0VwQjs7QW1CanlGQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBbkJteUZKOztBbUIveEZBO0VBQ0k7RUFDQTtBbkJreUZKOztBbUI5eEZBO0VBQ0k7RUFDQTtBbkJpeUZKOztBbUI3eEZBO0FBQ0E7RUFFSTtJQUFnQjtFbkJneUZsQjs7RW1COXhGRTtJQUFrQjtFbkJreUZwQjs7RW1CaHlGRTtJQUFrQjtFbkJveUZwQjtBQUNGO0FtQmp5RkE7O0VBQUE7QUFJQTs7O0VBRWdDO0FuQm15RmhDOztBbUJoeUZBOzZFQUFBO0FBR0E7OztFQUFBO0FBNEJBOzZFQUFBO0FBR0E7RUFDSSxpQmpCekRxQjtFaUIwRHJCLGdCakI0RXFCO0FGNnJGekI7O0FtQnB3RkE7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBLFNqQjJEYTtFaUIxRGIsV2pCMkRlO0VpQjFEZjtFQUNBO0VBQ0EsWWpCeURnQjtFaUJ4RGhCLGtCakJ5RDRCO0VpQnhENUIsbUJqQndENEI7RWlCdkQ1QjtFQUNBLG1CakJwTHdCO0VpQnFMeEIsV2pCbk1tQjtFaUJvTW5CLG1CakJ4SnFCO0VpQnlKckI7RUFDQTtFQUNBO0VBQ0E7QW5CcXdGSjs7QW1CandGQTs7RUFBQTtBQUlBO0VBQWlDO0FuQm93RmpDOztBbUJqd0ZBOzZFQUFBO0FBR0E7RUFDSSxnQmpCcEtnQjtFQ3NkTSwyQ0RzZ0JBO0FGNDhEMUI7O0FtQi92RkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJLGdCakJsTGdCO0VpQm1MaEIsV2pCek9XO0VDNmdCYSwwQ0RvZ0JEO0FGeTlEM0I7O0FtQjd2RkE7RUFDSSxXakJoUG9CO0FGZy9GeEI7O0FtQjV2RkE7RUFDSSxzQmpCN0xnQjtFQ3lkYywyQ0RtZ0JSO0FGaStEMUI7O0FtQjV2RkE7RWhCeVJtQztBSHUrRW5DOztBbUI1dkZBO0VoQnNSbUM7QUgwK0VuQzs7QW1CNXZGQTs7RUFBQTtBQUlBO0VBQ0ksbUJqQm5Qd0I7RWlCb1B4QixXakJsUW1CO0VDK2dCSywwQ0QrZkQ7QUZtL0QzQjs7QW1CM3ZGQTtFQUNJLFdqQnZRbUI7QUZxZ0d2Qjs7QW1CMXZGQTtFQUNJLHlCakI5UHdCO0VDbWdCTSwyQ0Q4ZlI7QUYyL0QxQjs7QW1CcHZGQTs7RUFBQTtBQUlBO0VBQ0ksZ0JqQnBPMEI7RWlCcU8xQixXakI1Um1CO0VDa2hCTywwQ0Q0Zkg7QUZxZ0UzQjs7QW1CbnZGQTtFQUNJLFdqQmpTbUI7QUZ1aEd2Qjs7QW1CbHZGQTtFQUNJLHNCakIvTzBCO0VDNmRNLDJDRDJmVjtBRjZnRTFCOztBbUIzdUZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFDK0I7QW5CNnVGL0I7O0FtQjN1RkE7RUFBaUM7QW5CK3VGakM7O0FtQjl1RkE7RUFBaUM7QW5Ca3ZGakM7O0FtQmh2RkE7O0VBQUE7QUFJQTtBQUNBO0VBRUk7O0lBQytCO0VuQmt2RmpDOztFbUJodkZFO0lBQWlDO0VuQm92Rm5DOztFbUJudkZFO0lBQWlDO0VuQnV2Rm5DO0FBQ0Y7QUcxaUZJOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FIMmlGUjs7QUd6aUZJO0VBQ0k7RUFDQTtBSDRpRlI7O0FHemlGSTs7O0VBR0ksa0JEN2dCUTtFQzhnQlIsbUJEOWdCUTtBRjBqR2hCOztBR3ppRkk7RUFBOEM7QUg2aUZsRDs7QUcxaUZJO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RUg0aUZWOztFRzFpRk07SUFDSTtJQUNBO0VINmlGVjs7RUcxaUZNOzs7SUFHSSxrQkRoaUJXO0lDaWlCWCxtQkRqaUJXO0VGOGtHckI7O0VHMWlGTTtJQUE4QztFSDhpRnBEO0FBQ0Y7QUczaUZJOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FINGlGUjs7QUcxaUZJO0VBQ0k7RUFDQTtBSDZpRlI7O0FHMWlGSTs7O0VBR0ksa0JEL2xCUTtFQ2dtQlIsbUJEaG1CUTtBRjZvR2hCOztBRzFpRkk7RUFBK0M7QUg4aUZuRDs7QUc1aUZJOztFQUFBO0FBSUE7QUFDQTtFQUVJO0lBQW1DO0VIOGlGekM7O0VHN2lGTTtJQUE4QztFSGlqRnBEOztFRy9pRk07OztJQUdJO0lBQ0E7RUhrakZWOztFRy9pRk07SUFBK0Msa0JEZ0NyQjtFRm1oRmhDO0FBQ0Y7QW9CM3BHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0ksV2xCaUNpQjtFQzZrQmpCO0VBQ0E7QUg4aUZKOztBb0J6cEdBO0FBQ0E7O0VBRUksV2xCeEJXO0VrQnlCWDtBcEI0cEdKOztBcUIxcUdBOzs2RUFBQTtBQUlBOztFQUFBO0FBU0E7NkVBQUE7QUFHQTtFQUFrQjtVQUFBO0FyQnNxR2xCOztBcUJwcUdBO0VBQ0k7SUFBSztFckJ3cUdQO0VxQnZxR0U7SUFBTztFckIwcUdUO0FBQ0Y7O0FxQjdxR0E7RUFDSTtJQUFLO0VyQndxR1A7RXFCdnFHRTtJQUFPO0VyQjBxR1Q7QUFDRjtBcUJ4cUdBOztFQUFBO0FBSUE7RUFDSSxzQm5CazBCb0I7RW1CajBCcEI7RUFDQTtFQUNBO1VBQUE7RUFDQSxlbkI0ekJtQjtFbUIzekJuQjtBckJ5cUdKOztBcUJ0cUdBO0VBQ0k7SUFBSyx1Qm5CeXpCZTtFRmkzRXRCO0VxQnpxR0U7SUFDSTtJQUNBO0VyQjJxR047RXFCenFHRTtJQUNJLHVCbkJtekJnQjtJbUJsekJoQjtFckIycUdOO0FBQ0Y7O0FxQnByR0E7RUFDSTtJQUFLLHVCbkJ5ekJlO0VGaTNFdEI7RXFCenFHRTtJQUNJO0lBQ0E7RXJCMnFHTjtFcUJ6cUdFO0lBQ0ksdUJuQm16QmdCO0ltQmx6QmhCO0VyQjJxR047QUFDRjtBc0J2dEdBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxZcEJtOUJZO0VvQmw5QlosV3BCNEJpQjtFQzRoRUE7QUhncUNyQjs7QXNCcHRHQTtBQUNBOztFQUVJLFdwQjdCVztFb0I4Qlg7QXRCdXRHSjs7QXNCbnRHQTtBQUNBO0VBQ0ksV3BCdENvQjtBRjR2R3hCOztBdUIvdUdBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxZckJzbEJhO0VxQnJsQmIsZ0JyQnFDMEI7RXFCcEMxQixXckJuQm1CO0VDdW5EbkI7QUg2b0RKOztBdUI3dUdBO0FBQ0E7O0VBRUksV3JCMUJtQjtFcUIyQm5CO0F2Qmd2R0o7O0F3Qjd1R0E7OzZFQUFBO0FBSUE7RUFDSTtFQUNBLG1CdEI5Q1k7RXNCK0NaO0VBQ0EsbUJ0QjdCc0I7RXNCOEJ0QixXdEIxQ1c7QUZ5eEdmOztBd0IzdUdBO0FBQ0E7RUFBZ0IsZ0J0QnREQTtBRnF5R2hCOztBd0I3dUdBOztFQUFBO0FBSUE7RUFBMEI7QXhCZ3ZHMUI7O0F3Qjd1R0E7OzZFQUFBO0FBSUE7RUFDSTtFQUNBLFN0Qi9DYztFc0JnRGQsV3RCdERrQjtFQ21CbEI7RUFDQSxZRGdnQ2tCO0FGbXhFdEI7O0F3Qjd1R0E7O0VBQUE7QUFJQTtFQUFrQztBeEJndkdsQzs7QXdCOXVHQTs7RUFBQTtBQUlBOztFckI3Q0k7RUFDQSxZRDYvQndCO0FGa3lFNUI7O0F3Qjd1R0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksbUJ0QnpFdUI7RXNCMEV2QixjdEIzRXdCO0FGeXpHNUI7O0F3QjF1R0E7O0VBQUE7QUFJQTtFQUNJLG1CdEJoRnVCO0VzQmlGdkIsY3RCbEZ3QjtBRjh6RzVCOztBd0J4dUdBOztFQUFBO0FBSUE7RUFDSSxtQnRCdkZ1QjtFc0J3RnZCLGN0QnpGd0I7QUZtMEc1Qjs7QXdCdHVHQTs7RUFBQTtBQUlBO0VBQ0ksbUJ0QjlGc0I7RXNCK0Z0QixjdEJoR3VCO0FGdzBHM0I7O0FHenpHSTs7RUFBQTtBQUlBOzs7Ozs7RUFLZTtBSDR6R25COztBRzF6R0k7RUFDSTtFQUNBO0FINnpHUjs7QUcxekdJO0VBQ0k7RUFDQTtBSDZ6R1I7O0F5QjkyR0E7OzZFQUFBO0FBSUE7RUFDSSxtQnZCdEJZO0V1QnVCWjtFQUNBLHVCdkIrd0JxQjtFQ3NnQ0U7QUg0bEQzQjs7QXlCNzJHQTtBQUNBO0VBQXNCLGdCdkI3Qk47QUY4NEdoQjs7QXlCLzJHQTs7RUFBQTtBQUlBO0VBQWdDO0F6QmszR2hDOztBMEIvM0dBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQSxleEJrQ1M7RXdCakNULFl4QmlDUztFd0JoQ1Q7RUFDQSxvQnhCa0NrQjtFd0JqQ2xCO0VBQ0E7RUFDQSxtQnhCZndCO0V3QmdCeEIsV3hCOUJtQjtFd0IrQm5CLG1CeEJhcUI7RXdCWnJCO0VBQ0E7RUFDQTtFQUNBO0ExQmc0R0o7O0EwQjUzR0E7O0VBQUE7QUFJQTs7RUFFSSxXeEI3Q21CO0V3QjhDbkI7RUFDQTtBMUI4M0dKOztBMkJ6NUdBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBLG1CekJid0I7RXlCY3hCLGdCekJnRGlCO0V5Qi9DakIsbUJ6QmVxQjtFeUJkckIsV3pCOUJtQjtFeUIrQm5CO0VBQ0E7RXhCMmhEQSxrQkRqZWtCO0VDa2VsQix5QkRqZW1CO0FGazJFdkI7O0EyQng1R0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0kseUJ6QjVCd0I7RXlCNkJ4QixXekI5Q21CO0FGdThHdkI7O0EyQnI1R0E7O0VBQUE7QUFJQTtFQUNJLHlCekJuQ3dCO0V5Qm9DeEIsV3pCeERtQjtBRis4R3ZCOztBMkJuNUdBOztFQUFBO0FBSUE7RUFDSSx5QnpCMUN1QjtFeUIyQ3ZCLFd6QmxFbUI7QUZ1OUd2Qjs7QTRCeDhHQTs7NkVBQUE7QUFJQTtFQUNJO0E1QjA4R0o7O0E0QnQ4R0E7O0VBQUE7QUFJQTtFQUE0QjtBNUJ5OEc1Qjs7QTRCdDhHQTs2RUFBQTtBQVFBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLG9DMUJ1dEJ5QjtBRjB1RjdCOztBNEI3N0dBOztFQUFBO0FBSUE7RUFDSSxpQzFCK3NCeUI7QUZndkY3Qjs7QTZCeCtHQTs7NkVBQUE7QUFJQTtFQUNJO0E3QjArR0o7O0E2QnQrR0E7O0VBQUE7QUFJQTtFQUE0QjtBN0J5K0c1Qjs7QTZCdCtHQTs2RUFBQTtBQUdBO0VBQ0ksZ0IzQkdrQjtBRnErR3RCOztBNkJuK0dBOzZFQUFBO0FBR0E7RUFDSSxxQjNCRnNCO0UyQkd0QixnQjNCRndCO0FGdStHNUI7O0E2QmorR0E7QUFDQTtFQUVJO0lBQW9CLG1CM0JaRztFRmcvR3pCO0FBQ0Y7QTZCaCtHQTs2RUFBQTtBQUdBO0VBQ0ksbUIzQmpCcUI7RTJCa0JyQixnQjNCaEJ1QjtFMkJpQnZCLFczQmhCaUI7QUZpL0dyQjtBRzc5R0k7RUFBSSxXRHBCYTtBRm8vR3JCO0FHOTlHSTtFQUNJLFdEekVPO0VDMEVQO0FIZytHUjs7QThCL2dIQTs7NkVBQUE7QUFTQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0E5QjJnSEo7O0E4QnZnSEE7RUFDSTtFQUNBLG1CNUJ2RFk7QUZpa0hoQjs7QThCdGdIQTs7RUFBQTtBQUlBOztFQUNtQztBOUJ5Z0huQzs7QThCdGdIQTs2RUFBQTtBQUdBO0VBQ0ksa0I1QnJFc0I7RTRCc0V0QixnQjVCdU93QjtBRml5RzVCOztBOEJuZ0hBOzZFQUFBO0FBR0E7RUFDSSxtQjVCM0JxQjtFNEI0QnJCLGdCNUIrTnVCO0U0QjlOdkIsVzVCMUJpQjtBRitoSHJCOztBOEJoZ0hBOzZFQUFBO0FBUUE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QTlCNC9HSjs7QThCei9HQTtBQUNBO0VBQ0ksZ0I1QjFEa0I7QUZzakh0Qjs7QThCeC9HQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0Esa0I1QitMd0I7RTRCOUx4QjtBOUIwL0dKOztBOEJ0L0dBO0FBQ0E7RUFFSTtJQUFvQyxtQjVCd0xWO0VGaTBHNUI7QUFDRjtBOEJ0L0dBO0FBQ0E7RUFDSSxnQjVCbkZrQjtBRjJrSHRCOztBOEJuL0dBOzZFQUFBO0FBR0E7RTNCZ2lCSSxhRHZvQlk7RUN3b0JaLHlCRHpwQnNCO0FGK21IMUI7O0ErQi9rSEE7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CZ2xISjs7QStCNWtIQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQzhDO0EvQjhrSDlDOztBK0I1a0hBOztFQUFBO0FBSUE7RUFBcUM7QS9CK2tIckM7O0ErQjdrSEE7Ozs7Ozs7Ozs7RUFBQTtBQVlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzdCbEhXO0FGaXNIZjs7QStCM2tIQTtFQUF5QjtBL0Ira0h6Qjs7QStCN2tIQTtBQUNBO0VBQXlDO0EvQmlsSHpDOztBK0JobEhBO0VBQWdDLFc3QnhFWDtBRjRwSHJCOztBK0JwbEhBO0VBQWdDLFc3QnhFWDtBRjRwSHJCOztBK0JqbEhBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUF3QjtBL0JtbEh4Qjs7QStCamxIQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXN0J0R2lCO0FGeXJIckI7O0ErQmhsSEE7O0VBQUE7QUFJQTtFQUFtQyxXN0I3R2Q7QUZnc0hyQjs7QStCamxIQTs7RUFBQTtBQUlBO0VBQTJEO0EvQm9sSDNEOztBK0JsbEhBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0EvQm9sSEo7O0ErQmhsSEE7NkVBQUE7QUFHQTtFQUFxQixZN0J3bkJFO0FGMjlGdkI7O0ErQmpsSEE7O0VBQUE7QUFJQTtFQUNJLFk3QnhCb0I7RTZCeUJwQixpQjdCa25CZ0M7RTZCam5CaEMsa0I3QmluQmdDO0U2QmhuQmhDLHVCN0JpbkJ3QjtFQ2tnQ1E7QUhpK0RwQzs7QStCaGxIQTtBQUNBO0VBQ0ksNkI3QjJtQndCO0FGdytGNUI7O0ErQi9rSEE7O0VBQUE7QUFJQTtFQUFxQyxXN0J6Q2I7QUYybkh4Qjs7QStCaGxIQTtFQUFrRjtBL0JvbEhsRjs7QStCbmxIQTtFQUE2RDtBL0J1bEg3RDs7QStCcGxIQTs2RUFBQTtBQUdBO0VBQW9CLFk3QjZsQkU7QUYwL0Z0Qjs7QStCcmxIQTs7RUFBQTtBQUlBO0VBQ0ksWTdCdWxCbUI7RTZCdGxCbkIsdUI3QnVsQnVCO0U2QnRsQnZCLGlCN0I3R3FCO0FGb3NIekI7O0ErQm5sSEE7O0VBQUE7QUFJQTtFQUFvQyxXN0JnbEJUO0FGc2dHM0I7O0ErQnBsSEE7RUFBaUY7QS9Cd2xIakY7O0ErQnZsSEE7RUFBNEQ7QS9CMmxINUQ7O0ErQnhsSEE7NkVBQUE7QUFHQTtFQUFtQixZN0J3a0JFO0FGbWhHckI7O0ErQnpsSEE7O0VBQUE7QUFJQTtFQUNJLFk3QmtrQmtCO0U2QmprQmxCLHVCN0Jra0JzQjtFNkJqa0J0QixtQjdCN011QjtBRnd5SDNCOztBK0J2bEhBOztFQUFBO0FBSUE7RUFBbUMsVzdCMmpCVDtBRitoRzFCOztBK0J4bEhBO0VBQWdGO0EvQjRsSGhGOztBK0IzbEhBO0VBQTJEO0EvQitsSDNEOztBK0I1bEhBOzZFQUFBO0FBR0E7RUFDSSxXN0J4TmlCO0FGc3pIckI7O0ErQjFsSEE7QUFDQTs7RUFFSSxXN0JqUlc7QUY4MkhmOztBZ0MzMUhBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtBaEM2MUhKOztBZ0N4MUhBOzZFQUFBO0FBR0E7RUFDSSxnQjlCekNZO0FGbTRIaEI7O0FnQ3IxSEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0Esa0I5QmpEc0I7RThCa0R0QixnQjlCaEQwQjtFOEJpRDFCLFc5QmhEb0I7RUNEcEI7QUh5NEhKO0FHdjRISTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGlCRHNoQ3FCO0VDcmhDckI7RUltQko7RUpqQkk7RUFDQTtBSHk0SFI7QUd0NEhJO0VJYUE7QVA0M0hKOztBZ0NqMkhBO0FBQ0E7O0VBRUksVzlCckRXO0U4QnNEWDtFQUNBO0FoQ28ySEo7O0FnQy8xSEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsZ0I5QnhFWTtBRnk2SGhCOztBZ0M3MUhBOztFQUFBO0FBSUM7RUFBc0M7QWhDZzJIdkM7O0FpQ3I1SEE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhL0JrVVc7RStCalVYO0VBQ0E7RUFDQSxZL0JnVVM7QUZzbEhiOztBaUNuNUhBO0FBQ0E7RUFBbUI7QWpDdTVIbkI7O0FpQ3A1SEE7NkVBQUE7QUFHQTtBQUNBO0VBQXlCO0FqQ3U1SHpCOztBaUN0NUhBO0VBQTRCLGdCL0J6RFo7QUZtOUhoQjs7QWlDejVIQTtFQUEwQjtBakM2NUgxQjs7QWlDNTVIQTtFQUEyQixpQi9CM0RYO0FGMjlIaEI7O0FpQzc1SEE7NkVBQUE7QUFHQTtFQUFtQztBakNnNkhuQzs7QWtDMzdIQTs7NkVBQUE7QUFJQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhaEN5VGU7RWdDeFRmO0VBQ0E7RUFDQSxnQmhDdVRpQjtFZ0N0VGpCO0VBQ0EsYWhDc1RlO0VnQ3JUZixnQmhDQ2dCO0VnQ0FoQixXaEN0RFc7RUNveUJTLDBDRHNTRjtBRnk2RnRCOztBa0N6N0hBO0FBQ0E7RUFBdUI7QWxDNjdIdkI7O0FrQzE3SEE7OzZFQUFBO0FBSUE7RUFDSTtFL0JrdUJ3QixtQkR0dkJIO0FGaTlIekI7O0FrQ3o3SEE7O0VBQUE7QUFJQTtFQUNJLFdoQzFCaUI7QUZxOUhyQjs7QWtDdjdIQTtBQUNBOzs7RUFHSSxXaENwRlc7QUY4Z0lmOztBa0N0N0hBOztFQUFBO0FBSUE7RUFDSSxXaEMvRm9CO0FGdWhJeEI7O0FrQ3A3SEE7O0VBQUE7QUFJQTtFQUNJO0FsQ3M3SEo7O0FrQ2w3SEE7O0VBQUE7QUFJQTtFQUFpQyxXaEM1RFo7QUZpL0hyQjs7QWtDbjdIQTs7O0VBRWdELFdoQ2xIakM7QUZ5aUlmOztBa0NwN0hBOzZFQUFBO0FBR0E7QUFDQTtFQUE2QjtBbEN1N0g3Qjs7QWtDdDdIQTtFQUFnQyxnQmhDVVY7QUZnN0h0Qjs7QWtDejdIQTtFQUE4QjtBbEM2N0g5Qjs7QWtDNTdIQTtFQUErQixpQmhDUVQ7QUZ3N0h0Qjs7QWtDNzdIQTs2RUFBQTtBQUdBO0VBQTJDO0FsQ2c4SDNDOztBbUN4Z0lBOzs2RUFBQTtBQUlBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhakNpaUJZO0VpQ2hpQlo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsOEJqQzJoQmU7RWlDMWhCZjtFQUNBO0VBQ0E7QW5DeWdJSjs7QW1DcmdJQTtBQUNBO0VBRUk7SUFBWTtFbkN3Z0lkO0FBQ0Y7QW1DcmdJQTtBQUNBO0VBRUk7SUFDSSxrQmpDekVlO0lpQzBFZixtQmpDMUVlO0VGZ2xJckI7QUFDRjtBbUNsZ0lBOztFQUFBO0FBSUE7RUFBb0I7QW5Db2dJcEI7O0FtQ2pnSUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0FuQ21nSWpCOztBbUNoZ0lBOzZFQUFBO0FBR0E7Ozs7Ozs7RUFBQTtBQVNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlqQ3NlaUI7RWlDcmVqQjtFQUNBO0VBQ0E7RUFDQSxnQmpDaEdnQjtFaUNpR2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DaWdJSjs7QW1DNy9IQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBbkMrL0hKOztBbUMzL0hBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFBdUMsYWpDeWNmO0FGb2pIeEI7O0FtQzMvSEE7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFDSTtFQUNBO0FuQzYvSEo7O0FtQzEvSEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuQzYvSEo7O0FtQ3gvSEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QW5DMC9ISjs7QW1DdC9IQTtFQUNJO0VBQ0E7RUFDQSxnQmpDL0pnQjtFQzZsRFE7QUg0akY1Qjs7QW1DdC9IQTtFQUNJO0VBQ0E7RUFDQSxnQmpDdEtnQjtFQzhsRFE7QUhra0Y1Qjs7QW1DdC9IQTs7RUFBQTtBQUlBOzs7RUFFaUM7QW5DeS9IakM7O0FtQ3QvSEE7NkVBQUE7QUFHQTtFQUNJLGVqQ2hJc0I7RWlDaUl0QixnQmpDc1pzQjtBRmttSDFCOztBbUNuL0hBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxhakN3WFk7RWlDdlhaLFNqQ3RIa0I7RWlDdUhsQixXakN2SGtCO0VpQ3dIbEIsWWpDMFlrQjtBRjJtSHRCOztBbUNqL0hBOztFQUFBO0FBSUE7RUFBNkM7QW5Dby9IN0M7O0FtQ2wvSEE7O0VBQUE7QUFRQTs7RUFBQTtBQVlBOzs7RUFBQTtBQUtBO0VBQ0ksTWpDdVcyQjtFaUN0VzNCO0VBQ0E7RUFDQTtFQUNBLFlqQ3FXd0I7QUZpb0g1Qjs7QW1DbCtIQTtFQUNJLFdqQ3RTbUI7QUYyd0l2Qjs7QW1DaitIQTtBQUNBO0VBRUk7RUFDQTtJQUNJLFFqQ3FWdUI7SWlDcFZ2QjtFbkNtK0hOO0FBQ0Y7QW1DLzlIQTs7RUFBQTtBQUlBO0VoQ2kyQ0k7RUFDQTtFQUNBLGFEdHFEWTtFQ3VxRFosZ0JEMW1EZ0I7QUYwdUlwQjs7QW9DM3hJQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBcEM0eElKOztBb0N2eElBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDd3hJSjs7QW9DcHhJQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ3F4SUo7O0FvQ2x4SUE7QUFDQTtFQUErQjtBcENzeEkvQjs7QW9DcHhJQTs7RUFBQTtBQUlBO0VBQXlDO0FwQ3V4SXpDOztBcUN4MUlBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FyQ3kxSUo7O0FxQ3AxSUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQXVCO0FyQ3MxSXZCOztBcUNwMUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FyQ3MxSUo7O0FxQ24xSUE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQ28xSUo7O0FxQ2oxSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNtMUlKOztBcUNoMUlBO0VBQTJCO0FyQ28xSTNCOztBcUNqMUlBOzZFQUFBO0FBR0E7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNrMUlKOztBcUMvMElBO0FBQ0E7RUFBNEI7QXJDbTFJNUI7O0FzQzU2SUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJLFlwQ28xQmE7RW9DbjFCYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzY2SUo7O0FzQzE2SUE7O0VBQUE7QUFJQTtFQUFxQyxnQ3BDeTBCVDtVb0N6MEJTLHdCcEN5MEJUO0FGb21INUI7O0FzQzM2SUE7RUFBa0MsZ0NwQ3cwQkU7VW9DeDBCRix3QnBDdzBCRTtBRnVtSHBDOztBdUNoN0lBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhckMrU2E7QUZrb0lqQjs7QXVDOTZJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBdkNnN0lKOztBdUM1NklBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZckN5cUJrQjtFcUN4cUJsQjtFQUNBLGdCckMzQjBCO0VxQzRCMUI7RUFDQTtFQUNBO0F2QzY2SUo7O0F1Q3o2SUE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxZckNncUJnQjtJcUMvcEJoQjtFdkMyNklOO0FBQ0Y7QXVDbjZJQTtBQUNBO0VBQ0k7RUFDQTtBdkNxNklKOztBdUNsNklBO0FBQ0E7RUFFSTtJQUF1QztFdkNxNkl6QztBQUNGO0F1Q2w2SUE7O0VBQUE7QUFJQTtFQUErQjtBdkNvNkkvQjs7QXVDbjZJQTtFQUNJO0VBQ0E7QXZDczZJSjs7QXVDbjZJQTs7RUFBQTtBQUlBO0VBQThCO0F2Q3M2STlCOztBdUNyNklBO0VBQWlEO0F2Q3k2SWpEOztBdUN2NklBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDeTZJSjs7QXVDdDZJQTtFQUNJO0VBQ0E7QXZDeTZJSjs7QXVDdDZJQTtFQUNJO0VBQ0E7RUFDQTtBdkN5NklKOztBdUN0NklBO0VBQWtDLFlyQ21sQlo7QUZ1MUh0Qjs7QXVDeDZJQTtBQUNBO0VBRUk7SUFBa0MsWXJDbWxCZDtFRncxSHRCO0FBQ0Y7QXVDeDZJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBdkN5NklKOztBdUNyNklBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxhckNrS2E7RXFDaktiLFNyQ2lrQnVCO0VxQ2hrQnZCLFdyQ2drQnVCO0VxQy9qQnZCLFlyQ2drQnNCO0FGdTJIMUI7O0F1Q2w2SUE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkNtNklKOztBdUNoNklBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw4QnJDK2hCMkI7RXFDOWhCM0I7RUFDQTtFQUNBO0F2Q2s2SUo7O0F1Qzk1SUE7RUFBd0M7QXZDazZJeEM7O0F1Qy81SUE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFDMEI7QXZDaTZJMUI7O0F1Qzk1SUE7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qys1SUo7O0F1QzU1SUE7O0VBQUE7QUFJQTtFQUE0RCxXckN3ZXRDO0FGdTdIdEI7O0F1Qzc1SUE7RUFBc0Q7QXZDaTZJdEQ7O0F1Qy81SUE7QUFDQTtFQUVJO0lBQTRELFdyQ3NleEM7RUY0N0h0Qjs7RXVDaDZJRTtJQUFzRDtFdkNvNkl4RDtBQUNGO0F3Qy9ySkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBeEMrckpKOztBd0MzckpBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFrQztBeEM2ckpsQzs7QXdDM3JKQTs7RUFBQTtBQUlBO0VBQWlDO0F4QzhySmpDOztBeUNydEpBOzs2RUFBQTtBQUlBO0VBQWE7QXpDd3RKYjs7QXlDdHRKQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBLGlCdkNma0I7RXVDZ0JsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpDd3RKSjs7QXlDcHRKQTs7RUFBQTtBQUlBO0VBQXdDO0F6Q3V0SnhDOztBeUNydEpBOztFQUFBO0FBSUE7RUFBa0M7QXpDd3RKbEM7O0F5Q3Z0SkE7RUFBUTtBekMydEpSOztBMENsdUpBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBLFN4QzByQm9CO0V3Q3pyQnBCLFV4Q3lyQm9CO0V3Q3hyQnBCLGF4Q3lyQm1CO0V3Q3hyQm5CO0VBQ0E7RUFDQSxZeEN1ckJpQjtBRjRpSXJCOztBMEM5dEpBOzRFQUFBO0FBR0E7O0VBRUk7RUFDQSxXeEMwcUJvQjtBRnNqSXhCOztBMEM3dEpBOztFQUVJO0VBQ0E7QTFDZ3VKSjs7QTBDN3RKQTs7O0VBR0k7RUFDQSxZeEM2cEJvQjtBRm1rSXhCOztBMEM1dEpBOzRFQUFBO0FBR0E7QUFDQTtFQUVJO0lBQ0ksVXhDa3BCZ0I7SXdDanBCaEIsV3hDaXBCZ0I7SXdDaHBCaEI7SUFDQTtFMUM2dEpOO0FBQ0Y7QTBDeHRKQTs0RUFBQTtBQUdBO0VBQ0k7RUFDQSxheEMvRmtCO0V3Q2dHbEIsbUJ4QzdGc0I7RXdDOEZ0QixXeEMxR1c7RXdDMkdYLGtCeENoSHNCO0V3Q2lIdEIsZ0J4Q3dvQitCO0V3Q3ZvQi9CO0ExQ3l0Sko7O0EwQ3J0SkE7RUFBK0IsZ0J4QzhuQkc7QUYybElsQzs7QTBDdHRKQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQSxTeEMwbkJxQjtFd0N6bkJyQixXeENuSGtCO0FGMjBKdEI7O0EwQ3B0SkE7RUFBd0Q7QTFDd3RKeEQ7O0EwQ3J0SkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksY3hDMUh3QjtBRmcxSjVCOztBMENsdEpBOztFQUFBO0FBSUE7RUFDSSxjeENoSXdCO0FGbzFKNUI7O0EwQ2h0SkE7O0VBQUE7QUFJQTtFQUNJLGN4Q3RJd0I7QUZ3MUo1Qjs7QTBDOXNKQTs7RUFBQTtBQUlBO0VBQ0ksY3hDNUl1QjtBRjQxSjNCOztBMkMzMUpBOzs2RUFBQTtBQUlBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhekNtN0JjO0V5Q2w3QmQ7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnpDKzZCZ0I7RXlDOTZCaEI7RUFDQTtFQUNBLGdCekMrNkJpQjtFeUM5NkJqQixrQnpDKzZCb0I7RXlDOTZCcEIsV3pDbkRtQjtFeUNvRG5CLGV6Qys2QmdCO0FGNjZIcEI7O0EyQ3gxSkE7QUFDQTtFQUF3QjtBM0M0MUp4Qjs7QTJDejFKQTs2RUFBQTtBQUdBO0FBQ0E7RUFBNEI7QTNDNDFKNUI7O0EyQzMxSkE7RUFBK0IsZ0J6Q202QmQ7QUY0N0hqQjs7QTJDOTFKQTtFQUE2QjtBM0NrMko3Qjs7QTJDajJKQTtFQUE4QixpQnpDaTZCYjtBRm84SGpCOztBNEN4NUpBOzs2RUFBQTtBQUlBO0VBQ0k7QTVDMDVKSjs7QTRDdDVKQTs7RUFBQTtBQUlBO0VBQTZCO0E1Q3k1SjdCOztBNEN0NUpBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QTVDdzVKSjs7QTRDbjVKQTs2RUFBQTtBQUdBO0VBQ0ksVTFDa3pCMkI7RTBDanpCM0I7QTVDcTVKSjs7QTRDaDVKQTs2RUFBQTtBQUdBO0VBQ0ksZ0IxQ3l5Qm9CO0FGeW1JeEI7O0E0Qzc0SkE7NkVBQUE7QUFHQTtBQUNBO0VBQTRCO0E1Q2c1SjVCOztBNkNsOEpBOzs2RUFBQTtBQVNBOzZFQUFBO0FBU0E7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGUzQ3NReUI7RTJDclF6QixnQjNDb1EyQjtBRmlySi9COztBNkNqN0pBO0FBQ0E7RUFFSTtJQUF1QixlM0MrUEk7RUZxcko3QjtBQUNGO0E2Q2o3SkE7QUFDQTtFQUVJO0lBQXVCLGUzQ3lQSTtFRjBySjdCO0FBQ0Y7QTZDLzZKQTs2RUFBQTtBQUdBO0VBQ0ksZTNDa1A0QjtFMkNqUDVCLGdCM0NnUDhCO0FGZ3NKbEM7O0E2QzU2SkE7QUFDQTtFQUVJO0lBQTBCLGUzQzJPSTtFRm9zSmhDO0FBQ0Y7QTZDNTZKQTtBQUNBO0VBRUk7SUFBMEIsZTNDcU9JO0VGeXNKaEM7QUFDRjtBNkMxNkpBOzZFQUFBO0FDckRBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDaStKSjs7QThDOTlKQTs7OztFQUFBO0FBTUE7RUFBZTtBOUNpK0pmOztBOEMvOUpBOztFQUFBO0FBSUE7RUFBNkI7QTlDaytKN0I7O0E4Qy85SkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0FBQ0E7RUFBVztBOUNpK0pYOztBOENoK0pBO0VBQWUsa0I1Q3ZEQztBRjJoS2hCOztBOENsK0pBO0FBQ0E7OztFQUVzQixnQjVDNUROO0FGa2lLaEI7O0E4Q3ArSkE7QUFDQTtFQUVJO0VBQ0E7SUFBVztFOUN1K0piOztFOEN0K0pFO0lBQWUsa0I1Q2hFSTtFRjBpS3JCOztFOEN4K0pFO0VBQ0E7OztJQUVzQixnQjVDckVIO0VGaWpLckI7QUFDRjtBOEN6K0pBOztFQUFBO0FBSUE7QUFDQTs7RUFDd0I7QTlDMitKeEI7O0E4QzErSkE7O0VBQzZCLGtCNUN4R1A7QUZzbEt0Qjs7QThDNStKQTtBQUNBOzs7OztFQUk0QixnQjVDL0dOO0FGK2xLdEI7O0E4QzkrSkE7O0VBQUE7QUFJQTtBQUNBOztFQUN5QjtBOUNpL0p6Qjs7QThDaC9KQTs7RUFDNkIsa0I1Q3JHYjtBRnlsS2hCOztBOENsL0pBO0FBQ0E7Ozs7O0VBSTZCLGdCNUM1R2I7QUZrbUtoQjs7QThDcC9KQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3dCO0E5Q3UvSnhCOztBOEN0L0pBOztFQUM0QixrQjVDbkhMO0FGNm1LdkI7O0E4Q3gvSkE7QUFDQTs7Ozs7RUFJNEIsZ0I1QzFITDtBRnNuS3ZCOztBOEMxL0pBO0FBQ0E7RUFFSTtFQUNBOztJQUN3QjtFOUM2L0oxQjs7RThDNS9KRTs7SUFDNEIsa0I1Q2lIVjtFRis0SnBCOztFOEM5L0pFO0VBQ0E7Ozs7O0lBSTRCLGdCNUMwR1Y7RUZ3NUpwQjtBQUNGO0E4Qy8vSkE7O0VBQUE7QUFJQTtBQUNBOztFQUMyQjtBOUNpZ0szQjs7QThDaGdLQTs7RUFDK0I7QTlDb2dLL0I7O0E4Q2xnS0E7QUFDQTs7OztFQUcwQztBOUNzZ0sxQzs7QThDbmdLQTs2RUFBQTtBQUdBO0VBQXVCO0E5Q3NnS3ZCOztBOENwZ0tBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUN1Z0tKOztBOENuZ0tBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q3NnS0o7O0E4Q2xnS0E7O0VBQUE7QUFJQTtBQUNBO0VBQW1CO0E5Q3FnS25COztBOENwZ0tBO0VBQXVCO0E5Q3dnS3ZCOztBOEN0Z0tBO0VBQW9ELFU1Q2xNcEM7QUY0c0toQjs7QThDeGdLQTtBQUNBO0VBQW1EO0E5QzRnS25EOztBOEMxZ0tBO0VBQ0k7RUFDQTtBOUM2Z0tKOztBOEMxZ0tBO0FBQ0E7RUFFSTtFQUNBO0lBQW1CO0U5QzZnS3JCOztFOEM1Z0tFO0lBQXVCO0U5Q2doS3pCOztFOEM5Z0tFO0lBQW9ELFU1Q2hOakM7RUZrdUtyQjs7RThDaGhLRTtFQUNBO0lBQW1EO0U5Q29oS3JEOztFOENsaEtFO0lBQ0k7SUFDQTtFOUNxaEtOO0FBQ0Y7QThDamhLQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3dDO0E5Q21oS3hDOztBOENsaEtBOztFQUM0QztBOUNzaEs1Qzs7QThDcGhLQTs7RUFDeUUsVTVDOVBuRDtBRnN4S3RCOztBOEN0aEtBO0FBQ0E7O0VBQ3FFO0E5QzBoS3JFOztBOEN4aEtBO0VBQ0k7RUFDQTtBOUMyaEtKOztBOEN4aEtBO0VBQTZFO0E5QzRoSzdFOztBOEMzaEtBO0VBQWdGO0E5QytoS2hGOztBOEM3aEtBOztFQUFBO0FBSUE7QUFDQTs7RUFDeUM7QTlDZ2lLekM7O0E4Qy9oS0E7O0VBQzZDO0E5Q21pSzdDOztBOENqaUtBOztFQUMwRSxVNUNuUTFEO0FGd3lLaEI7O0E4Q25pS0E7QUFDQTs7RUFDc0U7QTlDdWlLdEU7O0E4Q3JpS0E7RUFDSTtFQUNBO0E5Q3dpS0o7O0E4Q3JpS0E7RUFBOEU7QTlDeWlLOUU7O0E4Q3hpS0E7RUFBaUY7QTlDNGlLakY7O0E4QzFpS0E7O0VBQUE7QUFJQTtBQUNBOztFQUN3QztBOUM2aUt4Qzs7QThDNWlLQTs7RUFDNEM7QTlDZ2pLNUM7O0E4QzlpS0E7O0VBQ3lFLFU1Q3pSbEQ7QUYyMEt2Qjs7QThDaGpLQTtBQUNBOztFQUNxRTtBOUNvaktyRTs7QThDbGpLQTtFQUNJO0VBQ0E7QTlDcWpLSjs7QThDbGpLQTtFQUE2RTtBOUNzaks3RTs7QThDcmpLQTtFQUFnRjtBOUN5aktoRjs7QThDdmpLQTtBQUNBO0VBRUk7RUFDQTs7SUFDd0M7RTlDMGpLMUM7O0U4Q3pqS0U7O0lBQzRDO0U5QzZqSzlDOztFOEMzaktFOztJQUN5RSxVNUM3RHZEO0VGNG5LcEI7O0U4QzdqS0U7RUFDQTs7SUFDcUU7RTlDaWtLdkU7O0U4Qy9qS0U7SUFDSTtJQUNBO0U5Q2trS047O0U4Qy9qS0U7SUFBNkU7RTlDbWtLL0U7O0U4Q2xrS0U7SUFBZ0Y7RTlDc2tLbEY7QUFDRjtBOENsa0tBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTs7RUFFSTtFQUNBO0VBQ0E7QTlDa2tLSjs7QThDL2pLQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q2trS0o7O0ErQzEzS0E7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtBQUNBOztFQUVJO0VBQ0E7RUFDQTtBL0MyM0tKOztBK0N4M0tBO0FBQ0E7RUFDSTtFQUNBO0EvQzIzS0o7O0ErQ3gzS0E7QUFDQTtFQUF1QjtBL0M0M0t2Qjs7QStDMTNLQTs7O0VBQUE7QUFLQTtFQUFtQjtBL0M2M0tuQjs7QStDMTNLQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7QS9DMjNLSjs7QStDdjNLQTs7RUFBQTtBQUlBO0VBQWlCLGtCN0N5aEJpQjtBRmkySmxDOztBK0N4M0tBOztFQUFBO0FBSUE7RUFBZ0I7QS9DMjNLaEI7O0ErQ3gzS0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsWTdDNmdCb0I7RTZDNWdCcEIsYTdDNGdCb0I7RTZDM2dCcEI7RXhDL0dBO0V3Q2lIQTtFQUNBO0EvQzAzS0o7O0ErQ3QzS0E7RXhDdEhJO0FQZy9LSjs7QStDdjNLQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQSx5QjdDa2dCd0I7RTZDamdCeEIsbUI3Q3ZHcUI7QUZnK0t6Qjs7QStDcjNLQTtFQUFtQyxnQjdDaktuQjtBRjBoTGhCOztBK0N0M0tBOzZFQUFBO0FBR0E7RUFDSTtBL0N3M0tKOztBK0NuM0tBOzZFQUFBO0FBR0E7RTVDKy9DMkIsbUJEem5ERjtBRmcvS3pCOztBK0NsM0tBOztFQUFBO0FBSUE7RUFDSSxXN0NoSWlCO0FGby9LckI7O0ErQ2gzS0E7QUFDQTs7RUFFSSxXN0N6TFc7QUY0aUxmOztBK0MvMktBO0FBQ0E7RUFDSSxXN0NqTW9CO0FGbWpMeEI7O0ErQzkyS0E7O0VBQUE7QUFJQTtFQUNJLFc3QzFNb0I7QUYwakx4Qjs7QStDNTJLQTs7RUFBQTtBQUlBO0VBQ0k7QS9DODJLSjs7QStDMTJLQTs7RUFBQTtBQUlBO0VBQWdDLFc3Q3ZLWDtBRm9oTHJCOztBK0MzMktBOztFQUNzQyxXN0M1TnZCO0FGMmtMZjs7QStDNzJLQTtFQUErQyxXN0NoT3ZCO0FGaWxMeEI7O0ErQzkyS0E7NkVBQUE7QUFPQTs7RUFBQTtBQUlBO0VBQ0ksaUI3QzVIcUI7RTZDNkhyQixnQjdDL0ppQjtFNkNnS2pCLFc3QzdMaUI7QUZ3aUxyQjs7QStDdjJLQTtBQUNBOztFQUVJLFc3Q3RQVztBRmdtTGY7O0ErQ3QyS0E7QUFDQTtFQUNJLFc3QzlQb0I7QUZ1bUx4Qjs7QStDcjJLQTs7RUFBQTtBQUlBO0VBQ0ksVzdDdlFvQjtBRjhtTHhCOztBK0NuMktBOztFQUFBO0FBSUE7RUFDSTtBL0NxMktKOztBK0NqMktBOztFQUFBO0FBSUE7RUFBZ0MsVzdDcE9YO0FGd2tMckI7O0ErQ2wyS0E7O0VBQ3NDLFc3Q3pSdkI7QUYrbkxmOztBK0NwMktBO0VBQStDLFc3QzdSdkI7QUZxb0x4Qjs7QStDcjJLQTs2RUFBQTtBQUdBO0VBQWlCO0EvQ3cyS2pCOztBK0N0MktBO0FBQ0E7O0VBQ2dDO0EvQzAyS2hDOztBK0N4MktBO0FBQ0E7RUFBNEQ7QS9DNDJLNUQ7O0FnRHhrTEE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBaER5a0xKOztBZ0Rwa0xBOzZFQUFBO0FBR0E7RUFDSSxtQjlDcEZzQjtBRjBwTDFCOztBZ0Q5akxBOztFQUFBO0FBSUE7O0VBQ2lDO0FoRGlrTGpDOztBZ0Q5akxBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBTUk7RUFDQTtFQUNBO0FoRDhqTEo7O0FnRDNqTEE7Ozs7Ozs7RUFBQTtBQVNBO0VBQW1CO0FoRDhqTG5COztBZ0Q1akxBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhEK2pMSjs7QWdENWpMQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWhEK2pMSjs7QWdENWpMQTtBQUNBOztFQUVHO0VBQ0E7QWhEK2pMSDs7QWdENWpMQTtFQUF5QjtBaERna0x6Qjs7QWdEL2pMQTtFQUEwQjtBaERta0wxQjs7QWdEamtMQTtFQUNJO0VBQUE7RUFBQTtFQUNBO0FoRG9rTEo7O0FnRGhrTEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERpa0xKOztBZ0Q5akxBOzs7RUFBQTtBQUtBOzs7RUFFK0I7QWhEaWtML0I7O0FnRC9qTEE7Ozs7OztFQUFBO0FBUUE7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCOUMwZXFCO0U4Q3plckI7RUFDQTtFQUNBLG1COUM5S3FCO0U4QytLckIsa005Q3BKaUI7RThDcUpqQjtFQUNBO0FoRGlrTEo7O0FnRDlqTEE7O0VBQUE7QUFJQTtFQUNJLFc5Q3RMaUI7RUNpcERqQix5QkQzbEI2QjtFQzRsQjdCO0VBQ0E7QUhzbUlKOztBZ0QvakxBOzs7RUFBQTtBQUtBOzs7RUFHSSxXOUNwUFc7RThDcVBYO0FoRGlrTEo7O0FnRDdqTEE7QUFDQTtFQUNJLFc5QzdQb0I7QUY2ekx4Qjs7QWdENWpMQTtBQUNBO0VBQ0ksVzlDblFvQjtBRmswTHhCOztBZ0QxakxBOzZFQUFBO0FBR0E7RUFDSSxXOUMxUVc7QUZzMExmOztBZ0R2akxBOzZFQUFBO0FBR0E7RUFDSSxXOUNqT2lCO0FGMHhMckI7O0FnRHJqTEE7OztFQUdJLFc5QzFSVztFOEMyUlg7RUFDQTtBaER3akxKOztBZ0RwakxBOzs7RUFBQTtBQVNBO0FBT0E7NkVBQUE7QUFHQTtFQUNJLG1COUNyUXFCO0FGZ3pMekI7O0FnRHRpTEE7NkVBQUE7QUFnQkE7NkVBQUE7QUFHQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTlDdVhzQjtFOEN0WHRCO0VBQ0E7RUFDQSxZOUNxWG9CO0U4Q3BYcEI7RUFDQSxhOUNxWHNCO0U4Q3BYdEIsZ0I5Q3pTZ0I7RThDMFNoQixXOUNoV1c7RUNtdERnQiwwQ0R6bUJGO0FGZ3hKN0I7O0FnRHRoTEE7QUFDQTtFQUE4QjtBaEQwaEw5Qjs7QWdEeGhMQTs7RUFBQTtBQUlBO0FBQ0E7RUFBb0M7QWhEMmhMcEM7O0FnRDFoTEE7RUFBdUMsZ0I5Q3FXZDtBRnlyS3pCOztBZ0Q3aExBO0VBQXFDO0FoRGlpTHJDOztBZ0RoaUxBO0VBQXNDLGlCOUNtV2I7QUZpc0t6Qjs7QWdEbGlMQTs7O0VBQUE7QUFLQTtBQUNBO0VBQTJCO0FoRHFpTDNCOztBZ0RwaUxBO0VBQStCLGtCOUM4VlU7QUYwc0t6Qzs7QWdEdGlMQTtBQUNBO0VBQTZDLGdCOUMyVko7QUYrc0t6Qzs7QWdEeGlMQTtBQUNBO0VBQXlEO0FoRDRpTHpEOztBZ0QxaUxBOztFQUFBO0FBSUE7RUFBNkQ7QWhENmlMN0Q7O0FnRDVpTEE7RUFBNkQ7QWhEZ2pMN0Q7O0FnRC9pTEE7RUFBNkQ7QWhEbWpMN0Q7O0FnRGxqTEE7RUFBNkQ7QWhEc2pMN0Q7O0FnRHBqTEE7O0VBQUE7QUFJQTtFQUNJLGE5QzBVaUM7RThDelVqQyxnQjlDeVVpQztFQzQvQkU7QUhrdkl2Qzs7QWdEbGpMQTs7NkVBQUE7QUFJQTtFN0M2ekNtQyxtQkR0cURWO0FGODVMekI7O0FnRGpqTEE7O0VBQUE7QUFJQTtFQUNJLFc5Qy9XaUI7QUZrNkxyQjs7QWdEL2lMQTtBQUNBOztFQUVJLFc5Q3hhVztBRjA5TGY7O0FnRDlpTEE7QUFDQTtFQUNJLFc5Q2hib0I7QUZpK0x4Qjs7QWdEN2lMQTs7RUFBQTtBQUlBO0VBQ0ksVzlDemJvQjtBRncrTHhCOztBZ0QzaUxBOztFQUFBO0FBSUE7RUFDSTtBaEQ2aUxKOztBZ0R6aUxBOztFQUFBO0FBSUE7RUFBd0MsVzlDdFpuQjtBRms4THJCOztBZ0QxaUxBOztFQUM4QyxXOUMzYy9CO0FGeS9MZjs7QWdENWlMQTtFQUF1RCxXOUMvYy9CO0FGKy9MeEI7O0FnRDdpTEE7NkVBQUE7QUFHQTtFQUNJLGdCOUM5WmdCO0FGNjhMcEI7O0FnRDNpTEE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsWTlDc1FxQjtFOENyUXJCO0VBQ0E7RTdDNHZDZ0MseUNEam5CUjtBRm02SjVCOztBRy95SUk7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QUhpeklSOztBRy95SUk7RUFBd0Q7QUhtekk1RDs7QUdqeklJOztFQUFBO0FBSUE7RUFBK0I7QUhvekluQzs7QUdseklJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIcXpJUjs7QUdseklJO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxVRHZpQ2lDO0VDd2lDakM7RUFDQTtBSHF6SVI7O0FpRGhoTUE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRpaE1KOztBaUQ3Z01BOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCL0MweUJ1QjtFK0N6eUJ2QjtFQUNBO0FqRCtnTUo7O0FpRDNnTUE7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsVy9DdENpQjtFQzR5RGpCLG1CRC95RHFCO0VDZ3pEckIseUJEM3VCeUI7RUM0dUJ6QjtFQUNBO0FIdXdJSjs7QWlENWdNQTtBQUNBOztFQUVJLFcvQy9GVztFK0NnR1gscUIvQ2l4QmdDO0UrQ2h4QmhDO0FqRCtnTUo7O0FpRDNnTUE7QUFDQTtFQUNJLFcvQ3pHb0I7QUZ1bk14Qjs7QWlEemdNQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBcUI7QWpEMmdNckI7O0FpRHpnTUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWpEMmdNSjs7QWlEeGdNQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0EsYS9DK3VCMkI7RStDOXVCM0I7RUFDQSxrQi9DdXVCdUI7RStDdHVCdkI7QWpEMGdNSjs7QWlEdmdNQTtBQUNBO0VBQ0ksMEIvQ2ZZO0FGeWhNaEI7O0FpRHJnTUE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsdUIvQ2t1QjBCO0UrQ2p1QjFCLFcvQ3RHaUI7QUY2bU1yQjs7QWlEbmdNQTtBQUNBOztFQUVJLHlCL0NuSnNCO0UrQ29KdEIsVy9DaEtXO0FGc3FNZjs7QWlEbGdNQTtBQUNBO0VBQ0kseUIvQzFKc0I7RStDMkp0QixXL0N2S1c7QUY0cU1mOztBaURqZ01BO0FBQ0E7RUFDSSx5Qi9DNUp3QjtFK0M2SnhCLFcvQzNLbUI7QUYrcU12Qjs7QWlELy9MQTs7NkVBQUE7QUFJQTtFQUNJLFcvQ3RJaUI7QUZ1b01yQjs7QWtEdnFNQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBbER3cU1KOztBa0RwcU1BOztFQUFBO0FBSUE7RUFBcUI7QWxEdXFNckI7O0FrRHBxTUE7NkVBQUE7QUFHQTtFQUNJLG1CaERJcUI7RWdESHJCLFdoRE1pQjtBRmdxTXJCOztBa0RscU1BO0FBQ0E7O0VBRUksV2hEbkRXO0VnRG9EWCxxQmhEcUdvQztBRmdrTXhDOztBa0RqcU1BO0FBS0E7QUFDQTs7RUFFSSxXaERoRVc7QUZndU1mOztBa0Q1cE1BOzs7OztFQUFBO0FBT0E7RUFDSSxZaEQrRWlCO0VnRDlFakI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQmhEbENxQjtFZ0RtQ3JCLFdoRGhDaUI7QUY4ck1yQjs7QW1EM3RNQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRDR0TUo7O0FtRHh0TUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsZWpENHRCMkI7RWlEM3RCM0I7RUFDQTtBbkQwdE1KOztBbUR0dE1BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdqRHRCaUI7RUMydURVO0FIbWdKL0I7O0FtRHB0TUE7QUFDQTs7RUFFSSxXakQvRVc7RWlEZ0ZYLHFCakRzc0JvQztBRmloTHhDOztBbURudE1BO0FBQ0E7RUFDSSxXakR0Rlc7QUY0eU1mOztBbURsdE1BO0FBQ0E7RUFDSSxXakQxQ2lCO0FGK3ZNckI7O0FvRDN4TUE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakRpMURBO0FINDhJSjtBRzE4SUk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxVRGgvQmdCO0VDaS9CaEI7RUFDQTtBSDQ4SVI7O0FvRGp5TUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JsRHkxQm9CO0VrRHgxQnBCO0VBQ0E7QXBEbXlNSjs7QW9EL3hNQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXbER6QmlCO0VDbzFEakI7RUFDQSxtQkR4MURxQjtFQ3kxRHJCLHlCRC93QnNCO0VDZ3hCdEI7QUhzK0lKOztBb0RoeU1BO0FBQ0E7O0VBRUksV2xEbEZXO0VrRG1GWCxxQmxEaTBCNkI7QUZrK0tqQzs7QW9EL3hNQTtBQUNBO0VBQ0ksV2xEM0ZvQjtFQzg0RE8scUJEMzNESDtBRjIyTTVCOztBb0QveE1BO0FBQ0E7RUFDSSxXbEQ3Q2lCO0FGKzBNckI7O0FvRDd4TUE7NkVBQUE7QUFHQTs7RUFBQTtBakR5eURJO0VBQ0k7RUFDQTtBSHkvSVI7O0FvRDV4TUE7RWpEd3lESTtFQUNBO0FIdy9JSjs7QW9EN3hNQTs7O0VBQUE7QUFLQTs7RUFFSTtFQUNBO0VBQ0E7QXBEK3hNSjs7QW9ENXhNQTtBQUNBOztFQUNvQjtBcERneU1wQjs7QUdyZ0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FId2dKUjs7QUdsZ0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIcWdKUjs7QW9EeHlNQTtFQUNJO0VqRHV5REE7RUFDQTtBSHFnSko7O0FvRHp5TUE7RUFDSTtFakRzeURBO0VBQ0E7QUh1Z0pKOztBR25nSkk7RUFBdUI7QUh1Z0ozQjs7QXFEOTZNQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSwrQm5Ed3pCYTtFQzgrQk87QUgwb0p4Qjs7QXFENTZNQTtBQUNBOztFQUVJLCtCbkRrekJtQjtFbURqekJuQjtBckQrNk1KOztBcUQzNk1BO0FBQ0E7RUFDSSwrQm5ENHlCb0I7QUZrb0x4Qjs7QXFEejZNQTs2RUFBQTtBQUdBOztFQUFBO0FBUUE7O0VBQUE7QUFTQTs2RUFBQTtBQUdBO0VBQ0k7QXJEKzVNSjs7QXFEMTVNQTs2RUFBQTtBQUdBO0VBQ0k7QXJENDVNSjs7QXNEMTlNQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREMjlNSjs7QXNEdjlNQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCcERrU3VCO0FGdXJNM0I7O0FzRHI5TUE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQSxXcERxUmdCO0VvRHBSaEIsWXBEb1JnQjtFb0RuUmhCLGtCcERxUndCO0VvRHBSeEIsdUJwRHFScUI7RW9EcFJyQjtFQUNBO0VBQ0E7RUFDQTtFbkRvckJBO0VBQ0E7RUFDQTtBSG15TEo7O0FzRHI5TUE7QUFDQTs7RUFFSSwwQ3BEMlEyQjtFb0QxUTNCO0VuRGdyQjZCLHlCRG1VTjtBRnMrSzNCOztBc0RyOU1BO0FBQ0E7RUFDSSwwQ3BEcVE2QjtFQ3NhRSx5QkRtVU47QUYyK0s3Qjs7QXNEcjlNQTtBQUNBO0VBQ0ksMENwRGdRNEI7RUNzYUUseUJEbVVOO0FGZy9LNUI7O0FzRHA5TUE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREcTlNSjs7QXNEbDlNQTtBQUNBO0VBQ0k7RUFDQSxpQnBEZ091QjtBRnF2TTNCOztBdURoa05BOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkRpa05KOztBdUQ3ak5BOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQSxrQnJEazZCeUI7QUY2cEw3Qjs7QXVEM2pOQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFcER3K0RBO0FIcWxKSjtBR25sSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxvQ0R2NkJtQjtFQ3c2Qm5CO0FIcWxKUjs7QXVEbmtOQTtBQUNBOztFQUVJO0F2RHNrTko7QUd0bEpJOztFQUFXLDZCRDU2QmtCO0FGc2dMakM7O0F1RHRrTkE7QXBEKytESTtFQUFXLDZCRDk2Qm1CO0FGMGdMbEM7O0F1RHJrTkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEc2tOSjs7QXVEbmtOQTtBQUNBO0VBQ0k7RUFDQSxpQnJEazNCeUI7QUZvdEw3Qjs7QXdEOW9OQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEK29OSjs7QXdEM29OQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0Esa0J0RG9Ga0I7QUZ5ak50Qjs7QXdEem9OQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFd0RGZpQjtBRnlwTnJCOztBd0R0b05BO0FBQ0E7O0VBRUksV3REeEVXO0VzRHlFWDtBeER5b05KOztBd0Ryb05BO0FBQ0E7RUFDSSxXdEQvRVc7QUZ1dE5mOztBd0Rub05BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RG9vTko7O0F3RGpvTkE7QUFDQTtFQUNJO0VBQ0EsaUJ0RDZCa0I7QUZ1bU50Qjs7QXlEcnNOQTs7NkVBQUE7QUFJQTs7Ozs7Ozs7RUFBQTtBQVVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGF2RGtmZTtFdURqZmY7RUFDQSxnQnZEaWZrQjtFdURoZmxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEc3NOSjs7QXlEbHNOQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7QXpEb3NOSjs7QXlEaHNOQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBb0I7QXpEa3NOcEI7O0F5RC9yTkE7NkVBQUE7QUFHQTs7Ozs7Ozs7O0VBQUE7QUFXQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwrQnZEd2JrQjtFdUR2YmxCO0VBQ0E7QXpEZ3NOSjs7QXlENXJOQTtBQUNBO0VBQ0ksZ0J2RGlic0I7RXVEaGJ0QixpQnZEaWJ1QjtBRjh3TTNCOztBeUQ1ck5BO0FBQ0E7RUFBOEI7QXpEZ3NOOUI7O0F5RDlyTkE7RUFDSTtFQUNBO0F6RGlzTko7O0F5RDlyTkE7RUFBa0M7QXpEa3NObEM7O0F5RGhzTkE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsOEJ2RGthMEI7RXVEamExQiwrQnZEa2FxQjtBRmd5TXpCOztBeUQ5ck5BO0VBQTJCLCtCdkQ4WkY7QUZveU16Qjs7QXlEL3JOQTs2RUFBQTtBQUdBO0VBQ0ksWXZEd1o0QjtFdUR2WjVCLCtCdkR3WjBCO0FGeXlNOUI7O0F5RDdyTkE7O0VBQUE7QUFJQTtFQUNJLFd2RGdaZ0M7QUYreU1wQzs7QXlEenJOQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFd2RGtZbUI7RXVEalluQixZdkRpWW1CO0V1RGhZbkIsOEJ2RDJYMEI7RXVEMVgxQiwrQnZEaVlvQjtFdURoWXBCO0VBQ0E7RUFDQTtFQUNBO0F6RDByTko7O0F5RHRyTkE7QUFDQTs7RUFFSSxXdkR1WDBCO0FGazBNOUI7O0F5RHJyTkE7QUFNQTs2RUFBQTtBQUdBO0VBQTZCO0F6RG1yTjdCOztBeURock5BOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0F6RGtyTko7O0EwRC8yTkE7OzZFQUFBO0FBSUE7RUFDSSxnQ3hERmlCO1V3REVqQix3QnhERmlCO0V3REdqQjtVQUFBO0VBQ0E7VUFBQTtBMURpM05KOztBMEQ3Mk5BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO1VBQUE7RUFDQSxnQ3hEaEJzQjtVd0RnQnRCLHdCeERoQnNCO0V3RGlCdEI7VUFBQTtBMUQ4Mk5KOztBMEQzMk5BOztFQUFBO0FBSUE7RUFBeUI7VUFBQTtBMUQ4Mk56Qjs7QTBENzJOQTtFQUEyQjtVQUFBO0ExRGkzTjNCOztBMEQvMk5BOztFQUFBO0FBSUE7RUFBMEI7VUFBQTtBMURrM04xQjs7QTBEajNOQTtFQUE2QjtVQUFBO0ExRHEzTjdCOztBMERwM05BO0VBQTJCO1VBQUE7QTFEdzNOM0I7O0EwRHYzTkE7RUFBNEI7VUFBQTtBMUQyM041Qjs7QTBEejNOQTs7RUFBQTtBQUlBO0VBQWdDO1VBQUE7QTFENDNOaEM7O0EwRDMzTkE7RUFBbUM7VUFBQTtBMUQrM05uQzs7QTBEOTNOQTtFQUFpQztVQUFBO0ExRGs0TmpDOztBMERqNE5BO0VBQWtDO1VBQUE7QTFEcTRObEM7O0EwRG40TkE7O0VBQUE7QUFJQTtFQUFpQztVQUFBO0ExRHM0TmpDOztBMERyNE5BO0VBQW9DO1VBQUE7QTFEeTROcEM7O0EwRHg0TkE7RUFBa0M7VUFBQTtBMUQ0NE5sQzs7QTBEMzROQTtFQUFtQztVQUFBO0ExRCs0Tm5DOztBMEQ3NE5BOztFQUFBO0FBSUE7RUFDSTtVQUFBO0VBQ0EsK0J4RDFEMEI7VXdEMEQxQix1QnhEMUQwQjtBRnk4TjlCOztBMEQ1NE5BOztFQUFBO0FBSUE7RUFBc0I7VUFBQTtBMUQrNE50Qjs7QTBENzROQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO1VBQUE7RUFDQTtFQUNBLDhCeEQvRXdCO1V3RCtFeEIsc0J4RC9Fd0I7QUY4OU41Qjs7QTBEMzROQTs2RUFBQTtBQUdDO0VBQ0c7RUFDQTtVQUFBO0ExRDY0Tko7O0EwRHo0TkE7NkVBQUE7QUFHQztFQUFxQixnQ3hEN0ZJO1V3RDZGSix3QnhEN0ZJO0FGeStOMUI7O0EwRHo0TkE7NEVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQXdFO1VBQUE7QTFEMjROeEU7O0EwRHo0TkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QTFEMjROSjs7QTBEeDROQTs7RUFBQTtBQUlBO0VBQTZCO0ExRDI0TjdCOztBMER4NE5BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0lBQUs7RTFEMDROUDtFMER6NE5FO0lBQU87RTFENDROVDtBQUNGO0EwRC80TkE7RUFDSTtJQUFLO0UxRDA0TlA7RTBEejRORTtJQUFPO0UxRDQ0TlQ7QUFDRjtBMEQxNE5BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEMjROTjtFMER6NE5FO0lBQ0k7SUFDQTtFMUQyNE5OO0FBQ0Y7QTBEbjVOQTtFQUNJO0lBQ0k7SUFDQTtFMUQyNE5OO0UwRHo0TkU7SUFDSTtJQUNBO0UxRDI0Tk47QUFDRjtBMER4NE5BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEeTROTjtFMER2NE5FO0lBQ0k7SUFDQTtFMUR5NE5OO0FBQ0Y7QTBEajVOQTtFQUNJO0lBQ0k7SUFDQTtFMUR5NE5OO0UwRHY0TkU7SUFDSTtJQUNBO0UxRHk0Tk47QUFDRjtBMER0NE5BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEdTROTjtFMERyNE5FO0lBQ0k7SUFDQTtFMUR1NE5OO0FBQ0Y7QTBELzROQTtFQUNJO0lBQ0k7SUFDQTtFMUR1NE5OO0UwRHI0TkU7SUFDSTtJQUNBO0UxRHU0Tk47QUFDRjtBMERwNE5BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEcTROTjtFMERuNE5FO0lBQ0k7SUFDQTtFMURxNE5OO0FBQ0Y7QTBENzROQTtFQUNJO0lBQ0k7SUFDQTtFMURxNE5OO0UwRG40TkU7SUFDSTtJQUNBO0UxRHE0Tk47QUFDRjtBMERsNE5BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEbTROTjtFMERqNE5FO0lBQ0k7SUFDQTtFMURtNE5OO0FBQ0Y7QTBEMzROQTtFQUNJO0lBQ0k7SUFDQTtFMURtNE5OO0UwRGo0TkU7SUFDSTtJQUNBO0UxRG00Tk47QUFDRjtBMERoNE5BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEaTROTjtFMEQvM05FO0lBQ0k7SUFDQTtFMURpNE5OO0FBQ0Y7QTBEejROQTtFQUNJO0lBQ0k7SUFDQTtFMURpNE5OO0UwRC8zTkU7SUFDSTtJQUNBO0UxRGk0Tk47QUFDRjtBMEQ5M05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEKzNOTjtFMEQ3M05FO0lBQ0k7SUFDQTtFMUQrM05OO0FBQ0Y7QTBEdjROQTtFQUNJO0lBQ0k7SUFDQTtFMUQrM05OO0UwRDczTkU7SUFDSTtJQUNBO0UxRCszTk47QUFDRjtBMEQ1M05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFENjNOTjtFMEQzM05FO0lBQ0k7SUFDQTtFMUQ2M05OO0FBQ0Y7QTBEcjROQTtFQUNJO0lBQ0k7SUFDQTtFMUQ2M05OO0UwRDMzTkU7SUFDSTtJQUNBO0UxRDYzTk47QUFDRjtBMEQxM05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEMjNOTjtFMER6M05FO0lBQ0k7SUFDQTtFMUQyM05OO0FBQ0Y7QTBEbjROQTtFQUNJO0lBQ0k7SUFDQTtFMUQyM05OO0UwRHozTkU7SUFDSTtJQUNBO0UxRDIzTk47QUFDRjtBMER4M05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEeTNOTjtFMER2M05FO0lBQ0k7SUFDQTtFMUR5M05OO0FBQ0Y7QTBEajROQTtFQUNJO0lBQ0k7SUFDQTtFMUR5M05OO0UwRHYzTkU7SUFDSTtJQUNBO0UxRHkzTk47QUFDRjtBMER0M05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEdTNOTjtFMERyM05FO0lBQ0k7SUFDQTtFMUR1M05OO0FBQ0Y7QTBELzNOQTtFQUNJO0lBQ0k7SUFDQTtFMUR1M05OO0UwRHIzTkU7SUFDSTtJQUNBO0UxRHUzTk47QUFDRjtBMERwM05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEcTNOTjtFMERuM05FO0lBQ0k7SUFDQTtFMURxM05OO0FBQ0Y7QTBENzNOQTtFQUNJO0lBQ0k7SUFDQTtFMURxM05OO0UwRG4zTkU7SUFDSTtJQUNBO0UxRHEzTk47QUFDRjtBMERsM05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEbTNOTjtFMERqM05FO0lBQ0k7SUFDQTtFMURtM05OO0FBQ0Y7QTBEMzNOQTtFQUNJO0lBQ0k7SUFDQTtFMURtM05OO0UwRGozTkU7SUFDSTtJQUNBO0UxRG0zTk47QUFDRjtBMERoM05BOztFQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RTFEaTNOTjtFMEQvMk5FO0lBQ0k7SUFDQTtFMURpM05OO0FBQ0Y7QTBEejNOQTtFQUNJO0lBQ0k7SUFDQTtFMURpM05OO0UwRC8yTkU7SUFDSTtJQUNBO0UxRGkzTk47QUFDRjtBMEQ5Mk5BOztFQUFBO0FBSUE7RUFDSTtJQUFLO0UxRGczTlA7RTBELzJORTtJQUFPO0UxRGszTlQ7QUFDRjtBMERyM05BO0VBQ0k7SUFBSztFMURnM05QO0UwRC8yTkU7SUFBTztFMURrM05UO0FBQ0Y7QTBEaDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFBVztFMURrM05iO0UwRGozTkU7SUFBTTtFMURvM05SO0UwRG4zTkU7SUFBTTtFMURzM05SO0UwRHIzTkU7SUFBTTtFMUR3M05SO0UwRHYzTkU7SUFBTTtFMUQwM05SO0UwRHozTkU7SUFBTTtFMUQ0M05SO0UwRDMzTkU7SUFBTTtFMUQ4M05SO0UwRDczTkU7SUFBTTtFMURnNE5SO0UwRC8zTkU7SUFBTTtFMURrNE5SO0UwRGo0TkU7SUFBTTtFMURvNE5SO0FBQ0Y7QTBELzROQTtFQUNJO0lBQVc7RTFEazNOYjtFMERqM05FO0lBQU07RTFEbzNOUjtFMERuM05FO0lBQU07RTFEczNOUjtFMERyM05FO0lBQU07RTFEdzNOUjtFMER2M05FO0lBQU07RTFEMDNOUjtFMER6M05FO0lBQU07RTFENDNOUjtFMEQzM05FO0lBQU07RTFEODNOUjtFMEQ3M05FO0lBQU07RTFEZzROUjtFMEQvM05FO0lBQU07RTFEazROUjtFMERqNE5FO0lBQU07RTFEbzROUjtBQUNGO0EwRGw0TkE7O0VBQUE7QUFJQztFQUNHO0lBQUs7RTFEbzROUDtFMERuNE5FO0lBQU87RTFEczROVDtBQUNGO0EwRHo0TkM7RUFDRztJQUFLO0UxRG80TlA7RTBEbjRORTtJQUFPO0UxRHM0TlQ7QUFDRjtBMkR4eE9BOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0EzRHV4T0o7O0EyRHB4T0E7RUFBMEI7QTNEd3hPMUI7O0EyRHZ4T0E7RUFBMEI7QTNEMnhPMUI7O0EyRDF4T0E7RUFBMEI7QTNEOHhPMUI7O0EyRDd4T0E7RUFBMEI7QTNEaXlPMUI7O0EyRGh5T0E7RUFBMEI7QTNEb3lPMUI7O0EyRGx5T0E7RUFBMkI7QTNEc3lPM0I7O0EyRHB5T0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtBM0RzeU9KOztBMkRueU9BO0FBQ0E7RUFFSTtJQUE2QjtFM0RzeU8vQjs7RTJEcnlPRTtJQUE2QjtFM0R5eU8vQjs7RTJEeHlPRTtJQUE2QjtFM0Q0eU8vQjs7RTJEM3lPRTtJQUE2QjtFM0QreU8vQjs7RTJEOXlPRTtJQUE2QjtFM0Rrek8vQjs7RTJEanpPRTtJQUE2QjtFM0Rxek8vQjs7RTJEbnpPRTtJQUE4QjtFM0R1ek9oQzs7RTJEdHpPRTtJQUNJO0lBQ0E7RTNEeXpPTjtBQUNGO0EyRHJ6T0E7QUFDQTtFQUVJO0lBQTZCO0UzRHV6Ty9COztFMkR0ek9FO0lBQTZCO0UzRDB6Ty9COztFMkR6ek9FO0lBQTZCO0UzRDZ6Ty9COztFMkQ1ek9FO0lBQTZCO0UzRGcwTy9COztFMkQvek9FO0lBQTZCO0UzRG0wTy9COztFMkRsME9FO0lBQTZCO0UzRHMwTy9COztFMkRwME9FO0lBQThCO0UzRHcwT2hDOztFMkR2ME9FO0lBQ0k7SUFDQTtFM0QwME9OO0FBQ0Y7QTJEdDBPQTtBQUNBO0VBRUk7SUFBNkI7RTNEdzBPL0I7O0UyRHYwT0U7SUFBNkI7RTNEMjBPL0I7O0UyRDEwT0U7SUFBNkI7RTNEODBPL0I7O0UyRDcwT0U7SUFBNkI7RTNEaTFPL0I7O0UyRGgxT0U7SUFBNkI7RTNEbzFPL0I7O0UyRG4xT0U7SUFBNkI7RTNEdTFPL0I7O0UyRHIxT0U7SUFBOEI7RTNEeTFPaEM7O0UyRHgxT0U7SUFDSTtJQUNBO0UzRDIxT047QUFDRjtBMkR2MU9BO0FBQ0E7RUFFSTtJQUE4QjtFM0R5MU9oQzs7RTJEeDFPRTtJQUE4QjtFM0Q0MU9oQzs7RTJEMzFPRTtJQUE4QjtFM0QrMU9oQzs7RTJEOTFPRTtJQUE4QjtFM0RrMk9oQzs7RTJEajJPRTtJQUE4QjtFM0RxMk9oQzs7RTJEcDJPRTtJQUE4QjtFM0R3Mk9oQzs7RTJEdDJPRTtJQUErQjtFM0QwMk9qQzs7RTJEejJPRTtJQUNJO0lBQ0E7RTNENDJPTjtBQUNGO0EyRHYyT0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTNEdTJPSjs7QTJEcDJPQTtBQUNBO0VBQWdCO0EzRHcyT2hCOztBMkR0Mk9BO0FBQ0E7RUFBZ0I7QTNEMDJPaEI7O0EyRHoyT0E7RUFBZ0I7QTNENjJPaEI7O0EyRDMyT0E7QUFDQTtFQUFnQjtBM0QrMk9oQjs7QTJEOTJPQTtFQUFnQjtBM0RrM09oQjs7QTJEaDNPQTtBQUNBO0VBQWdCO0EzRG8zT2hCOztBMkRuM09BO0VBQWdCO0EzRHUzT2hCOztBMkR0M09BO0VBQWdCO0EzRDAzT2hCOztBMkR6M09BO0VBQWdCO0EzRDYzT2hCOztBMkQzM09BO0FBQ0E7RUFBZ0I7QTNEKzNPaEI7O0EyRDkzT0E7RUFBZ0I7QTNEazRPaEI7O0EyRGg0T0E7QUFDQTtFQUFrQixZekR5M0JFO0FGMmdOcEI7O0EyRG40T0E7RUFBbUIsWXpEeTNCRTtBRjhnTnJCOztBMkR0NE9BO0VBQWtCLFl6RHkzQkU7QUZpaE5wQjs7QTJEejRPQTtFQUFtQixZekR5M0JFO0FGb2hOckI7O0EyRDU0T0E7RUFBb0IsWXpEeTNCRTtBRnVoTnRCOztBMkQzNE9BO0FBQ0E7RUFBaUI7QTNEKzRPakI7O0EyRDc0T0E7QUFDQTtFQUNJO0VBQ0E7QTNEZzVPSjs7QTJENzRPQTtBQUNBO0VBRUk7RUFDQTtJQUFtQjtFM0RnNU9yQjs7RTJEOTRPRTtFQUNBO0lBQW1CO0UzRGs1T3JCOztFMkRoNU9FO0VBQ0E7SUFBbUI7RTNEbzVPckI7O0UyRG41T0U7SUFBbUI7RTNEdTVPckI7O0UyRHI1T0U7RUFDQTtJQUFtQjtFM0R5NU9yQjs7RTJEeDVPRTtJQUFtQjtFM0Q0NU9yQjs7RTJEMTVPRTtFQUNBO0lBQW1CO0UzRDg1T3JCOztFMkQ3NU9FO0lBQW1CO0UzRGk2T3JCOztFMkRoNk9FO0lBQW1CO0UzRG82T3JCOztFMkRuNk9FO0lBQW1CO0UzRHU2T3JCOztFMkRyNk9FO0VBQ0E7SUFBbUI7RTNEeTZPckI7O0UyRHg2T0U7SUFBbUI7RTNENDZPckI7O0UyRDE2T0U7RUFDQTtJQUFxQixZekQyMEJMO0VGbW1ObEI7O0UyRDc2T0U7SUFBc0IsWXpEMjBCTDtFRnNtTm5COztFMkRoN09FO0lBQXFCLFl6RDIwQkw7RUZ5bU5sQjs7RTJEbjdPRTtJQUFzQixZekQyMEJMO0VGNG1ObkI7O0UyRHQ3T0U7SUFBdUIsWXpEMjBCTDtFRittTnBCOztFMkRyN09FO0VBQ0E7SUFBb0I7RTNEeTdPdEI7O0UyRHY3T0U7RUFDQTtJQUNJO0lBQ0E7RTNEMDdPTjtBQUNGO0EyRHQ3T0E7QUFDQTtFQUVJO0VBQ0E7SUFBbUI7RTNEdzdPckI7O0UyRHQ3T0U7RUFDQTtJQUFtQjtFM0QwN09yQjs7RTJEeDdPRTtFQUNBO0lBQW1CO0UzRDQ3T3JCOztFMkQzN09FO0lBQW1CO0UzRCs3T3JCOztFMkQ3N09FO0VBQ0E7SUFBbUI7RTNEaThPckI7O0UyRGg4T0U7SUFBbUI7RTNEbzhPckI7O0UyRGw4T0U7RUFDQTtJQUFtQjtFM0RzOE9yQjs7RTJEcjhPRTtJQUFtQjtFM0R5OE9yQjs7RTJEeDhPRTtJQUFtQjtFM0Q0OE9yQjs7RTJEMzhPRTtJQUFtQjtFM0QrOE9yQjs7RTJENzhPRTtFQUNBO0lBQW1CO0UzRGk5T3JCOztFMkRoOU9FO0lBQW1CO0UzRG85T3JCOztFMkRsOU9FO0VBQ0E7SUFBcUIsWXpEMnhCTDtFRjJyTmxCOztFMkRyOU9FO0lBQXNCLFl6RDJ4Qkw7RUY4ck5uQjs7RTJEeDlPRTtJQUFxQixZekQyeEJMO0VGaXNObEI7O0UyRDM5T0U7SUFBc0IsWXpEMnhCTDtFRm9zTm5COztFMkQ5OU9FO0lBQXVCLFl6RDJ4Qkw7RUZ1c05wQjs7RTJENzlPRztFQUNEO0lBQW9CO0UzRGkrT3RCOztFMkQvOU9FO0VBQ0E7SUFDSTtJQUNBO0UzRGsrT047QUFDRjtBMkQ5OU9BO0FBQ0E7RUFFSTtFQUNBO0lBQW1CO0UzRGcrT3JCOztFMkQ5OU9FO0VBQ0E7SUFBbUI7RTNEaytPckI7O0UyRGgrT0U7RUFDQTtJQUFtQjtFM0RvK09yQjs7RTJEbitPRTtJQUFtQjtFM0R1K09yQjs7RTJEcitPRTtFQUNBO0lBQW1CO0UzRHkrT3JCOztFMkR4K09FO0lBQW1CO0UzRDQrT3JCOztFMkQxK09FO0VBQ0E7SUFBbUI7RTNEOCtPckI7O0UyRDcrT0U7SUFBbUI7RTNEaS9PckI7O0UyRGgvT0U7SUFBbUI7RTNEby9PckI7O0UyRG4vT0U7SUFBbUI7RTNEdS9PckI7O0UyRHIvT0U7RUFDQTtJQUFtQjtFM0R5L09yQjs7RTJEeC9PRTtJQUFtQjtFM0Q0L09yQjs7RTJEMS9PRTtFQUNBO0lBQXFCLFl6RDJ1Qkw7RUZteE5sQjs7RTJENy9PRTtJQUFzQixZekQydUJMO0VGc3hObkI7O0UyRGhnUEU7SUFBcUIsWXpEMnVCTDtFRnl4TmxCOztFMkRuZ1BFO0lBQXNCLFl6RDJ1Qkw7RUY0eE5uQjs7RTJEdGdQRTtJQUF1QixZekQydUJMO0VGK3hOcEI7O0UyRHJnUEU7RUFDQTtJQUFvQjtFM0R5Z1B0Qjs7RTJEdmdQRTtFQUNBO0lBQ0k7SUFDQTtFM0QwZ1BOO0FBQ0Y7QTJEdGdQQTtBQUNBO0VBRUk7RUFDQTtJQUFvQjtFM0R3Z1B0Qjs7RTJEdGdQRTtFQUNBO0lBQW9CO0UzRDBnUHRCOztFMkR4Z1BFO0VBQ0E7SUFBb0I7RTNENGdQdEI7O0UyRDNnUEU7SUFBb0I7RTNEK2dQdEI7O0UyRDdnUEU7RUFDQTtJQUFvQjtFM0RpaFB0Qjs7RTJEaGhQRTtJQUFvQjtFM0RvaFB0Qjs7RTJEbGhQRTtFQUNBO0lBQW9CO0UzRHNoUHRCOztFMkRyaFBFO0lBQW9CO0UzRHloUHRCOztFMkR4aFBFO0lBQW9CO0UzRDRoUHRCOztFMkQzaFBFO0lBQW9CO0UzRCtoUHRCOztFMkQ3aFBFO0VBQ0E7SUFBb0I7RTNEaWlQdEI7O0UyRGhpUEU7SUFBb0I7RTNEb2lQdEI7O0UyRGxpUEU7RUFDQTtJQUFzQixZekQyckJOO0VGMjJObEI7O0UyRHJpUEU7SUFBdUIsWXpEMnJCTjtFRjgyTm5COztFMkR4aVBFO0lBQXNCLFl6RDJyQk47RUZpM05sQjs7RTJEM2lQRTtJQUF1QixZekQyckJOO0VGbzNObkI7O0UyRDlpUEU7SUFBd0IsWXpEMnJCTjtFRnUzTnBCOztFMkQ3aVBFO0VBQ0E7SUFBcUI7RTNEaWpQdkI7O0UyRC9pUEU7RUFDQTtJQUNJO0lBQ0E7RTNEa2pQTjtBQUNGO0E0RGw1UEE7OzZFQUFBO0FBSUE7RUFBdUI7QTVEbzVQdkI7O0E0RGw1UEE7O0VBQUE7QUFJQTtFQUFpQjtBNURxNVBqQjs7QTREbjVQQTs7RUFBQTtBQUlBO0VBQXNCO0E1RHM1UHRCOztBNERwNVBBOzs7RUFBQTtBQUtBO0VBQW1CLGExRDhkRztBRnk3T3RCOztBNER0NVBBO0VBQW9CLGExRDhkRztBRjQ3T3ZCOztBNER6NVBBO0VBQW1CLGExRDhkRztBRis3T3RCOztBNEQzNVBBO0VBQXVCLGlCMUQwZEQ7QUZxOE90Qjs7QTREOTVQQTtFQUF3QixpQjFEMGREO0FGdzhPdkI7O0E0RGo2UEE7RUFBdUIsaUIxRDBkRDtBRjI4T3RCOztBNkQ5NlBBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7RUFDSSxpQjNEMkVxQjtFMkQxRXJCLGdCM0Q4NEJvQjtFMkQ3NEJwQixXM0QxQ29CO0FGdzlQeEI7O0E2RDE2UEE7RUFDSSxtQjNERXFCO0UyRERyQixnQjNEMDRCb0I7RTJEejRCcEIsVzNER2lCO0FGMDZQckI7QUcvOExJO0VBQUksV0QzOURhO0FGNjZQckI7QUdoOUxJO0VBQ0ksV0RoaEVPO0VDaWhFUDtBSGs5TFI7O0E2RC82UEE7NkVBQUE7QUFHQTtFQUNJLG1CM0RUcUI7RTJEVXJCLGdCM0RrNEJxQjtBRitpT3pCOztBNkQ3NlBBO0VBQ0ksaUIzRG1EcUI7RTJEbERyQixnQjNEODNCcUI7QUZrak96Qjs7QTZENTZQQTtFQUNJLGUzRFNlO0UyRFJmLGdCM0RVaUI7QUZxNlByQjs7QTZEMzZQQTs2RUFBQTtBQUdBO0VBQWlCO0E3RDg2UGpCOztBNkQ3NlBBO0VBQWtCO0E3RGk3UGxCOztBNkRoN1BBO0VBQWdCO0E3RG83UGhCOztBNkRsN1BBO0VBQW1CO0E3RHM3UG5COztBNkRyN1BBO0VBQWtCO0E3RHk3UGxCOztBNkR0N1BBOzZFQUFBO0FBR0E7RUFBa0I7QTdEeTdQbEI7O0E2RHQ3UEE7NkVBQUE7QUFHQTtFQUFzQjtBN0R5N1B0Qjs7QTZEeDdQQTtFQUFxQjtBN0Q0N1ByQjs7QTZEMzdQQTtFQUFxQjtBN0QrN1ByQjs7QTZENTdQQTs2RUFBQTtBQUdBO0VBQWlCO0E3RCs3UGpCOztBNkQ5N1BBO0VBQW9CO0E3RGs4UHBCOztBNkRqOFBBO0VBQW1CO0E3RHE4UG5COztBNkRwOFBBO0VBQXFCO0E3RHc4UHJCOztBNkR2OFBBO0VBQW1CO0E3RDI4UG5COztBNkQxOFBBO0VBQW1CO0E3RDg4UG5COztBNkQ3OFBBO0VBQWtCO0E3RGk5UGxCOztBNkQ5OFBBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QrOFBKOztBNkQ1OFBBO0VBRUk7SUFDSSx5QjNEbkhvQjtJMkRvSHBCO0U3RDg4UE47QUFDRjtBNkR4OFBBOzZFQUFBO0FBR0E7RUFBZ0I7QTdEMDhQaEI7O0E2RHo4UEE7RUFBaUI7QTdENjhQakI7O0E2RDU4UEE7RUFBa0I7QTdEZzlQbEI7O0E2RC84UEE7RUFBbUI7QTdEbTlQbkI7O0E2RGo5UEE7QUFDQTtFQUVJO0lBQW1CO0U3RG85UHJCOztFNkRuOVBFO0lBQW9CO0U3RHU5UHRCOztFNkR0OVBFO0lBQXFCO0U3RDA5UHZCO0FBQ0Y7QTZEdjlQQTtBQUNBO0VBRUk7SUFBbUI7RTdEeTlQckI7O0U2RHg5UEU7SUFBb0I7RTdENDlQdEI7O0U2RDM5UEU7SUFBcUI7RTdEKzlQdkI7QUFDRjtBNkQ1OVBBO0FBQ0E7RUFFSTtJQUFtQjtFN0Q4OVByQjs7RTZENzlQRTtJQUFvQjtFN0RpK1B0Qjs7RTZEaCtQRTtJQUFxQjtFN0RvK1B2QjtBQUNGO0E2RGorUEE7QUFDQTtFQUVJO0lBQW9CO0U3RG0rUHRCOztFNkRsK1BFO0lBQXFCO0U3RHMrUHZCOztFNkRyK1BFO0lBQXNCO0U3RHkrUHhCO0FBQ0Y7QTZEdCtQQTs7RUFBQTtBQUlBO0VBQWU7QTdEdytQZjs7QTZEditQQTtFQUFrQjtBN0QyK1BsQjs7QTZEMStQQTtFQUFrQjtBN0Q4K1BsQjs7QTZENytQQTtFQUFvQjtBN0RpL1BwQjs7QTZEOStQQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBa0I7QTdEZy9QbEI7O0E2RDkrUEE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RGcvUEo7O0E2RDcrUEE7QUFDQTs7RUFDc0I7QTdEaS9QdEI7O0E2RDkrUEE7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0RnL1BKOztBNkQ3K1BBO0FBQ0E7O0VBQ21CO0E3RGkvUG5COztBOERsdFFBOzs2RUFBQTtBQUlBO0VBQXdCLHFCNURVUjtPNERWUSxnQjVEVVI7QUYyc1FoQjs7QThEbnRRQTtBQUNBO0VBRUk7SUFBd0IscUI1RFFMO1M0RFJLLGdCNURRTDtFRjhzUXJCO0FBQ0Y7QThEbnRRQTs7RUFBQTtBQUlBO0VBQTRCO0E5RHF0UTVCOztBOERsdFFBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO09BQUE7RUFDQTtFQUNBO09BQUE7QTlEbXRRSjs7QThEaHRRQTtBQUNBO0VBRUk7SUFDSTtTQUFBO0U5RGt0UU47QUFDRjtBOEQ3c1FBOzZFQUFBO0FBR0E7RUFBaUI7T0FBQTtBOUQrc1FqQjs7QThEOXNRQTtFQUFpQjtPQUFBO0E5RGt0UWpCOztBOERqdFFBO0VBQWlCO09BQUE7QTlEcXRRakI7O0E4RHB0UUE7RUFBaUI7T0FBQTtBOUR3dFFqQjs7QThEdnRRQTtFQUFpQjtPQUFBO0E5RDJ0UWpCOztBOER6dFFBO0FBQ0E7RUFFSTtJQUFvQjtTQUFBO0U5RDR0UXRCOztFOEQzdFFFO0lBQW9CO1NBQUE7RTlEK3RRdEI7O0U4RDl0UUU7SUFBb0I7U0FBQTtFOURrdVF0Qjs7RThEanVRRTtJQUFvQjtTQUFBO0U5RHF1UXRCOztFOERwdVFFO0lBQW9CO1NBQUE7RTlEd3VRdEI7QUFDRjtBOERydVFBO0FBQ0E7RUFFSTtJQUFvQjtTQUFBO0U5RHV1UXRCOztFOER0dVFFO0lBQW9CO1NBQUE7RTlEMHVRdEI7O0U4RHp1UUU7SUFBb0I7U0FBQTtFOUQ2dVF0Qjs7RThENXVRRTtJQUFvQjtTQUFBO0U5RGd2UXRCOztFOEQvdVFFO0lBQW9CO1NBQUE7RTlEbXZRdEI7QUFDRjtBOERodlFBO0FBQ0E7RUFFSTtJQUFvQjtTQUFBO0U5RGt2UXRCOztFOERqdlFFO0lBQW9CO1NBQUE7RTlEcXZRdEI7O0U4RHB2UUU7SUFBb0I7U0FBQTtFOUR3dlF0Qjs7RThEdnZRRTtJQUFvQjtTQUFBO0U5RDJ2UXRCOztFOEQxdlFFO0lBQW9CO1NBQUE7RTlEOHZRdEI7QUFDRjtBOEQzdlFBO0FBQ0E7RUFFSTtJQUFxQjtTQUFBO0U5RDZ2UXZCOztFOEQ1dlFFO0lBQXFCO1NBQUE7RTlEZ3dRdkI7O0U4RC92UUU7SUFBcUI7U0FBQTtFOURtd1F2Qjs7RThEbHdRRTtJQUFxQjtTQUFBO0U5RHN3UXZCOztFOERyd1FFO0lBQXFCO1NBQUE7RTlEeXdRdkI7QUFDRjtBOER0d1FBOzs2RUFBQTtBQUlBO0VBQWtCO09BQUE7QTlEd3dRbEI7O0ErRHgzUUE7OzZFQUFBO0FBSUE7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0R5M1FKOztBK0R0M1FBO0VBQWtCO0EvRDAzUWxCOztBK0R2M1FBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0R3M1FKOztBZ0V0NVFBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7RUFBeUIsc0I5RG9DTDtBRm0zUXBCOztBZ0V0NVFBO0VBQXVCLHlCOURQRztBRmk2UTFCOztBZ0V6NVFBO0VBQXlCLHlCOURIRztBRmc2UTVCOztBZ0U1NVFBO0VBQTJCLHNCOURxQ0c7QUYyM1E5Qjs7QWdFNzVRQTs2RUFBQTtBQUdBOzs7O0VBSUk7RUFDQTtBaEUrNVFKOztBZ0U1NVFBO0VBQXVCO0FoRWc2UXZCOztBZ0UvNVFBO0VBQXlCO0FoRW02UXpCOztBZ0VsNlFBO0VBQTJCO0FoRXM2UTNCOztBZ0VyNlFBO0VBQTRCO0FoRXk2UTVCOztBZ0V0NlFBOzZFQUFBO0FBR0E7RUFBMEI7QWhFeTZRMUI7O0FnRXg2UUE7RUFBNEI7QWhFNDZRNUI7O0FnRTM2UUE7RUFBMkI7QWhFKzZRM0I7O0FnRTk2UUE7RUFBNkI7QWhFazdRN0I7O0FnRWo3UUE7RUFBK0I7QWhFcTdRL0I7O0FnRXA3UUE7RUFBOEI7QWhFdzdROUI7O0FnRXY3UUE7RUFBNkI7QWhFMjdRN0I7O0FnRTE3UUE7RUFBK0I7QWhFODdRL0I7O0FnRTc3UUE7RUFBOEI7QWhFaThROUI7O0FnRTk3UUE7NkVBQUE7QUFHQTtFQUEwQjtBaEVpOFExQjs7QWdFOTdRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7VUFBQTtBaEUrN1FKOztBZ0U1N1FBOztFQUFBO0FBSUE7RUFDSTtJQUF1QjtFaEUrN1F6QjtBQUNGO0FnRTU3UUE7NkVBQUE7QUFHQTtBQUNBO0VBRUk7SUFBMEI7RWhFNjdRNUI7QUFDRjtBZ0UxN1FBO0FBQ0E7RUFFSTtJQUEwQjtFaEU0N1E1QjtBQUNGO0FnRXo3UUE7QUFDQTtFQUVJO0lBQTBCO0VoRTI3UTVCO0FBQ0Y7QWdFeDdRQTtBQUNBO0VBRUk7SUFBMEI7RWhFMDdRNUI7QUFDRjtBZ0V0N1FBOzZFQUFBO0FBR0E7RUFBZ0M7QWhFdzdRaEM7O0FnRXY3UUE7RUFBOEI7QWhFMjdROUI7O0FnRTE3UUE7RUFBK0I7QWhFODdRL0I7O0FnRTc3UUE7RUFBOEI7QWhFaThROUI7O0FnRWg4UUE7RUFBK0I7QWhFbzhRL0I7O0FnRW44UUE7RUFBbUM7QWhFdThRbkM7O0FnRXQ4UUE7RUFBa0M7QWhFMDhRbEM7O0FnRXo4UUE7RUFBa0M7QWhFNjhRbEM7O0FnRTU4UUE7RUFBa0M7QWhFZzlRbEM7O0FnRS84UUE7RUFBa0M7QWhFbTlRbEM7O0FnRWw5UUE7RUFBaUM7QWhFczlRakM7O0FnRXI5UUE7RUFBMkI7QWhFeTlRM0I7O0FnRXg5UUE7RUFBa0M7QWhFNDlRbEM7O0FnRTM5UUE7RUFBNkI7QWhFKzlRN0I7O0FnRTk5UUE7RUFBa0M7QWhFaytRbEM7O0FpRTFsUkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsbUIvRE9ZO0FGb2xSaEI7O0FpRXhsUkE7RUFBMEIsZ0IvRElWO0FGd2xSaEI7O0FpRTFsUkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWpFNGxSSjs7QWlFemxSQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxrQi9EYlk7RStEY1o7QWpFMmxSSjs7QWlFeGxSQTtFQUNJO0VBQ0EsaUIvRG5CWTtFK0RvQlo7QWpFMmxSSjs7QWlFeGxSQTtBQUNBO0VBRUk7SUFDSTtJQUNBLGtCL0Q1QlE7SStENkJSO0VqRTBsUk47O0VpRXZsUkU7SUFDSTtJQUNBLGlCL0RsQ1E7SStEbUNSO0VqRTBsUk47QUFDRjtBaUV0bFJBO0FBQ0E7RUFFSTtJQUNJO0lBQ0Esa0IvRDdDUTtJK0Q4Q1I7RWpFdWxSTjs7RWlFcGxSRTtJQUNJO0lBQ0EsaUIvRG5EUTtJK0RvRFI7RWpFdWxSTjtBQUNGO0FpRW5sUkE7QUFDQTtFQUVJO0lBQ0k7SUFDQTtFakVvbFJOOztFaUVqbFJFO0lBQ0k7SUFDQTtFakVvbFJOOztFaUVqbFJFOzs7O0lBR29CLGtCL0R0RUQ7RUYycFJyQjs7RWlFbmxSRTs7OztJQUdxQixpQi9EM0VGO0VGa3FSckI7QUFDRjtBaUVwbFJBO0FBQ0E7RUFFSTtJQUNJO0lBQ0Esa0IvRHBGZTtJK0RxRmY7RWpFcWxSTjs7RWlFbGxSRTtJQUNJO0lBQ0EsaUIvRDFGZTtJK0QyRmY7RWpFcWxSTjtBQUNGO0FrRWh0UkE7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7QUFDQTs7RUFFMEQ7QWxFZ3RSMUQ7O0FrRS9zUkE7RUFBNEQ7QWxFbXRSNUQ7O0FrRWp0UkE7O0VBQUE7QUFJQTtFQUFVO0FsRW90UlY7O0FtRXRyUkE7OzZFQUFBO0FBS0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtBbkVzclJKOztBbUVuclJBOztFQUFBO0FBSUE7RUFBMEI7QW5Fc3JSMUI7O0FtRW5yUkE7O0VBQUE7QUFJQTtFQUNJLGFqRXc2QnNCO0VpRXY2QnRCLGFqRXc2QnVCO0VpRXY2QnZCO0VBQ0E7RUFDQTtFQUNBO0FuRXFyUko7O0FtRWhyUkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7QUFDQTtFQUNJO0VBQ0E7QW5FaXJSSjs7QW1FOXFSQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FuRWlyUko7O0FtRTdxUkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0FuRStxUmpCOztBbUU5cVJBO0VBQWtCO0FuRWtyUmxCOztBbUVoclJBO0FBQ0E7RUFBdUI7QW5Fb3JSdkI7O0FtRWpyUkE7NkVBQUE7QUFHQTtFQUFzQjtBbkVvclJ0Qjs7QW1FbHJSQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7QW5Fb3JSSjs7QW1FanJSQTtFQUFrQztBbkVxclJsQzs7QW1FbHJSQTs2RUFBQTtBQUdBO0VBQWE7QW5FcXJSYjs7QW1FcHJSQTtFQUFzQjtBbkV3clJ0Qjs7QW1FcnJSQTs2RUFBQTtBQUdBO0VBQW9CO0FuRXdyUnBCOztBbUV2clJBO0VBQXFCO0FuRTJyUnJCOztBbUUxclJBO0VBQTJCO0FuRThyUjNCOztBbUUzclJBOzZFQUFBO0FBR0E7Ozs7Ozs7O0VBQUE7QUFVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRTRyUko7O0FtRXpyUkE7RUFDSTtFQUNBO0FuRTRyUko7O0FtRXhyUkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7Ozs7RUFJMkI7QW5FMHJSM0I7O0FtRXhyUkE7OztFQUFBO0FBS0E7O0VBQ3dCO0FuRTJyUnhCOztBbUV6clJBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5FMnJSSjs7QW1FeHJSQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FMHJSSjs7QW1FdHJSQTs2RUFBQTtBQUdBO0VBQW9CO0FuRXlyUnBCOztBbUV4clJBO0VBQWtCO0FuRTRyUmxCOztBbUUzclJBO0VBQXFCLGtCakVxd0JVO0FGMDdQL0I7O0FtRTdyUkE7O0VBQUE7QUFJQTtFQUF1QztBbkVnc1J2Qzs7QW1FN3JSQTs2RUFBQTtBQUdBO0VBQXVCLHlDakVpeEJHO0FGKzZQMUI7O0FtRS9yUkE7RUFBd0IsMENqRWl4Qkc7QUZrN1AzQjs7QW1FbHNSQTtFQUF1QiwyQ2pFaXhCRztBRnE3UDFCOztBbUVyc1JBO0VBQXdCLDJDakVpeEJHO0FGdzdQM0I7O0FtRXZzUkE7O0VBQUE7QUFJQTtFQUFpQztBbkUwc1JqQzs7QW1FeHNSQTtFQUFtQyx5Q2pFc3dCVDtBRnM4UDFCOztBbUUzc1JBO0VBQW9DLDBDakVzd0JUO0FGeThQM0I7O0FtRTlzUkE7RUFBbUMsMkNqRXN3QlQ7QUY0OFAxQjs7QW1FanRSQTtFQUFvQywyQ2pFc3dCVDtBRis4UDNCOztBbUVsdFJBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUVJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RW5Fa3RSTjs7RW1FL3NSRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsWWpFK3NCbUI7SWlFOXNCbkIsbUJqRStzQjBCO0lpRTlzQjFCLGdCakUrc0J1QjtJaUU5c0J2QjtFbkVrdFJOOztFbUU5c1JFO0VBQ0E7SUFBNEI7RW5Fa3RSOUI7QUFDRjtBbUU5c1JBOzZFQUFBO0FBR0E7Ozs7Ozs7RUFBQTtBQVNBOztFQUdJO0VBQ0Esa0JqRXNyQm1CO0VpRXJyQm5CO0VBQ0EsZ0JqRXFyQmdCO0VpRXByQmhCO0VoRSt3REE7QUgrN05KOztBbUUxc1JBO0FBQ0E7RUFFRTs7SUFDOEM7RW5FNnNSOUM7QUFDRjtBbUUxc1JBO0FBQ0E7RUFFRTtJQUE4QztFbkU0c1I5QztBQUNGO0FtRXhzUkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksaUJqRXRQcUI7RWlFdVByQixrTWpFOVJpQjtFaUUrUmpCLFdqRXpXVztFaUUwV1g7RUFDQTtBbkV3c1JKOztBbUVwc1JBO0FBQ0E7O0VBRUksV2pFbFhXO0VpRW1YWDtFQUNBO0VBQ0E7QW5FdXNSSjs7QW1FbnNSQTtFQUFtQjtBbkV1c1JuQjs7QW1FcHNSQTs2RUFBQTtBQUdBO0VBQWU7QW5FdXNSZjs7QW1FcHNSQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBOztFQUVhO0FuRXFzUmI7O0FtRW5zUkE7QUFDQTtFQUFrQjtBbkV1c1JsQjs7QW1FcHNSQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBZSw2Q2pFMm1CTztBRjJsUXRCOztBbUVuc1JBOzZFQUFBO0FBR0E7RUFBcUI7QW5Fc3NSckI7O0FtRXJzUkE7RUFBbUI7QW5FeXNSbkI7O0FtRXhzUkE7RUFBb0I7QW5FNHNScEI7O0FtRTNzUkE7RUFBbUI7QW5FK3NSbkI7O0FtRTlzUkE7RUFBb0I7QW5Fa3RScEI7O0FtRWp0UkE7RUFBd0I7QW5FcXRSeEI7O0FtRXB0UkE7RUFBdUI7QW5Fd3RSdkI7O0FtRXZ0UkE7RUFBdUI7QW5FMnRSdkI7O0FtRTF0UkE7RUFBdUI7QW5FOHRSdkI7O0FtRTd0UkE7RUFBdUI7QW5FaXVSdkI7O0FtRWh1UkE7RUFBc0I7QW5Fb3VSdEI7O0FtRW51UkE7RUFBZ0I7QW5FdXVSaEI7O0FtRXR1UkE7RUFBdUI7QW5FMHVSdkI7O0FtRXp1UkE7RUFBa0I7QW5FNnVSbEI7O0FtRTV1UkE7RUFBdUI7QW5FZ3ZSdkI7O0FtRTd1UkE7NEVBQUE7QUFHQTtFQUF1QjtBbkVndlJ2Qjs7QW1FN3VSQTs0RUFBQTtBQUdBO0VBQWdDO0FuRWd2UmhDOztBbUUvdVJBO0VBQWtDO0FuRW12UmxDOztBbUVsdlJBO0VBQWlDO0FuRXN2UmpDOztBbUVydlJBO0VBQW1DO0FuRXl2Um5DOztBbUV4dlJBO0VBQW9DO0FuRTR2UnBDOztBbUUzdlJBO0VBQW1DO0FuRSt2Um5DOztBbUU5dlJBO0VBQXFDO0FuRWt3UnJDOztBbUVqd1JBO0VBQW9DO0FuRXF3UnBDOztBb0Vwc1NBOzs2RUFBQTtBQUlBO0VBQVc7QXBFdXNTWDs7QW9FdHNTQTtFQUFrQjtBcEUwc1NsQjs7QW9FeHNTQTs7RUFBQTtBQUlBOzs7O0VBR3lCO0FwRTJzU3pCOztBb0V4c1NBOzZFQUFBO0FBR0E7OztFQUFBO0FBTUE7RUFBZ0I7QXBFeXNTaEI7O0FvRXhzU0E7RUFBa0I7QXBFNHNTbEI7O0FvRTNzU0E7RUFBaUI7QXBFK3NTakI7O0FvRTlzU0E7RUFBbUI7QXBFa3RTbkI7O0FvRWp0U0E7RUFBa0I7QXBFcXRTbEI7O0FvRWx0U0E7QUFDQTtFQUVJO0lBQW1CO0VwRXF0U3JCOztFb0VwdFNFO0lBQXFCO0VwRXd0U3ZCOztFb0V2dFNFO0lBQW9CO0VwRTJ0U3RCOztFb0UxdFNFO0lBQXNCO0VwRTh0U3hCOztFb0U3dFNFO0lBQXFCO0VwRWl1U3ZCO0FBQ0Y7QW9FOXRTQTtBQUNBO0VBRUk7SUFBbUI7RXBFZ3VTckI7O0VvRS90U0U7SUFBcUI7RXBFbXVTdkI7O0VvRWx1U0U7SUFBb0I7RXBFc3VTdEI7O0VvRXJ1U0U7SUFBc0I7RXBFeXVTeEI7O0VvRXh1U0U7SUFBcUI7RXBFNHVTdkI7QUFDRjtBb0V6dVNBO0FBQ0E7RUFFSTtJQUFtQjtFcEUydVNyQjs7RW9FMXVTRTtJQUFxQjtFcEU4dVN2Qjs7RW9FN3VTRTtJQUFvQjtFcEVpdlN0Qjs7RW9FaHZTRTtJQUFzQjtFcEVvdlN4Qjs7RW9FbnZTRTtJQUFxQjtFcEV1dlN2QjtBQUNGO0FvRXB2U0E7QUFDQTtFQUVJO0lBQW9CO0VwRXN2U3RCOztFb0VydlNFO0lBQXNCO0VwRXl2U3hCOztFb0V4dlNFO0lBQXFCO0VwRTR2U3ZCOztFb0UzdlNFO0lBQXVCO0VwRSt2U3pCOztFb0U5dlNFO0lBQXNCO0VwRWt3U3hCO0FBQ0Y7QW9FL3ZTQTs7O0VBQUE7QUFNQTtFQUFtQjtBcEVnd1NuQjs7QW9FL3ZTQTtFQUFlO0FwRW13U2Y7O0FvRWx3U0E7RUFBa0I7QXBFc3dTbEI7O0FvRXJ3U0E7RUFBa0I7QXBFeXdTbEI7O0FvRXR3U0E7NkVBQUE7QUFJQTtFQUFlO0FwRXd3U2Y7O0FvRXZ3U0E7RUFBdUI7QXBFMndTdkI7O0FvRTF3U0E7RUFBa0I7QXBFOHdTbEI7O0FvRTd3U0E7RUFBMEI7QXBFaXhTMUI7O0FvRTl3U0E7NkVBQUE7QUFJQTtFQUFrQjtBcEVneFNsQjs7QW9FL3dTQTtFQUFnQjtBcEVteFNoQjs7QW9FbHhTQTtFQUF3QjtBcEVzeFN4Qjs7QW9FcHhTQTs7O0VBQUE7QUFNQTtFQUF3QjtBcEVzeFN4Qjs7QW9FcnhTQTtFQUFvQjtBcEV5eFNwQjs7QW9FeHhTQTtFQUF1QjtBcEU0eFN2Qjs7QW9FM3hTQTtFQUF1QjtBcEUreFN2Qjs7QW9FOXhTQTtFQUF3QjtBcEVreVN4Qjs7QW9FanlTQTtFQUF1QjtBcEVxeVN2Qjs7QW9FbHlTQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBaUI7QXBFb3lTakI7O0FvRW55U0E7RUFBZ0I7QXBFdXlTaEI7O0FvRXB5U0E7QUFDQTtFQUVJO0lBQW9CO0VwRXV5U3RCOztFb0V0eVNFO0lBQW1CO0VwRTB5U3JCO0FBQ0Y7QW9FdnlTQTtBQUNBO0VBRUk7SUFBb0I7RXBFeXlTdEI7O0VvRXh5U0U7SUFBbUI7RXBFNHlTckI7QUFDRjtBb0V6eVNBO0FBQ0E7RUFFSTtJQUFvQjtFcEUyeVN0Qjs7RW9FMXlTRTtJQUFtQjtFcEU4eVNyQjtBQUNGO0FvRTN5U0E7QUFDQTtFQUVJO0lBQXFCO0VwRTZ5U3ZCOztFb0U1eVNFO0lBQW9CO0VwRWd6U3RCO0FBQ0Y7QW9FNXlTQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7RUFBQTtBQUtBO0VBQWdCO0FwRTR5U2hCOztBb0UxeVNBOzs7RUFBQTtBQUtBO0VBQWdCO0FwRTZ5U2hCOztBb0UzeVNBOzs7RUFBQTtBQUtBO0VBQWE7QXBFOHlTYjs7QXFFeDlTQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQWEsbUJuRXRDRztBRmdnVGhCOztBcUV6OVNBO0VBQWlCO0FyRTY5U2pCOztBcUUzOVNBO0VBQWlCO0FyRSs5U2pCOztBcUU5OVNBO0VBQW9CO0FyRWsrU3BCOztBcUVqK1NBO0VBQWtCO0FyRXErU2xCOztBcUVwK1NBO0VBQW1CO0FyRXcrU25COztBcUVyK1NBOzZFQUFBO0FBR0E7RUFBbUIsbUJuRXlGRztBRis0U3RCOztBcUV2K1NBO0VBQXVCO0FyRTIrU3ZCOztBcUV6K1NBO0VBQXVCO0FyRTYrU3ZCOztBcUU1K1NBO0VBQTBCO0FyRWcvUzFCOztBcUUvK1NBO0VBQXdCO0FyRW0vU3hCOztBcUVsL1NBO0VBQXlCO0FyRXMvU3pCOztBcUVuL1NBOzZFQUFBO0FBR0E7RUFBb0IsbUJuRWlERztBRnE4U3ZCOztBcUVyL1NBO0VBQXdCO0FyRXkvU3hCOztBcUV2L1NBO0VBQXdCO0FyRTIvU3hCOztBcUUxL1NBO0VBQTJCO0FyRTgvUzNCOztBcUU3L1NBO0VBQXlCO0FyRWlnVHpCOztBcUVoZ1RBO0VBQTBCO0FyRW9nVDFCOztBcUVqZ1RBOzZFQUFBO0FBR0E7RUFBbUIsbUJuRXFDSTtBRis5U3ZCOztBcUVuZ1RBO0VBQXVCO0FyRXVnVHZCOztBcUVyZ1RBO0VBQXVCO0FyRXlnVHZCOztBcUV4Z1RBO0VBQTBCO0FyRTRnVDFCOztBcUUzZ1RBO0VBQXdCO0FyRStnVHhCOztBcUU5Z1RBO0VBQXlCO0FyRWtoVHpCOztBcUVoaFRBO0FBQ0E7RUFFSTtJQUFtQixtQm5FckNEO0VGd2pUcEI7O0VxRWxoVEU7SUFBdUI7RXJFc2hUekI7O0VxRXBoVEU7SUFBdUI7RXJFd2hUekI7O0VxRXZoVEU7SUFBMEI7RXJFMmhUNUI7O0VxRTFoVEU7SUFBd0I7RXJFOGhUMUI7O0VxRTdoVEU7SUFBeUI7RXJFaWlUM0I7QUFDRjtBcUU3aFRBOzZFQUFBO0FBR0E7RUFBb0IsbUJuRW5ERTtBRmtsVHRCOztBcUU5aFRBO0VBQXdCO0FyRWtpVHhCOztBcUVoaVRBO0VBQXdCO0FyRW9pVHhCOztBcUVuaVRBO0VBQTJCO0FyRXVpVDNCOztBcUV0aVRBO0VBQXlCO0FyRTBpVHpCOztBcUV6aVRBO0VBQTBCO0FyRTZpVDFCOztBcUUzaVRBO0FBQ0E7RUFFSTtJQUFvQixvQm5FaWdCRDtFRjZpU3JCOztFcUU3aVRFO0lBQXdCO0VyRWlqVDFCOztFcUUvaVRFO0lBQXdCO0VyRW1qVDFCOztFcUVsalRFO0lBQTJCO0VyRXNqVDdCOztFcUVyalRFO0lBQXlCO0VyRXlqVDNCOztFcUV4alRFO0lBQTBCO0VyRTRqVDVCO0FBQ0Y7QXFFeGpUQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBckV5alRKOztBcUV0alRBO0VBQXNCO0FyRTBqVHRCOztBcUV6alRBO0VBQXlCO0FyRTZqVHpCOztBcUU1alRBO0VBQXVCO0FyRWdrVHZCOztBcUUvalRBO0VBQXdCO0FyRW1rVHhCOztBcUVqa1RBO0VBQ0k7RUFDQTtBckVva1RKOztBcUVqa1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXJFbWtUTjs7RXFFaGtURTtJQUEwQjtFckVva1Q1Qjs7RXFFbmtURTtJQUEyQjtFckV1a1Q3QjtBQUNGO0FxRXBrVEE7QUFDQTtFQUVJO0lBQ0k7SUFDQTtFckVxa1ROOztFcUVsa1RFO0lBQTBCO0VyRXNrVDVCOztFcUVya1RFO0lBQTJCO0VyRXlrVDdCO0FBQ0Y7QXFFdGtUQTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VyRXVrVE47O0VxRXBrVEU7SUFBMEI7RXJFd2tUNUI7O0VxRXZrVEU7SUFBMkI7RXJFMmtUN0I7QUFDRjtBcUV4a1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXJFeWtUTjs7RXFFdGtURTtJQUEyQjtFckUwa1Q3Qjs7RXFFemtURTtJQUE0QjtFckU2a1Q5QjtBQUNGO0FxRXprVEE7NkVBQUE7QUFHQztFQUFvQjtBckUya1RyQjs7QXFFMWtUQztFQUF3QjtBckU4a1R6Qjs7QXFFN2tUQztFQUEyQjtBckVpbFQ1Qjs7QXFFaGxUQztFQUF5QjtBckVvbFQxQjs7QXFFbmxUQztFQUEwQjtBckV1bFQzQjs7QXFFcmxUQztFQUNJO0VBQ0E7QXJFd2xUTDs7QXFFcmxUQzs7RUFDK0M7QXJFeWxUaEQ7O0FxRXhsVEM7RUFBNkM7QXJFNGxUOUM7O0FxRTFsVEE7QUFDQTtFQUVJO0lBQTRCO0VyRTZsVDlCOztFcUU1bFRFO0lBQTZCO0VyRWdtVC9CO0FBQ0Y7QXFFN2xUQTtBQUNBO0VBRUk7SUFBNEI7RXJFK2xUOUI7O0VxRTlsVEU7SUFBNkI7RXJFa21UL0I7QUFDRjtBcUUvbFRBO0FBQ0E7RUFFSTtJQUE0QjtFckVpbVQ5Qjs7RXFFaG1URTtJQUE2QjtFckVvbVQvQjtBQUNGO0FxRWptVEE7QUFDQTtFQUVJO0lBQTZCO0VyRW1tVC9COztFcUVsbVRFO0lBQThCO0VyRXNtVGhDO0FBQ0Y7QXNFL3pUQTs7NkVBQUE7QUFJQTtFQUFjLGFwRVVFO0FGdXpUaEI7O0FzRS96VEE7QUFDQTtFQUVJO0lBQWMsYXBFUUs7RUYwelRyQjtBQUNGO0FzRTl6VEE7NkVBQUE7QUFHQTtFQUFvQixhcEV2QkU7QUZ1MVR0Qjs7QXNFN3pUQTs2RUFBQTtBQUdBO0VBQW9CLGFwRVRKO0FGeTBUaEI7O0FzRTl6VEE7QUFDQTtFQUVJO0lBQW9CLGFwRXlPRjtFRndsVHBCO0FBQ0Y7QXNFN3pUQTs2RUFBQTtBQUdBO0VBQXFCO0F0RSt6VHJCOztBc0U5elRBO0VBQXlCO0F0RWswVHpCOztBc0VqMFRBO0VBQTRCO0F0RXEwVDVCOztBc0VwMFRBO0VBQTBCO0F0RXcwVDFCOztBc0V2MFRBO0VBQTJCO0F0RTIwVDNCOztBc0V6MFRBO0VBQ0k7RUFDQTtBdEU0MFRKOztBc0V6MFRBO0VBQ0k7RUFDQTtBdEU0MFRKOztBdUU5MlRBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7Ozs7RUFLSTtFQUNBO0VBQ0E7QXZFNjJUSjs7QXVFejJUQTs2RUFBQTtBQUdBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXZFMjJUSjs7QXVFeDJUQTtFQUNJO0VBQ0E7RUFDQTtBdkUyMlRKOztBdUV4MlRBO0VBQ0k7RUFDQTtFQUNBO0F2RTIyVEo7O0F1RXgyVEE7RUFDSTtFQUNBO0VBQ0E7QXZFMjJUSjs7QXVFdjJUQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBdkV5MlRKOztBdUV0MlRBO0VBQ0k7RUFDQTtBdkV5MlRKOztBdUV0MlRBO0VBQ0k7RUFDQTtBdkV5MlRKOztBdUV0MlRBO0VBQ0k7RUFDQTtBdkV5MlRKOztBdUV0MlRBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0F2RXcyVEo7O0F1RXIyVEE7QUFDQTs7RUFFSTtFQUNBO0F2RXcyVEo7O0F1RXIyVEE7RUFBMkI7QXZFeTJUM0I7O0F1RXgyVEE7RUFBNEI7QXZFNDJUNUI7O0F1RTEyVEE7RUFDSTtFQUNBO0VBQUE7RUFBQTtBdkU2MlRKOztBdUUxMlRBO0VBQ0k7RUFDQTtFQUFBO0VBQUE7QXZFNjJUSjs7QXVFMTJUQTtBQUNBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7QXZFNjJUSjs7QXVFMTJUQTtFQUEwQjtBdkU4MlQxQjs7QXVFNzJUQTtFQUE2QjtBdkVpM1Q3Qjs7QXVFOTJUQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkVnM1RKOztBdUU1MlRBOzZFQUFBO0FBR0E7RUFBd0I7QXZFKzJUeEI7O0F1RTcyVEE7RUFBd0I7QXZFaTNUeEI7O0F1RS8yVEE7RUFBcUI7QXZFbTNUckI7O0F1RWozVEE7RUFBdUI7QXZFcTNUdkI7O0F1RWwzVEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxZckVuTGtCO0FGc2lVdEI7O0F1RWgzVEE7RUFBd0M7QXZFbzNUeEM7O0F1RWwzVEE7O0VBQ3dEO0F2RXMzVHhEOztBdUVwM1RBOztFQUMrQztBdkV3M1QvQzs7QXVFdDNUQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxZckVoTFk7QUZ3aVVoQjs7QXVFcjNUQTtFQUF5QztBdkV5M1R6Qzs7QXVFdjNUQTs7RUFDeUQ7QXZFMjNUekQ7O0F1RXozVEE7O0VBQ2dEO0F2RTYzVGhEOztBdUUzM1RBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFlyRWpNWTtBRjhqVWhCOztBdUUxM1RBO0VBQXdDO0F2RTgzVHhDOztBdUU1M1RBOztFQUN3RDtBdkVnNFR4RDs7QXVFOTNUQTs7RUFDK0M7QXZFazRUL0M7O0F1RWg0VEE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxZckVzakJrQjtFRjQwU3hCOztFdUUvM1RFO0lBQXdDO0V2RW00VDFDOztFdUVqNFRFOztJQUN3RDtFdkVxNFQxRDs7RXVFbjRURTs7SUFDK0M7RXZFdTRUakQ7QUFDRjtBd0VsbVVBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXhFZ21VSjs7QXdFN2xVQTs7RUFBQTtBQUlBO0VBQThCO0F4RWdtVTlCOztBd0U3bFVBOzZFQUFBO0FBR0E7Ozs7Ozs7O0VBQUE7QUFVQTs7O0VBR0k7RUFDQTtFQUNBO0F4RThsVUo7O0F3RTNsVUE7O0VBQUE7QUFJQTs7O0VBRXNEO0F4RThsVXREOztBd0U1bFVBOztFQUFBO0FBSUE7RUFBMEI7QXhFK2xVMUI7O0F3RTlsVUE7RUFBNEI7QXhFa21VNUI7O0F3RWhtVUE7QUFDQTs7O0VBR0k7RUFDQTtBeEVtbVVKOztBd0VobVVBOzs7RUFHSTtFQUNBO0F4RW1tVUo7O0F3RWhtVUE7O0VBQUE7QUFJQTtFQUEyQjtBeEVtbVUzQjs7QXdFbG1VQTtFQUE4QjtBeEVzbVU5Qjs7QXdFcm1VQTtFQUE0QjtBeEV5bVU1Qjs7QXdFeG1VQTtFQUE2QjtBeEU0bVU3Qjs7QXdFMW1VQTtFQUFpQztBeEU4bVVqQzs7QXdFN21VQTtFQUFvQztBeEVpblVwQzs7QXdFaG5VQTtFQUFrQztBeEVvblVsQzs7QXdFbm5VQTtFQUFtQztBeEV1blVuQzs7QXdFcm5VQTtFQUFrQztBeEV5blVsQzs7QXdFeG5VQTtFQUFxQztBeEU0blVyQzs7QXdFM25VQTtFQUFtQztBeEUrblVuQzs7QXdFOW5VQTtFQUFvQztBeEVrb1VwQzs7QXdFaG9VQTtBQUNBOzs7RUFHSTtFQUNBO0F4RW1vVUo7O0F3RS9uVUE7NkVBQUE7QUFHQTtFQUF3QjtBeEVrb1V4Qjs7QXdFL25VQTs2RUFBQTtBQUdBO0VBQXNCLHlCdEVzMkJLO0FGNHhTM0I7O0F5RXZ3VUE7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7O0VBQ2E7QXpFeXdVYjs7QXlFdndVQTtBQUNBO0VBRUk7SUFBZ0I7RXpFMHdVbEI7QUFDRjtBeUV2d1VBO0FBQ0E7RUFFSTtJQUFnQjtFekV5d1VsQjtBQUNGO0F5RXR3VUE7QUFDQTtFQUVJO0lBQWdCO0V6RXd3VWxCO0FBQ0Y7QXlFcndVQTtBQUNBO0VBRUk7SUFBaUI7RXpFdXdVbkI7QUFDRjtBeUVwd1VBOztFQUFBO0FBSUE7QUFDQTtFQUVJO0lBQWlCO0V6RXF3VW5CO0FBQ0Y7QXlFbHdVQTtBQUNBO0VBRUk7SUFBaUI7RXpFb3dVbkI7QUFDRjtBeUVqd1VBO0FBQ0E7RUFFSTtJQUFpQjtFekVtd1VuQjtBQUNGO0F5RWh3VUE7QUFDQTtFQUVJO0lBQWtCO0V6RWt3VXBCO0FBQ0Y7QXlFOXZVQTs2RUFBQTtBQUdBO0VBQWdCO0F6RWd3VWhCOztBeUU3dlVBOzZFQUFBO0FBR0E7Ozs7Ozs7RUFBQTtBQVNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekU4dlVKOztBeUUzdlVBOztFQUFBO0FBSUE7QUFDQTtFQUNJO0VBQ0E7QXpFNnZVSjs7QXlFMXZVQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBekU0dlVKOztBeUV6dlVBOztFQUFBO0FBSUE7RUFBMkI7QXpFNHZVM0I7O0F5RXp2VUE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0lBQW1CO0V6RTJ2VXJCO0FBQ0Y7QXlFenZVQTs7OztFQUFBO0FBTUE7QUFDQTtFQUFxQjtBekUydlVyQjs7QXlFenZVQTtFQUNJO0lBQXFCO0V6RTZ2VXZCO0FBQ0Y7QTBFMTRVQTs7NkVBQUE7QUFNQTs7OztFQUFBO0FBTTRDO0V2RXFJeEMsK0JEN0ptQjtBRmk2VXZCO0FHM3ZVSTs7Ozs7Ozs7Ozs7O0VBRUksV0QzS2U7QUZrN1V2QjtBR253VUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJSSxXRG5MZTtBRnM5VXZCO0FHM3hVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSwrQkQzTGU7RUMrSW5CLG9DRDZSOEI7QUZpa1VsQztBRzF5VUk7RUFBSyxXRHRNYztBRm0vVXZCO0FHdnlVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBV0ksV0R2TmU7QUZvbVZ2QjtBRzcyVUk7RUE1Rm1DLFdEM0poQjtBRnVtVnZCO0FHNTJVSTtFQS9GMEMsK0JEekp2QjtBRnVtVnZCO0FHdjJVSTtFQUNJLDBDRG5IZ0I7QUY0OVV4QjtBR2poVEk7Ozs7Ozs7Ozs7OztFQUVJLCtCRDdpQ3FCO0FGMGtWN0I7QUd6aFRJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUksK0JEbm1DZTtBRjRwVnZCO0FHcmpUSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlJLCtCRDdqQ3FCO0FGa3BWN0I7QUdqbFRJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUksV0R0bkNlO0FGdXVWdkI7QUd6dlRJO0VBQ0ksNkNEOTFCZ0I7QUZ5bFZ4QjtBR3Z2VEk7RUFDSSwyQ0RuMkJnQjtBRjRsVnhCO0FHcnZUSTs7Ozs7Ozs7Ozs7O0VBRUksNkNEejJCZ0I7QUYwbVZ4QjtBR3ZoVUk7RUlodEJBO0FQMHVWSjtBR3JoVUk7Ozs7Ozs7Ozs7OztFQUVJLDZDRDFsQmdCO0FGMm5WeEI7QUc3aFVJO0VBQ0ksMENEL2xCZ0I7QUY4blZ4QjtBRzNoVUk7RUFDSSwyQ0RwbUJnQjtBRmlvVnhCO0FHcnBUSTtFQUE0QjtBSHdwVGhDO0FHdnBUSTtFQUErQjtBSDBwVG5DO0FHenBUSTtFQUE4QjtBSDRwVGxDO0FHM3BUSTtFQUFnQztBSDhwVHBDO0FHNXBUSTtFSTltQ0E7QVA2d1ZKO0FHM3BUSTtFQUNJLDBDRHQvQmdCO0FGbXBWeEI7QUdyclNJO0VBQ0ksMENELzlDZ0I7RUNnK0NoQiw2Q0RoK0NnQjtBRnVwVnhCO0FHenBUSTtFQUF1QywwQ0RodUJUO0FGNDNVbEM7QUdyeFRJO0VBQ0ksK0JEdCtCcUI7QUY2dlY3QjtBR254VEk7Ozs7Ozs7Ozs7OztFQUVJLCtCRDFoQ2U7QUZ5elZ2QjtBRzN4VEk7Ozs7Ozs7Ozs7OztFQUVJLCtCRGhpQ2U7QUZ1MFZ2QjtBRy94VEk7RUFDSSwwQ0Q3bkIwQjtFQzhuQjFCLCtCRDUvQnFCO0FGNnhWN0I7QUc3eFRJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0RwaUIrQjtFQ3FpQi9CLCtCRGpqQ2U7QUYwMVZ2QjtBR3J5VEk7RUFDSSwwQ0R4aUJnQztFQ3lpQmhDLCtCRHZqQ2U7QUY4MVZ2QjtBR3pnVUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksMENENWEwQjtFQzZhMUIsK0JEejFCZTtFQzAxQmY7RUFkb0Isc0NEOXJCSjtBRjR1VnhCO0FHN2hVUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDSSwwQ0RsYnNCO0VDbWJ0QiwrQkQvMUJXO0VDNjBCVyxzQ0Q3MEJYO0FGcTVWdkI7QUc1aVVJO0VBQXlCLCtCRDN6QkE7QUY2MlY3QjtBR2xqVUk7RUFBeUIsK0JEM3pCQTtBRjYyVjdCO0FHbGpVSTtFQUF5QiwrQkQzekJBO0FGNjJWN0I7QUcvaVVJO0VBQTRCLCtCRDl6Qkg7QUZtM1Y3QjtBR3JqVUk7RUFBNEIsK0JEOXpCSDtBRm0zVjdCO0FHcmpVSTtFQUE0QiwrQkQ5ekJIO0FGbTNWN0I7QUcvaVVJO0VJajJCQTtBUG01Vko7QUc1aVVJOzs7Ozs7Ozs7Ozs7RUl2MkJBO0FQaTZWSjtBR25qVUk7Ozs7Ozs7Ozs7OztFQUVJLDBDRDdjd0I7RUMwWkUsc0NEaHNCVjtBRm16VnhCO0FHM2pVSTs7Ozs7Ozs7Ozs7O0VBdkRvQyxzQ0QvMEJqQjtBRis4VnZCO0FHbmtVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSxzQkRsNUJlO0VDbTFCbUIsc0NEaDFCbkI7QUZ5K1Z2QjtBR3JsVUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0kseUJEaGVzQztBRjJrVjlDO0FHdG1VSTtFSTM0QkE7QVBvL1ZKO0FHeG1VSTtFSTU0QkE7QVB1L1ZKO0FHMW1VSTtFSTc0QkE7QVAwL1ZKO0FHMW1VSTtFQS9FOEIsV0RyMUJYO0FGaWhXdkI7QUd4bVVJO0VBQWdCLCtCRHgzQlM7QUZtK1Y3QjtBRzFtVUk7RUFBc0IsK0JEdjZCSDtBRm9oV3ZCO0FHL25WSTtFQUNJLDZCRHpNNEI7RUMwTTVCLFdEMVplO0VDbVllLHNDRGhZZjtBRnloV3ZCO0FHOW5WSTs7Ozs7Ozs7Ozs7O0VBRUksNkJEOU1rQztFQytNbEMsV0RqYWU7RUNvWXFCLGtCRHBZckI7QUY0aVd2QjtBR3ZvVkk7Ozs7Ozs7Ozs7OztFQUVJLDZCRG5ObUM7RUNvTm5DLFdEeGFlO0VDcVlzQixrQkRyWXRCO0FGNGpXdkI7QUc1b1ZJO0VBQ0ksc0JEamJlO0VDa2JmLFdEcmJPO0FGbWtXZjtBRzFvVkk7Ozs7Ozs7Ozs7OztFQUVJLHlCRGhPa0M7RUNpT2xDLFdENWJPO0FGa2xXZjtBR2xwVkk7Ozs7Ozs7Ozs7OztFQUVJLHlCRHJPbUM7RUNzT25DLFdEbmNPO0FGaW1XZjtBR3RwVkk7RUFDSSxzQkR6Y2U7RUMwY2YsV0Q3Y087QUZxbVdmO0FHcHBWSTs7Ozs7Ozs7Ozs7O0VBRUkseUJEbFBvQztFQ21QcEMsV0RwZE87QUZvbldmO0FHNXBWSTs7Ozs7Ozs7Ozs7O0VBRUkseUJEdlBxQztFQ3dQckMsV0QzZE87QUZtb1dmO0FHaHFWSTtFQUNJLFdEamVlO0FGbW9XdkI7QUd0dlZJO0VBQVkseUJEN1lPO0FGc29XdkI7QUdqcVZJOzs7Ozs7Ozs7Ozs7RUFFSSxXRHZlZTtBRm9wV3ZCO0FHenFWSTtFQUNJLCtCRDNicUI7QUZzbVc3QjtBR25xVkk7RUFDSSwrQkRwY3FCO0FGeW1XN0I7QUdqcVZJOzs7Ozs7Ozs7Ozs7RUFDd0IsK0JEdmZMO0FGcXFXdkI7QUdwdlVJO0VBQ0ksMkNEcHlCZ0I7QUYwaFd4QjtBR2x2VUk7RUFDSSwwQ0R6eUJnQjtBRjZoV3hCO0FHemlWSTtFQUNJLCtCRHJsQnFCO0FGZ29XN0I7QUd2aVZJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkR6b0JlO0FGNHJXdkI7QUczaVVJO0VBQ0ksK0JEcG1DcUI7QUZpcFc3QjtBR3ppVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRHhwQ2U7QUY2c1d2QjtBR2pqVUk7RUFDSSxXRGhxQ2U7QUZtdFd2QjtBR2puV0k7RUFDSSxzQkRuR2U7RUNvR2YsV0R2R087QUYwdFdmO0FHL21XSTs7Ozs7Ozs7Ozs7O0VBRUksV0Q3R087QUZ3dVdmO0FHOWpVSTtFQUNJLHNCRHhxQ2U7RUN5cUNmLFdENXFDTztBRjR1V2Y7QUdycFdJO0VBQ0ksK0JEcENxQjtBRjJyVzdCO0FHeGpVSTtFQUFtQiwrQkRqckNBO0FGNHVXdkI7QUd6alVJO0VBQXlDO0FINGpVN0M7QUczalVJO0VBQWdDLCtCRHRvQ1A7QUZvc1c3QjtBRzlqVUk7RUFBZ0MsK0JEdG9DUDtBRm9zVzdCO0FHdmpVSTtFQUE2QiwrQkQ3b0NKO0FGdXNXN0I7QUd6alVJO0VBQW1DLCtCRDlvQ1Y7QUYwc1c3QjtBR3RqVUk7RUFDSSw2QkR4WTRCO0VDdS9CUSxzQ0RwcURwQjtBRjhtV3hCO0FHcmpVSTtFQUNJLDZCRDdZNEI7QUZvOFVwQztBR25qVUk7RUFDSSw2QkRoWjJCO0FGcThVbkM7QUdqalVJO0VBQ0ksNkJEcFowQjtBRnU4VWxDO0FHM2lVSTtFQUNJLCtCRDdxQ3FCO0FGMHRXN0I7QUd6aVVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkRqdUNlO0FGc3hXdkI7QUcxaVVJO0VJM3RDQTtBUHd3V0o7QUd4aVVJO0VJaHVDQTtBUDJ3V0o7QUdyaVVJO0VBQ0ksK0JEMXNDcUI7QUZpdlc3QjtBR25pVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRDl2Q2U7QUY2eVd2QjtBRzNpVUk7RUFDSSxXRHR3Q2U7QUZteld2QjtBR3ppVUk7RUFDSSxXRDN3Q2U7QUZzeld2QjtBR3ZpVUk7RUFDSSwwQ0QvbkNnQjtBRndxV3hCO0FHcmlVSTtFQUFnQywrQkRudUNQO0FGMndXN0I7QUd0aVVJOzs7Ozs7Ozs7Ozs7RUFDc0MsK0JEcHhDbkI7QUZ1MFd2QjtBR2pqVUk7RUFBK0MsV0R6eEM1QjtBRjYwV3ZCO0FHOWlVSTtFQUNJLCtCRC91Q3FCO0FGK3hXN0I7QUc1aVVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkRueUNlO0FGMjFXdkI7QUdwalVJO0VBQ0ksV0QzeUNlO0FGaTJXdkI7QUdsalVJO0VBQ0ksV0RoekNlO0FGbzJXdkI7QUdoalVJO0VBQ0ksMENEcHFDZ0I7QUZzdFd4QjtBRzlpVUk7RUFBZ0MsK0JEeHdDUDtBRnl6VzdCO0FHL2lVSTs7Ozs7Ozs7Ozs7O0VBQ3NDLCtCRHp6Q25CO0FGcTNXdkI7QUcxalVJO0VBQStDLFdEOXpDNUI7QUYyM1d2QjtBR3hqVUk7RUFDSSwrQkRueENxQjtBRjYwVzdCO0FHdGpVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSwrQkR4MENlO0FGbzVXdkI7QUd4a1VJO0VBQ0ksV0RoMUNlO0FGMDVXdkI7QUd0a1VJO0VBQ0ksV0RyMUNlO0FGNjVXdkI7QUdwa1VJO0VBQ0ksK0JEdjFDZTtBRjY1V3ZCO0FHbGtVSTtFQUNJLCtCRDl5Q3FCO0FGazNXN0I7QUdoa1VJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLCtCRG4yQ2U7QUZ5N1d2QjtBRy9rVUk7RUFDSSwrQkQ3ekNxQjtBRjg0VzdCO0FHN2tVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEajNDZTtBRjA4V3ZCO0FHcmxVSTtFQUNJLFdEejNDZTtBRmc5V3ZCO0FHL2tVSTtFQUNJLDJDRGp2Q2dCO0FGazBXeEI7QUd6a1VJO0VBQ0ksNkJEeGdCOEI7RUN5Z0I5QiwrQkQzMUNxQjtBRnM2VzdCO0FHdmtVSTs7Ozs7Ozs7Ozs7O0VBRUksMENEbitCMEI7RUNvK0IxQiwrQkRoNUNlO0FGbStXdkI7QUcva1VJO0VBQ0ksMENEeitCMEI7RUMwK0IxQiwrQkR0NUNlO0FGdStXdkI7QUc3a1VJO0VBQ0ksc0JEOTVDZTtFQys1Q2YsV0RsNkNPO0FGaS9XZjtBR3ZrVUk7RUFDSSwrQkR2M0NxQjtBRmc4VzdCO0FHMXRXSTtFQUNJLCtCRHZPcUI7QUZtOFc3QjtBR3h0V0k7Ozs7Ozs7Ozs7OztFQUVJLCtCRDNSZTtBRisvV3ZCO0FHM3RXSTtFQUNJLCtCRHJTZTtBRmtnWHZCO0FHcnRXSTtFQUNJLCtCRGhRcUI7QUZ1OVc3QjtBR3psVUk7RUFDSSwrQkQvM0NxQjtBRjA5VzdCO0FHdmxVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEbjdDZTtBRnNoWHZCO0FHL2xVSTtFQUNJLCtCRHg3Q2U7QUZ5aFh2QjtBRzdsVUk7RUFDSSwrQkQvNENxQjtBRjgrVzdCO0FHam1USTtFQUFZLHNDRDd5RFE7QUZpNVd4QjtBR3ZsVUk7RUFDSSwrQkQzNUNxQjtBRm8vVzdCO0FHcmxVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JELzhDZTtBRmdqWHZCO0FHN2xVSTtFQUNJLFdEdjlDZTtFQ204RGdCLGtCRG44RGhCO0FGdWpYdkI7QUc1bFVJO0VBQ0ksK0JEMzZDcUI7QUZ5Z1g3QjtBR3ZsVUk7RUFDSSwrQkQzb0JpQjtBRm91VnpCO0FHcmxVSTs7Ozs7Ozs7Ozs7O0VBRUksZ0NEaHBCdUI7QUZpdlYvQjtBRzdsVUk7RUFDSSwrQkRwcEJ3QjtBRm12VmhDO0FHcDBWSTtFQUNJLDZCRDlheUI7RUN1YUU7QUg4MFZuQztBR24wVkk7Ozs7Ozs7Ozs7OztFQUVJLDBDRG5iK0I7RUN1YUU7QUg0MVZ6QztBRzUwVkk7RUFDSSwwQ0R2YmlDO0VDdWFFO0FIKzFWM0M7QUczMFZJO0VBQ0ksMENEM2JnQztFQ3VhRTtBSGsyVjFDO0FHdmxYSTtFSUVBO0FQd2xYSjtBR3hsWEk7RUlBQTtBUDJsWEo7QUd0aVZJO0VBQ0ksK0JEemhDcUI7QUZpa1g3QjtBR3BpVkk7Ozs7Ozs7Ozs7OztFQUVJLCtCRDdrQ2U7QUY2blh2QjtBRzVpVkk7RUFDSSwrQkRsbENlO0FGZ29YdkI7QUc3b1VJO0VBQ0ksK0JEcC9DZTtBRm1vWHZCO0FHM29VSTtFQUNJLCtCRDM4Q3FCO0FGd2xYN0I7QUd6b1VJO0VBQWlCO0FING9VckI7QUczb1VJO0VBQW9CO0FIOG9VeEI7QUc3b1VJO0VBQW1CO0FIZ3BVdkI7QUcvb1VJO0VBQXFCO0FIa3BVekI7QUdqZ1dJO0VBQXFCLGdERG5nQkQ7T0NtZ0JDLDJDRG5nQkQ7QUZ1Z1h4QjtBRzNvVUk7RUFDSSwrQkQzZ0RlO0FGd3BYdkI7QUd6b1VJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkRqaERlO0FGc3FYdkI7QUdqcFVJO0VBQXVEO0FIb3BVM0Q7QUducFVJO0VBQW1CO0FIc3BVdkI7O0EyRS9xWEE7OzZFQUFBO0FBSUE7RUFFSTs7O0lBR0k7SUFDQTtJQUNBO0lBQ0E7RTNFZ3JYTjs7RTJFN3FYRTs7SUFDWTtFM0VpclhkOztFMkUvcVhFOztJQUVJO0lBQ0E7RTNFa3JYTjs7RTJFL3FYRTtJQUFRO0UzRW1yWFY7O0UyRWpyWEU7O0lBQ007RTNFcXJYUjs7RTJFbnJYRTtJQUFNO0UzRXVyWFI7O0UyRXJyWEU7SUFBUTtFM0V5clhWO0UyRXZyWEU7OztJQUdJO0lBQ0E7RTNFeXJYTjs7RTJFdHJYRTs7SUFDSztFM0UwclhQO0FBQ0Y7QTRFM3RYQTtFQUNJLGlCQWxCYztFQW1CZDtFQUNBO0VBQ0E7QTVFNnRYSjs7QTRFMXRYQTtFQUNJLGlCQXhCb0I7RUF5QnBCO0VBQ0E7RUFDQTtBNUU2dFhKOztBNEUxdFhBOztFQUNJLGtDQWxDVztFQW1DWDtFQUNBO0VBQ0E7RUFDQSxjNUVwQ0k7QUFrd1hSOztBNEUzdFhBO0VBQ0ksa0NBMUNXO0VBMkNYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFOHRYSjtBNEU1dFhJO0VBUko7SUFTUTtJQUNBO0U1RSt0WE47QUFDRjtBNEU3dFhJO0VBYko7SUFjUTtJQUNBO0U1RWd1WE47QUFDRjtBNEU5dFhJO0VBbEJKO0lBbUJRO0lBQ0E7RTVFaXVYTjtBQUNGOztBNEU5dFhBO0VBQ0ksa0NBbEVXO0VBbUVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUVpdVhKO0E0RS90WEk7RUFUSjtJQVVRO0lBQ0E7RTVFa3VYTjtBQUNGO0E0RWh1WEk7RUFkSjtJQWVRO0lBQ0E7RTVFbXVYTjtBQUNGOztBNEVodVhBO0VBQ0ksa0NBdEZXO0VBdUZYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFbXVYSjtBNEVqdVhJO0VBUko7SUFTUTtJQUNBO0U1RW91WE47QUFDRjtBNEVsdVhJO0VBYko7SUFjUTtJQUNBO0U1RXF1WE47QUFDRjs7QTRFbHVYQTtFQUNJLGtDQXpHVztFQTBHWDtFQUNBO0VBQ0E7RUFDQTtBNUVxdVhKOztBNEVsdVhBO0VBQ0ksa0NBakhXO0VBa0hYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjNUVqSEk7QUFzMVhSOztBNkU1MVhBO0VBQ0k7QTdFKzFYSjs7QTZFNTFYQTs7RUFHSSxjN0VMSTtBQW0yWFI7O0E2RTMxWEE7RUFDSTtBN0U4MVhKOztBNkUzMVhBO0VBQ0k7QTdFODFYSjs7QTZFMzFYQTtFQUNJO0E3RTgxWEo7O0E2RTMxWEE7RUFFSSxjN0V0Qkk7QUFtM1hSOztBNkUxMVhBO0VBRUksYzdFMUJJO0FBczNYUjs7QTZFejFYQTtFQUVJLGM3RWhDSTtBQTIzWFI7O0E2RXgxWEE7RUFFSSxjN0VyQ0k7QUErM1hSOztBNkV2MVhBO0VBRUksYzdFMUNJO0FBbTRYUjs7QTZFdDFYQTtFQUVJLGM3RS9DSTtBQXU0WFI7O0E2RXowWEE7RUFDSTtBN0U0MFhKOztBNkV6MFhBO0VBQ0ksYzdFbkVJO0FBKzRYUjs7QTZFejBYQTtFQUNJO0VBQ0E7RUFDQSxjN0VyRUk7QUFpNVhSOztBNkV6MFhBO0VBQ0k7QTdFNDBYSjs7QTZFeDBYQTtFQUNJO0E3RTIwWEo7O0E2RXgwWEE7RUFDSTtBN0UyMFhKOztBNkV4MFhBO0VBQ0ksbUI3RTFGSTtFNkUyRko7RUFDQTtBN0UyMFhKOztBNkV4MFhBO0VBQ0ksbUI3RTVGSTtBQXU2WFI7O0E4RTc2WEE7RUFDSTtFQUNBO0E5RWc3WEo7O0E4RTc2WEE7RUFDSTtFQUNBO0VBQ0E7QTlFZzdYSjtBOEU5NlhJO0VBQ0k7QTlFZzdYUjs7QThFNTZYQTtFQUNJLHlCOUVWSTtFOEVXSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFKzZYSjtBOEU3NlhJO0VBQ0ksYzlFdEJBO0FBcThYUjtBOEU1NlhJO0VBQ0k7QTlFODZYUjtBOEU1NlhRO0VBQ0k7RUFDQSx5QjlFM0JKO0U4RTRCSSxjOUUvQko7RThFZ0NJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUU4NlhaO0E4RTU2WFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUU4NlhoQjtBOEV6NlhJO0VBQ0k7QTlFMjZYUjtBOEV4NlhJO0VBQ0k7RUFDQTtFQUNBO0E5RTA2WFI7QThFeDZYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUUwNlhaOztBOEVyNlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlFdzZYSjs7QThFcjZYQTtFQUNJO0VBQ0E7RUFDQTtBOUV3NlhKO0E4RXQ2WEk7RUFDSTtFQUNBO0E5RXc2WFI7O0E4RXA2WEE7RUFDSTtFQUNBO0E5RXU2WEo7O0E4RXA2WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QjlFbEdJO0FBeWdZUjtBOEVwNlhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFMUdKO0U4RTJHSTtFQUNBO0VBQ0E7QTlFczZYWjtBOEVsNlhJO0VBQ0k7QTlFbzZYUjs7QThFaDZYQTtFQUNJO0VBQ0E7QTlFbTZYSjs7QThFaDZYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RW02WEo7QThFajZYSTtFQUNJO0VBQ0E7QTlFbTZYUjtBOEVqNlhRO0VBQ0k7QTlFbTZYWjtBOEVoNlhRO0VBQ0k7QTlFazZYWjtBOEVoNlhZO0VBQ0k7QTlFazZYaEI7QThFLzVYWTtFQUNJO0VBQ0E7QTlFaTZYaEI7QThFLzVYZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFaTZYcEI7QThFNzVYWTtFQUNJO0E5RSs1WGhCO0E4RTc1WGdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUV2S1o7RThFd0tZO0VBQ0E7QTlFKzVYcEI7QThFMTVYZ0I7RUFDSTtBOUU0NVhwQjtBOEV6NVhnQjtFQUNJO0E5RTI1WHBCO0E4RXQ1WFE7RUFDSSxjOUU3TEo7QUFxbFlSOztBOEVsNVhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUVyTUE7RThFc01BO0VBQ0E7QTlFcTVYUjtBOEVqNVhRO0VBQ0k7QTlFbTVYWjs7QThFLzRYQTtFQUNJO0VBQ0E7QTlFazVYSjs7QThFLzRYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RWs1WEo7QThFaDVYSTtFQUNJO0E5RWs1WFI7O0E4RTk0WEE7RUFDSTtFQUNBO0VBQ0E7QTlFaTVYSjs7QThFOTRYQTtFQUNJO0VBQ0E7RUFDQTtBOUVpNVhKO0E4RS80WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFaTVYUjs7QThFNzRYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUI5RTlQUztFOEUrUFQ7RUFDQTtBOUVnNVhKO0E4RTk0WEk7RUFDSTtBOUVnNVhSO0E4RTc0WEk7RUFDSSxjOUU3UUE7QUE0cFlSOztBOEV6NFhJO0VBQ0k7QTlFNDRYUjtBOEV6NFhJO0VBQ0k7RUFDQTtBOUUyNFhSOztBOEV2NFhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUUwNFhKO0E4RXg0WEk7RUFDSTtBOUUwNFhSOztBOEVwNFhBO0VBQ0k7RUFDQTtBOUV1NFhKO0E4RXI0WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjOUU5U0Q7RThFK1NDO0E5RXU0WFI7QThFcjRYUTtFQUNJO0VBQ0EseUI5RXhUSjtFOEV5VEk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RXU0WFo7QThFcDRYUTtFQUNJLGM5RWpVSjtFOEVrVUk7QTlFczRYWjtBOEVuNFhRO0VBQ0k7RUFDQSxjOUV2VUo7QUE0c1lSO0E4RWo0WEk7RUFDSTtBOUVtNFhSO0E4RWo0WFE7RUFDSTtFQUNBLHlCOUVqVko7RThFa1ZJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVtNFhaOztBOEU5M1hBO0VBQ0k7QTlFaTRYSjs7QThFOTNYQTtFQUNJO0VBQ0E7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlFaTRYSjs7QThFOTNYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUI5RWxYSTtBQW12WVI7O0E4RTkzWEE7RUFDSTtFQUNBO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCOUUxWVk7RThFMllaO0VBQ0E7RUFDQTtBOUVpNFhKO0E4RS8zWEk7RUFDSTtBOUVpNFhSOztBOEU3M1hBO0VBQ0ksYzlFblpJO0U4RW9aSjtFQUNBO0E5RWc0WEo7QThFOTNYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWc0WFI7QThFNzNYSTtFQUNJO0VBQ0E7RUFDQTtBOUUrM1hSO0E4RTczWFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RSszWFo7QThFMzNYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFNjNYUjtBOEUzM1hRO0VBQ0k7QTlFNjNYWjtBOEUzM1hZO0VBQ0k7QTlFNjNYaEI7QThFMTNYWTtFQUNJLGM5RXpjUjtFOEUwY1EseUI5RXpjUjtFOEUwY1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUU0M1hoQjtBOEUxM1hnQjtFQUNJLHlCOUU1Y1A7QUF3MFliO0E4RXYzWFE7RUFDSSx5QjlFdmRKO0U4RXdkSTtBOUV5M1haO0E4RXAzWFE7RUFDSTtBOUVzM1haO0E4RW4zWFE7RUFDSTtFQUNBO0E5RXEzWFo7O0E4RTkyWFE7RUFDSTtBOUVpM1haO0E4RTcyWEk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QjlFbmZBO0U4RW9mQTtFQUNBO0VBQ0E7QTlFKzJYUjtBOEU3MlhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUUzZko7RThFNGZJO0E5RSsyWFo7QThFNTJYUTtFQUNJO0VBQ0E7RUFDQTtBOUU4MlhaO0E4RTUyWFk7RUFDSTtFQUNBO0VBQ0E7QTlFODJYaEI7QThFNTJYZ0I7RUFDSSx5QjlFeGdCUDtBQXMzWWI7O0E4RXYyWEE7RUFDSTtFQUNBO0E5RTAyWEo7O0E4RXYyWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUUwMlhKOztBOEV2MlhBO0VBQ0k7QTlFMDJYSjtBOEV4MlhJO0VBQ0ksYzlFcmlCQTtBQSs0WVI7QThFeDJYUTtFQUNJO0E5RTAyWFo7QThFdjJYUTtFQUNJO0E5RXkyWFo7QThFdjJYWTtFQUNJO0E5RXkyWGhCOztBOEVsMlhBO0VBQ0k7SUFDSTtFOUVxMlhOO0FBQ0Y7QThFajJYQTtFQUNJO0lBQ0k7RTlFbTJYTjtBQUNGO0E4RWgyWEE7RUFDSTtJQUNJO0U5RWsyWE47O0U4RS8xWEU7SUFDSTtJQUNBO0U5RWsyWE47O0U4RS8xWEU7SUFDSTtFOUVrMlhOOztFOEUvMVhFO0lBQ0k7RTlFazJYTjs7RThFLzFYRTtJQUNJO0lBQ0E7RTlFazJYTjs7RThFLzFYRTtJQUNJO0U5RWsyWE47QUFDRjtBOEUvMVhBO0VBQ0k7SUFDSTtFOUVpMlhOOztFOEU5MVhFO0lBQ0U7RTlFaTJYSjs7RThFOTFYRTtJQUNJO0U5RWkyWE47O0U4RTkxWEU7SUFDSTtFOUVpMlhOOztFOEU5MVhFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLHlCOUVybkJBO0k4RXNuQkE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RWkyWE47RThFLzFYTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUVpMlhWO0U4RTcxWE07SUFDSTtFOUUrMVhWOztFOEUzMVhFO0lBQ0k7SUFDQTtFOUU4MVhOO0U4RTUxWE07SUFDSTtJQUNBO0U5RTgxWFY7RThFMzFYTTtJQUNJO0lBQ0EsYzlFM3BCSjtFQXcvWU47O0U4RXoxWEU7SUFDSTtFOUU0MVhOO0U4RTExWE07SUFDSTtJQUNBO0lBQ0E7RTlFNDFYVjtFOEUxMVhVO0lBQ0k7RTlFNDFYZDtFOEV6MVhVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUUyMVhkO0U4RXoxWGM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUUyMVhsQjs7RThFcjFYRTtJQUNJO0lBQ0E7SUFDQSx5QjlFcHNCQTtJOEVxc0JBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUV3MVhOO0U4RXQxWE07SUFDSTtFOUV3MVhWOztFOEVwMVhFO0lBQ0k7SUFDQTtJQUNBO0lBQ0EseUI5RXp0QkE7SThFMHRCQTtJQUNBO0lBQ0EsYzlFM3RCQTtJOEU0dEJBO0lBQ0E7SUFDQTtJQUNBO0U5RXUxWE47RThFcjFYTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFdTFYVjtFOEVyMVhVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFdTFYZDs7RThFbDFYRTtJQUNJO0lBQ0E7RTlFcTFYTjtFOEVuMVhNO0lBQ0k7SUFDQTtJQUNBO0U5RXExWFY7RThFbjFYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFcTFYZDs7RThFaDFYRTtJQUNJO0U5RW0xWE47O0U4RWgxWEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBLHNCOUV4eEJRO0k4RXl4QlI7SUFDQTtJQUNBO0U5RW0xWE47RThFajFYTTtJQUNJO0U5RW0xWFY7O0U4RS8wWEU7SUFDSTtJQUNBO0U5RWsxWE47RThFaDFYTTtJQUNJO0lBQ0E7RTlFazFYVjs7RThFOTBYRTtJQUNJO0lBQ0E7RTlFaTFYTjs7RThFOTBYRTtJQUNJO0lBQ0E7RTlFaTFYTjs7RThFOTBYRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0U5RWkxWE47O0U4RTUwWFU7SUFDSTtFOUUrMFhkO0FBQ0Y7QThFMTBYQTtFQUNJO0lBQ0k7RTlFNDBYTjtBQUNGO0E4RXowWEE7RUFFUTtJQUNJO0U5RTAwWFY7O0U4RXQwWEU7SUFDSTtFOUV5MFhOOztFOEV0MFhFO0lBQ0k7RTlFeTBYTjtFOEV2MFhNO0lBQ0k7RTlFeTBYVjtFOEVyMFhNO0lBQ0k7SUFDQSx5QjlFNTFCSjtJOEU2MUJJLGM5RWgyQko7SThFaTJCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFdTBYVjtFOEVyMFhVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RTlFdTBYZDs7RThFbDBYRTtJQUNJO0U5RXEwWE47O0U4RWwwWEU7SUFDSTtJQUNBO0lBQ0E7RTlFcTBYTjs7RThFbDBYRTtJQUNJO0lBQ0E7SUFDQTtFOUVxMFhOOztFOEVsMFhFO0lBQ0k7SUFDQTtFOUVxMFhOOztFOEVsMFhFO0lBQ0k7RTlFcTBYTjs7RThFbDBYRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFcTBYTjtFOEVuMFhNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFcTBYVjs7RThFajBYRTtJQUNJO0U5RW8wWE47O0U4RWowWEU7SUFDSTtJQUNBO0U5RW8wWE47O0U4RWowWEU7SUFDSTtFOUVvMFhOOztFOEVqMFhFO0lBQ0k7RTlFbzBYTjs7RThFajBYRTtJQUNJO0lBQ0E7SUFDQTtFOUVvMFhOOztFOEVqMFhFO0lBQ0k7RTlFbzBYTjtBQUNGO0E4RWowWEE7RUFDSTtJQUNFO0U5RW0wWEo7QUFDRjtBK0Vwd1pBO0VBQ0k7RUFDQTtBL0Vzd1pKOztBK0Vud1pBO0VBQ0k7RUFDQSx5Qi9FQ1M7QUFxd1piOztBK0Vud1pBO0VBQ0k7RUFDQTtFQUNBO0EvRXN3Wko7QStFcHdaSTtFQUNJO0EvRXN3WlI7O0ErRWx3WkE7RUFDSTtFQUNBO0EvRXF3Wko7QStFbndaSTtFQUNJO0VBQ0E7QS9FcXdaUjs7QStFandaQTtFQUNJO0EvRW93Wko7O0ErRWp3WkE7RUFDSTtFQUNBO0VBQ0E7QS9Fb3daSjs7QStFandaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRW93Wko7QStFbHdaSTtFQUNJO0EvRW93WlI7O0ErRWh3WkE7RUFDSSx5Qi9FckRJO0UrRXNESjtFQUNBLGMvRXRESTtFK0V1REo7QS9FbXdaSjtBK0Vqd1pJO0VBQ0ksYy9FMURBO0FBNnpaUjs7QStFL3ZaQTtFQUNJO0VBQ0E7RUFDQTtBL0Vrd1pKOztBK0UvdlpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsYy9FeEVJO0FBMDBaUjtBK0Vod1pJO0VBQ0k7RUFDQSx5Qi9FekVBO0UrRTBFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Fa3daUjs7QStFOXZaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRWl3Wko7QStFL3ZaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCL0U3RkE7RStFOEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FaXdaUjtBK0U5dlpJO0VBQ0k7QS9FZ3daUjtBK0U3dlpJO0VBQ0k7RUFDQTtBL0UrdlpSO0ErRTN2WlE7RUFDSTtBL0U2dlpaO0ErRTF2WlE7RUFDSTtBL0U0dlpaOztBK0V2dlpBO0VBQ0ksYy9FMUhJO0UrRTJISjtFQUNBO0EvRTB2Wko7O0ErRXZ2WkE7RUFDSTtBL0UwdlpKOztBK0V2dlpBO0VBQ0ksYy9FcElJO0UrRXFJSjtFQUNBO0VBQ0E7QS9FMHZaSjs7QStFdnZaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRTB2Wko7QStFeHZaSTtFQUNJO0EvRTB2WlI7QStFeHZaUTtFQUNJO0EvRTB2Wlo7QStFcnZaUTtFQUNJO0EvRXV2Wlo7QStFcnZaWTtFQUNJO0VBQ0E7QS9FdXZaaEI7QStFcnZaZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRXV2WnBCO0ErRW52Wlk7RUFDSSxjL0VoTFI7QUFxNlpSOztBK0U5dVpJO0VBQ0k7QS9FaXZaUjtBK0U5dVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9FZ3ZaUjtBK0U5dVpRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VndlpaO0ErRTV1Wlk7RUFDSTtFQUNBO0VBQ0E7QS9FOHVaaEI7QStFM3VaWTtFQUNJO0EvRTZ1WmhCO0ErRXh1Wlk7RUFDSTtFQUNBO0VBQ0E7QS9FMHVaaEI7QStFdnVaWTtFQUNJO0EvRXl1WmhCO0ErRXB1Wlk7RUFDSTtFQUNBO0VBQ0E7QS9Fc3VaaEI7QStFbnVaWTtFQUNJO0EvRXF1WmhCO0ErRWh1Wlk7RUFDSTtFQUNBO0VBQ0E7QS9Fa3VaaEI7QStFL3RaWTtFQUNJO0EvRWl1WmhCO0ErRTV0Wlk7RUFDSTtFQUNBO0VBQ0E7QS9FOHRaaEI7QStFM3RaWTtFQUNJO0EvRTZ0WmhCOztBK0V0dFpBO0VBQ0k7QS9FeXRaSjs7QStFdHRaQTtFQUNJO0EvRXl0Wko7O0ErRXR0WkE7RUFDSTtBL0V5dFpKO0ErRXZ0Wkk7RUFDSTtBL0V5dFpSOztBK0VydFpBO0VBQ0k7QS9Fd3RaSjs7QStFcnRaQTtFQUNJO0VBQ0E7RUFDQTtBL0V3dFpKOztBK0VydFpBO0VBQ0k7RUFDQTtFQUNBO0EvRXd0Wko7QStFdHRaSTtFQUNJO0EvRXd0WlI7QStFbnRaUTtFQUNJO0EvRXF0Wlo7QStFbHRaUTtFQUNJO0VBQ0E7S0FBQTtFQUNBO0EvRW90Wlo7O0ErRS9zWkE7RUFDSTtBL0VrdFpKOztBK0Uvc1pBO0VBQ0k7RUFDQTtFQUNBO0EvRWt0Wko7O0ErRS9zWkE7RUFDSTtJQUNJO0UvRWt0Wk47QUFDRjtBK0Uvc1pBO0VBQ0k7SUFDSTtFL0VpdFpOOztFK0U5c1pFO0lBQ0k7RS9FaXRaTjs7RStFOXNaRTtJQUNJO0UvRWl0Wk47O0UrRTlzWkU7SUFDSTtFL0VpdFpOOztFK0U5c1pFO0lBQ0k7RS9FaXRaTjs7RStFOXNaRTtJQUNJO0lBQ0E7RS9FaXRaTjtBQUNGO0ErRTlzWkE7RUFDSTtJQUNJO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtJQUNBO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7RS9FZ3RaTjs7RStFN3NaRTtJQUNJO0lBQ0E7RS9FZ3RaTjs7RStFN3NaRTtJQUNJO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7SUFDQTtJQUNBO0UvRWd0Wk47RStFOXNaTTtJQUNJO0lBQ0E7RS9FZ3RaVjtBQUNGO0ErRTVzWkE7RUFDSTtJQUNJO0UvRThzWk47O0UrRTNzWkU7SUFDSTtFL0U4c1pOOztFK0Uzc1pFO0lBQ0k7RS9FOHNaTjs7RStFM3NaRTtJQUNJO0UvRThzWk47O0UrRTNzWkU7SUFDSTtFL0U4c1pOOztFK0Uzc1pFO0lBQ0k7SUFDQTtFL0U4c1pOO0UrRTVzWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRThzWlY7RStFM3NaTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRTZzWlY7RStFMXNaTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0UvRTRzWlY7RStFMXNaVTtJQUNJO0UvRTRzWmQ7RStFenNaVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FMnNaZDtFK0V0c1pVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRXdzWmQ7RStFcnNaVTtJQUNJO0UvRXVzWmQ7O0UrRWxzWkU7SUFDSTtJQUNBO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0lBQ0E7SUFDQTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7SUFDQTtJQUNBO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47RStFbnNaTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FcXNaVjs7RStFaHNaRTtJQUNJO0UvRW1zWk47O0UrRS9yWkU7SUFDSTtJQUNBO0UvRWtzWk47O0UrRS9yWkU7SUFDSTtFL0Vrc1pOO0FBQ0Y7QWdGdnZhQTtFQUNJLHlCaEZDSTtFZ0ZBSixjaEZDSTtFZ0ZBSjtBaEZ5dmFKOztBZ0Z0dmFBO0VBQ0k7RUFDQTtFQUNBLGNoRkZHO0VnRkdIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXZhSjtBZ0Z2dmFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXZhUjtBZ0Z0dmFJO0VBQ0k7RUFDQSx5QmhGNUJBO0VnRjZCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FoRnd2YVI7QWdGcnZhSTtFQUNJLGNoRjFDQTtBQWl5YVI7QWdGcnZhUTtFQUNJO0FoRnV2YVo7O0FnRmx2YUE7RUFDSSxjaEZwREk7QUF5eWFSO0FnRm52YUk7RUFDSTtBaEZxdmFSOztBZ0ZqdmFBO0VBQ0k7RUFDQTtFQUNBO0FoRm92YUo7O0FnRmp2YUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZvdmFKO0FnRmx2YUk7RUFDSTtBaEZvdmFSOztBZ0ZodmFBO0VBQ0k7RUFDQTtBaEZtdmFKOztBZ0ZodmFBO0VBQ0k7RUFDQTtFQUNBO0FoRm12YUo7QWdGanZhSTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFDQTtBaEZtdmFSOztBZ0YvdWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmt2YUo7O0FnRi91YUE7RUFDSTtBaEZrdmFKO0FnRmh2YUk7RUFDSTtFQUNBLHlCaEZ2R0s7RWdGd0dMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrdmFSOztBZ0Y5dWFBO0VBRUksY2hGeEhJO0VnRnlISjtFQUNBO0VBQ0E7RUFDQTtBaEZndmFKO0FnRjl1YUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGdElBO0VnRnVJQTtBaEZndmFSO0FnRjd1YUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEYzSUE7RWdGNElBO0VBQ0E7RUFDQztBaEYrdWFUO0FnRjV1YUk7RUFDSTtFQUNBO0FoRjh1YVI7O0FnRjF1YUE7RUFDSSxjaEYzSkk7QUF3NGFSO0FnRjN1YUk7RUFDSSxjaEYzSkE7QUF3NGFSOztBZ0Z6dWFBO0VBQ0ksY2hGbktJO0FBKzRhUjs7QWdGenVhQTtFQUNJLGNoRnBLSTtFZ0ZxS0o7QWhGNHVhSjs7QWdGenVhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjR1YUo7QWdGMXVhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRm5MQTtFZ0ZvTEE7RUFDQTtBaEY0dWFSOztBZ0Z4dWFBO0VBQ0k7QWhGMnVhSjs7QWdGeHVhQTtFQUNJO0FoRjJ1YUo7O0FnRnh1YUE7RUFDSSxjaEZsTUk7RWdGbU1KO0FoRjJ1YUo7O0FnRnh1YUE7RUFDSTtBaEYydWFKOztBZ0Z4dWFBO0VBQ0U7RUFDQTtBaEYydWFGOztBZ0Z4dWFBO0VBQ0k7QWhGMnVhSjs7QWdGeHVhQTtFQUNJO0VBQ0E7QWhGMnVhSjtBZ0Z6dWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjlOQTtFZ0YrTkE7QWhGMnVhUjtBZ0Z4dWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjdPQTtFZ0Y4T0E7QWhGMHVhUjs7QWdGdHVhQTtFQUNJO0VBQ0EseUJoRmhQSTtFZ0ZpUEosY2hGcFBJO0FBNjlhUjtBZ0Z2dWFJO0VBQ0k7QWhGeXVhUjs7QWdGcnVhQTtFQUNJO0VBQ0E7RUFDQTtBaEZ3dWFKO0FnRnR1YUk7RUFDSSxjaEZqUUE7RWdGa1FBO0FoRnd1YVI7O0FnRnB1YUE7RUFDSTtFQUNBO0FoRnV1YUo7QWdGcnVhSTtFQUNJO0VBQ0E7QWhGdXVhUjtBZ0ZydWFRO0VBQ0k7RUFDQTtFQUNBO0tBQUE7RUFDQTtBaEZ1dWFaO0FnRm51YUk7RUFDSSx5QmhGdlJBO0VnRndSQTtFQUNBLGNoRjFSQTtFZ0YyUkE7QWhGcXVhUjtBZ0ZudWFRO0VBQ0k7QWhGcXVhWjs7QWdGaHVhQTtFQUNJO0FoRm11YUo7O0FnRjl0YUk7RUFDSTtBaEZpdWFSOztBZ0Y3dGFBO0VBQ0k7RUFDQTtBaEZndWFKO0FnRjl0YUk7RUFDSTtBaEZndWFSOztBZ0Y1dGFBO0VBQ0k7QWhGK3RhSjs7QWdGNXRhQTtFQUNJO0VBQ0E7RUFDQTtFQUVBOzs7Ozs7Ozs7SUFBQTtFQVdBOzs7Ozs7Ozs7SUFBQTtBaEZzdWFKO0FnRjN0YUk7RUFDSTtFQUNBO0FoRjZ0YVI7O0FnRnp0YUE7RUFDSTtFQUNBLGNoRjdWSTtFZ0Y4Vko7RUFDQTtBaEY0dGFKO0FnRjF0YUk7RUFDSSxjaEZsV0E7RWdGbVdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGNHRhUjtBZ0Z6dGFJO0VBQ0kseUJoRjVXQTtBQXVrYlI7QWdGeHRhSTtFQUNJLHlCaEY1V0E7QUFza2JSO0FnRnZ0YUk7RUFDSTtFQUNBO0FoRnl0YVI7QWdGdnRhUTtFQUNJO0VBQ0E7RUFDQTtBaEZ5dGFaO0FnRnJ0YUk7RUFDSTtBaEZ1dGFSOztBZ0ZsdGFJO0VBQ0k7QWhGcXRhUjtBZ0ZqdGFRO0VBQ0k7RUFDQTtBaEZtdGFaO0FnRmh0YVE7RUFDSTtFQUNBO0FoRmt0YVo7QWdGN3NhWTtFQUNJO0VBQ0E7QWhGK3NhaEI7QWdGM3NhUTtFQUNJO0FoRjZzYVo7O0FnRnZzYUk7RUFDSTtFQUNBO0FoRjBzYVI7O0FnRnRzYUE7RUFDSSx5QmhGbmFTO0VnRm9hVDtFQUNBO0VBRUE7Ozs7Ozs7OztJQUFBO0FoRml0YUo7QWdGdHNhSTtFQUNJO0VBQ0E7QWhGd3NhUjs7QWdGcHNhQTtFQUNJO0VBQ0E7QWhGdXNhSjs7QWdGcHNhQTtFQUNJO0FoRnVzYUo7QWdGcnNhSTtFQUNJO0VBQ0E7QWhGdXNhUjs7QWdGbnNhQTtFQUVJO0FoRnFzYUo7QWdGbnNhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRnFzYVI7QWdGbnNhUTtFQUNJO0VBQ0E7QWhGcXNhWjs7QWdGaHNhQTtFQUNJO0FoRm1zYUo7QWdGanNhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRmhlRDtFZ0ZpZUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZtc2FSOztBZ0YvcmFBO0VBQ0k7QWhGa3NhSjs7QWdGL3JhQTtFQUNJO0VBQ0E7QWhGa3NhSjs7QWdGL3JhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGdmZHO0FBeXJiUDtBZ0Zoc2FJO0VBQ0ksY2hGL2ZBO0VnRmdnQkE7QWhGa3NhUjs7QWdGOXJhQTtFQUNJO0FoRmlzYUo7O0FnRjlyYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpc2FKO0FnRi9yYUk7RUFDSTtFQUNBLHlCaEY1Z0JBO0VnRjZnQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGaXNhUjs7QWdGMXJhUTtFQUNJLHlCaEYzaEJKO0FBd3RiUjtBZ0Z4cmFRO0VBQ0k7RUFDQTtBaEYwcmFaO0FnRnZyYVE7RUFDSTtFQUNBO0VBQ0E7QWhGeXJhWjtBZ0Z2cmFZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ5cmFoQjs7QWdGbHJhSTtFQUNJO0FoRnFyYVI7O0FnRmpyYUE7RUFDSTtBaEZvcmFKOztBZ0ZqcmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZvcmFKO0FnRmxyYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZvcmFSOztBZ0ZocmFBO0VBQ0k7QWhGbXJhSjtBZ0ZqcmFJO0VBQ0k7QWhGbXJhUjtBZ0ZocmFJO0VBQ0k7RUFDQTtFQUNBO0FoRmtyYVI7QWdGaHJhUTtFQUNJO0VBQ0E7QWhGa3JhWjtBZ0ZocmFZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmtyYWhCOztBZ0Y1cWFBO0VBQ0k7RUFDQTtBaEYrcWFKOztBZ0Y1cWFBO0VBQ0k7QWhGK3FhSjtBZ0Y3cWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK3FhUjtBZ0Y3cWFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK3FhWjtBZ0YzcWFZO0VBQ0k7QWhGNnFhaEI7QWdGenFhUTtFQUNJO0VBQ0E7QWhGMnFhWjs7QWdGdHFhQTtFQUNJO0FoRnlxYUo7O0FnRnRxYUE7RUFDSTtBaEZ5cWFKOztBZ0Z0cWFBO0VBQ0k7QWhGeXFhSjs7QWdGdHFhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ5cWFKO0FnRnZxYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXFhUjs7QWdGcnFhQTtFQUNJO0FoRndxYUo7O0FnRnJxYUE7RUFDSTtFQUNBO0FoRndxYUo7O0FnRnJxYUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjVzQkk7RWdGNnNCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnVxYUo7O0FnRnBxYUE7RUFFSTtFQUNBO0VBQ0E7QWhGc3FhSjs7QWdGbnFhQTtFQUVJO0FoRnFxYUo7O0FnRmxxYUE7RUFDSTtBaEZxcWFKO0FnRm5xYUk7RUFDSTtBaEZxcWFSO0FnRmxxYUk7RUFDSTtBaEZvcWFSOztBZ0ZocWFBO0VBQ0k7RUFDQTtFQUNBO0FoRm1xYUo7QWdGanFhSTtFQUNJO0FoRm1xYVI7QWdGaHFhSTtFQUNJO0VBQ0E7QWhGa3FhUjs7QWdGOXBhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRmlxYUo7O0FnRjlwYUE7RUFDSTtFQUNBO0FoRmlxYUo7QWdGL3BhSTtFQUNJO0FoRmlxYVI7O0FnRjVwYUk7RUFDSTtFQUNBO0FoRitwYVI7QWdGNXBhSTtFQUNJO0VBQ0E7QWhGOHBhUjtBZ0Y1cGFRO0VBQ0k7RUFDQTtFQUNBO0tBQUE7RUFDQTtBaEY4cGFaO0FnRnpwYVE7RUFDSTtBaEYycGFaOztBZ0Z0cGFBO0VBQ0kseUJoRnp5QlM7RWdGMHlCVDtBaEZ5cGFKO0FnRnZwYUk7RUFDSTtFQUNBO0FoRnlwYVI7QWdGdHBhSTtFQUNJLGNoRm56QkQ7QUEyOGJQOztBZ0ZwcGFBO0VBQ0k7RUFDQTtBaEZ1cGFKOztBZ0ZucGFJO0VBQ0k7RUFDQTtBaEZzcGFSOztBZ0ZscGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGNTBCSTtFZ0Y2MEJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZxcGFKO0FnRm5wYUk7RUFDSTtFQUNBO0VBQ0E7QWhGcXBhUjs7QWdGanBhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGb3BhSjtBZ0ZscGFJO0VBQ0k7QWhGb3BhUjtBZ0ZqcGFJO0VBQ0k7QWhGbXBhUjs7QWdGL29hQTtFQUNJO0FoRmtwYUo7QWdGaHBhSTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0FoRmtwYVI7O0FnRjlvYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpcGFKO0FnRi9vYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmlwYVI7O0FnRjdvYUE7RUFDSTtFQUNBO0VBQ0E7QWhGZ3BhSjtBZ0Y5b2FJO0VBQ0k7RUFDQTtFQUNBO0FoRmdwYVI7O0FnRjVvYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCaEYxNUJZO0VnRjI1Qlo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrb2FKO0FnRjdvYUk7RUFDSTtFQUNBO0VBQ0E7QWhGK29hUjs7QWdGMW9hQTtFQUNJLGNoRng2Qkk7RWdGeTZCSjtBaEY2b2FKOztBZ0Z0b2FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZ4N0JJO0FBaWtjUjtBZ0Z2b2FJO0VBQ0kseUJoRnI3Qkk7RWdGczdCSixjaEY1N0JBO0FBcWtjUjs7QWdGcm9hQTtFQUNJO0VBQ0E7QWhGd29hSjs7QWdGcm9hQTtFQUNJLHlCaEZqOEJTO0VnRms4QlQ7RUFDQTtBaEZ3b2FKOztBZ0Zyb2FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJoRjc4Qks7RWdGODhCTCxjaEZoOUJJO0VnRmk5Qko7RUFDQTtFQUNBO0FoRndvYUo7O0FnRnBvYUk7RUFDSTtBaEZ1b2FSOztBZ0Zsb2FJO0VBQ0k7RUFDQTtFQUNBO0FoRnFvYVI7O0FnRmhvYUk7RUFDSSx5QmhGdCtCQTtFZ0Z1K0JBO0FoRm1vYVI7O0FnRi9uYUE7RUFDSSx5QmhGNStCSTtBQThtY1I7O0FnRi9uYUE7RUFDSSx5QmhGNytCSTtFZ0Y4K0JKO0VBQ0E7QWhGa29hSjtBZ0Zob2FJO0VBQ0k7RUFDQSx5QmhGdi9CQTtFZ0Z3L0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrb2FSOztBZ0Y5bmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaW9hSjtBZ0YvbmFJO0VBQ0k7RUFDQSx5QmhGeGdDQTtFZ0Z5Z0NBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZpb2FSOztBZ0Y3bmFBO0VBQ0k7RUFDQTtFQUNBLGNoRnJoQ0k7RWdGc2hDSjtFQUNBO0VBQ0E7QWhGZ29hSjtBZ0Y5bmFJO0VBQ0ksY2hGeGhDQTtBQXdwY1I7QWdGN25hSTtFQUNJLGNoRi9oQ0E7QUE4cGNSOztBZ0YzbmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGOG5hSjs7QWdGMW5hSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEY2bmFSOztBZ0Z6bmFBO0VBQ0k7RUFDQTtBaEY0bmFKOztBZ0Z6bmFBO0VBQ0k7QWhGNG5hSjtBZ0YxbmFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJoRi9qQ0s7RWdGZ2tDTDtFQUNBO0VBQ0E7RUFDQTtBaEY0bmFSOztBZ0Z4bmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYybmFKOztBZ0Z4bmFBO0VBQ0k7RUFDQTtFQUNBO0FoRjJuYUo7O0FnRnhuYUE7RUFDSTtFQUNBO0VBQ0EseUJoRjdsQ0k7RWdGOGxDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjJuYUo7QWdGem5hSTtFQUNJLGNoRmxtQ0E7QUE2dGNSO0FnRnhuYUk7RUFDSSxjaEZ0bUNBO0VnRnVtQ0E7QWhGMG5hUjs7QWdGdG5hQTtFQUNJO0FoRnluYUo7O0FnRnRuYUE7RUFDSSx5QmhGcG5DSTtFZ0ZxbkNKO0VBQ0E7RUFDQSxjaEZ0bkNJO0VnRnduQ0o7Ozs7Ozs7Ozs7SUFBQTtBaEZrb2FKO0FnRnRuYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ3bmFSO0FnRnJuYUk7RUFDSTtFQUNBO0FoRnVuYVI7QWdGcG5hSTtFQUNJLGNoRmpwQ0E7QUF1d2NSO0FnRm5uYUk7RUFDSSxjaEZ4cENBO0FBNndjUjs7QWdGam5hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRm9uYUo7QWdGbG5hSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRnBxQ0E7RWdGcXFDQTtFQUNBO0FoRm9uYVI7O0FnRmhuYUE7RUFDSSx5QmhGL3FDSTtFZ0ZnckNKO0VBQ0E7RUFDQTtFQUNBO0FoRm1uYUo7QWdGam5hSTtFQUNJO0FoRm1uYVI7QWdGaG5hSTtFQUNJO0FoRmtuYVI7QWdGL21hSTtFQUNJO0VBQ0E7QWhGaW5hUjtBZ0Y5bWFJO0VBQ0k7RUFDQSxjaEZuc0NBO0VnRm9zQ0E7RUFDQTtBaEZnbmFSO0FnRjltYVE7RUFDSSxjaEZ4c0NKO0FBd3pjUjtBZ0Y3bWFRO0VBQ0k7RUFDQTtFQUNBO0FoRittYVo7QWdGN21hWTtFQUNJO0VBQ0E7QWhGK21haEI7QWdGN21hZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK21hcEI7O0FnRnhtYUE7RUFDTTtFQUNBO0VBQ0E7RUFDQTtBaEYybWFOOztBZ0Z4bWFBO0VBQ0kseUJoRnZ1Q1M7RWdGd3VDVCxjaEY5dUNJO0FBeTFjUjtBZ0Z6bWFJO0VBQ0ksY2hGanZDQTtBQTQxY1I7QWdGeG1hSTtFQUNJO0FoRjBtYVI7O0FnRnRtYUE7RUFDSSx5QmhGMXZDSTtFZ0YydkNKLGNoRjF2Q0k7RWdGMnZDSjtBaEZ5bWFKO0FnRnZtYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeW1hUjtBZ0Z0bWFJO0VBQ0k7RUFDQTtBaEZ3bWFSO0FnRnJtYUk7RUFDSSxjaEYvd0NBO0FBczNjUjs7QWdGbm1hQTtFQUNJLGNoRnJ4Q0k7RWdGc3hDSjtBaEZzbWFKOztBZ0ZubWFBO0VBQ0kseUJoRnB4Q1M7RWdGcXhDVDtFQUNBO0FoRnNtYUo7O0FnRm5tYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoRnZ5Q0k7QUE2NGNSO0FnRnBtYUk7RUFDSTtBaEZzbWFSO0FnRm5tYUk7RUFDSTtBaEZxbWFSO0FnRjdsYUE7RUFDSTtFQUNBO0VBQ0EsY2hGcnpDSTtBQW81Y1I7O0FnRjVsYUE7RUFDSTtBaEYrbGFKOztBZ0Y1bGFBO0VBQ0k7QWhGK2xhSjs7QWdGNWxhQTtFQUNJO0FoRitsYUo7O0FnRjVsYUE7RUFDSSx5QmhGeDBDSTtFZ0Z5MENKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRitsYUo7O0FnRjVsYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRitsYUo7QWdGN2xhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrbGFSOztBZ0YzbGFBO0VBQ0k7RUFDQTtBaEY4bGFKOztBZ0YzbGFBO0VBQ0kseUJoRnYyQ1M7RWdGdzJDVDtBaEY4bGFKOztBZ0YzbGFBO0VBQ0k7QWhGOGxhSjs7QWdGM2xhQTtFQUNJO0VBQ0E7QWhGOGxhSjtBZ0Y1bGFJO0VBQ0k7RUFDQTtFQUNBO0FoRjhsYVI7O0FnRnhsYUk7RUFDSTtBaEYybGFSO0FnRnhsYUk7RUFDSTtFQUNBLHlCaEZwNENBO0FBODljUjs7QWdGdGxhQTtFQUNJO0FoRnlsYUo7QWdGdGxhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGd2xhUjs7QWdGcGxhQTtFQUNJO0VBQ0E7RUFDQTtBaEZ1bGFKO0FnRnJsYUk7RUFDSSxjaEZsNkNBO0VnRm02Q0E7RUFDQTtFQUNBO0VBQ0E7QWhGdWxhUjtBZ0ZybGFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnVsYVo7QWdGcGxhUTtFQUNJO0FoRnNsYVo7QWdGbmxhUTtFQUNJO0VBQ0E7QWhGcWxhWjtBZ0ZqbGFZO0VBQ0k7QWhGbWxhaEI7QWdGaGxhWTtFQUNJO0FoRmtsYWhCO0FnRjlrYVE7RUFDSTtFQUNBLGNoRnI4Q0o7QUFxaGRSOztBZ0Yza2FBO0VBQ0k7QWhGOGthSjtBZ0Yza2FJO0VBQ0k7QWhGNmthUjtBZ0Yxa2FJO0VBQ0k7RUFDQTtBaEY0a2FSO0FnRjFrYVE7RUFDSSxjaEZ2OUNKO0FBbWlkUjtBZ0Z4a2FJO0VBQ0k7QWhGMGthUjs7QWdGdGthQTtFQUNJO0VBQ0E7RUFDQTtBaEZ5a2FKO0FnRnZrYUk7RUFDSTtFQUNBO0VBQ0E7QWhGeWthUjtBZ0Z0a2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGd2thUjtBZ0Zya2FJO0VBQ0k7QWhGdWthUjs7QWdGbmthQTtFQUNJO0FoRnNrYUo7QWdGcGthSTtFQUNJO0VBQ0E7QWhGc2thUjtBZ0Zua2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnFrYVI7QWdGbmthUTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEYxZ0RMO0VnRjJnREs7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZxa2FaO0FnRmxrYVE7RUFDSTtBaEZva2FaO0FnRmprYVE7RUFDSTtFQUNBO0FoRm1rYVo7QWdGL2phWTtFQUNJO0FoRmlrYWhCO0FnRjlqYVk7RUFDSTtBaEZna2FoQjs7QWdGeGphQTtFQUNJO0VBQ0EseUJoRjFpRFM7RWdGMmlEVDtBaEYyamFKOztBZ0Z4amFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjJqYUo7O0FnRnhqYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEYyamFKO0FnRnpqYUk7RUFDSTtFQUNBLHlCaEYxa0RBO0VnRjJrREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjJqYVI7QWdGeGphSTtFQUNJO0FoRjBqYVI7O0FnRnRqYUE7RUFDSTtBaEZ5amFKOztBZ0Z0amFBO0VBQ0k7RUFDQTtFQUNBO0FoRnlqYUo7QWdGdmphSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0tBQUE7QWhGeWphUjs7QWdGcmphQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRndqYUo7O0FnRnBqYUk7RUFDSTtFQUNBO0FoRnVqYVI7QWdGcmphUTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QWhGdWphWjtBZ0ZqamFRO0VBQ0k7QWhGbWphWjs7QWdGN2lhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRmdqYUo7O0FnRjdpYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGZ2phSjs7QWdGNWlhQTtFQUNJO0VBQ0E7QWhGK2lhSjtBZ0Y3aWFJO0VBQ0k7QWhGK2lhUjs7QWdGM2lhQTtFQUNJO0VBQ0E7RUFDQSxjaEYvcERHO0FBNnNkUDs7QWdGM2lhQTtFQUNJO0FoRjhpYUo7O0FnRjNpYUE7RUFDSTtFQUNBLHlCaEZ2cURTO0FBcXRkYjs7QWdGM2lhQTtFQUNJLHlCaEZqckRJO0VnRmtyREo7RUFDQSxjaEZsckRJO0VnRm1yREo7RUFDQTtBaEY4aWFKO0FnRjVpYUk7RUFDSTtBaEY4aWFSO0FnRjNpYUk7RUFDSSxjaEYzckRBO0VnRjRyREE7RUFDQTtFQUNBO0VBQ0E7QWhGNmlhUjtBZ0YxaWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGNGlhUjtBZ0YxaWFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjRpYVo7QWdGemlhUTtFQUNJO0FoRjJpYVo7QWdGdmlhSTtFQUNJO0VBQ0E7RUFDQTtBaEZ5aWFSO0FnRnZpYVE7RUFDSTtBaEZ5aWFaO0FnRnJpYUk7RUFDSTtBaEZ1aWFSO0FnRnJpYVE7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0FoRnVpYVo7O0FnRmxpYUE7RUFDSSx5QmhGaHZESTtFZ0ZpdkRKO0FoRnFpYUo7QWdGbmlhSTtFQUNJO0FoRnFpYVI7QWdGbmlhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRnFpYVo7QWdGamlhSTtFQUNJLGNoRjN2REQ7RWdGNHZEQztFQUNBO0VBQ0E7RUFDQTtBaEZtaWFSO0FnRmhpYUk7RUFDSTtBaEZraWFSOztBZ0Y5aGFBO0VBQ0k7QWhGaWlhSjtBZ0YvaGFJO0VBQ0k7RUFDQTtBaEZpaWFSO0FnRjloYUk7RUFDSTtFQUNBO0VBQ0E7QWhGZ2lhUjtBZ0Y5aGFRO0VBQ0k7RUFDQTtFQUNBO0FoRmdpYVo7O0FnRjNoYUE7OztFQUdJO0FoRjhoYUo7O0FnRjNoYUE7OztFQUdJO0VBQ0E7RUFDQTtBaEY4aGFKOztBZ0YzaGFBOzs7RUFHSTtFQUNBO0VBQ0E7QWhGOGhhSjs7QWdGM2hhQTtFQUNJO0FoRjhoYUo7O0FnRjNoYUE7RUFDSTtBaEY4aGFKO0FnRjVoYUk7RUFDSTtFQUNBO0FoRjhoYVI7O0FnRjFoYUE7RUFDSSxjaEZoMERHO0FBNjFkUDs7QWdGMWhhQTtFQUNJO0FoRjZoYUo7O0FnRnhoYUE7RUFDSTtBaEYyaGFKOztBZ0Z4aGFBO0VBQ0k7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0VBQ0E7RUFDQTtBaEYyaGFKOztBZ0Z4aGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0VBQ0E7RUFDQTtBaEYyaGFKOztBZ0Z4aGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGMmhhSjs7QWdGeGhhQTtFQUNJLHlCaEZqM0RJO0VnRmszREosY2hGajNESTtFZ0ZrM0RKO0VBQ0E7QWhGMmhhSjs7QWdGdmhhQTtFQUNJO0VBQ0E7QWhGMGhhSjs7QWdGdmhhQTtFQUNJO0VBQ0E7RUFDQTtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0ksY2hGbjRESTtFZ0ZvNERKO0FoRjBoYUo7O0FnRnZoYUE7RUFDSTtBaEYwaGFKOztBZ0Z2aGFBOztFQUVJO0FoRjBoYUo7O0FnRnZoYUE7RUFDSTtBaEYwaGFKOztBZ0Z2aGFBOztFQUVJO0FoRjBoYUo7O0FnRnZoYUE7RUFDSSx5QmhGMTVESTtBQW83ZFI7O0FnRnZoYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZsNkRJO0VnRm02REo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYwaGFKO0FnRnhoYUk7RUFDSTtFQUNBO0VBQ0E7QWhGMGhhUjs7QWdGdGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeWhhSjtBZ0Z2aGFJO0VBQ0k7QWhGeWhhUjtBZ0Z0aGFJO0VBQ0k7QWhGd2hhUjs7QWdGcGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JoRjE4RFk7RWdGMjhEWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnVoYUo7QWdGcmhhSTtFQUNJO0VBQ0E7RUFDQTtBaEZ1aGFSOztBZ0ZsaGFJO0VBQ0k7RUFDQTtFQUNBLGNoRjE5REE7QUErK2RSO0FnRm5oYVE7RUFDSTtBaEZxaGFaO0FnRmpoYUk7RUFDSTtFQUNBO0VBQ0E7QWhGbWhhUjtBZ0ZqaGFRO0VBQ0k7RUFDQTtBaEZtaGFaO0FnRmhoYVE7RUFDSSxjaEY3K0RKO0FBKy9kUjtBZ0Y5Z2FJO0VBQ0ksY2hGai9EQTtBQWlnZVI7QWdGN2dhSTtFQUNJO0VBQ0E7QWhGK2dhUjtBZ0Y1Z2FJO0VBQ0k7QWhGOGdhUjtBZ0YzZ2FJO0VBQ0ksY2hGOS9EQTtFZ0YrL0RBO0VBQ0E7RUFDQTtBaEY2Z2FSOztBZ0Z6Z2FBO0VBQ0kseUJoRm5nRUk7RWdGb2dFSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZoaEVJO0VnRmloRUo7RUFDQTtFQUNBO0VBQ0E7QWhGNGdhSjtBZ0YxZ2FJO0VBQ0kseUJoRnhoRUE7QUFvaWVSO0FnRnpnYUk7RUFDSSxjaEYzaEVBO0VnRjRoRUE7QWhGMmdhUjs7QWdGdmdhQTtFQUNJO0VBQ0EseUJoRi9oRUk7QUF5aWVSO0FnRnhnYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoRnppRUE7QUFtamVSO0FnRnhnYVE7RUFDSSxjaEY1aUVKO0FBc2plUjtBZ0Z2Z2FRO0VBQ0ksY2hGampFSjtBQTBqZVI7QWdGcmdhSTtFQUNJO0FoRnVnYVI7O0FnRm5nYUE7RUFDSTtFQUVBO0VBQ0E7QWhGcWdhSjtBZ0ZuZ2FJO0VBQ0k7QWhGcWdhUjtBZ0ZsZ2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJoRnhrRUE7RWdGeWtFQTtFQUNBO0VBQ0E7RUFDQTtBaEZvZ2FSO0FnRmpnYUk7RUFDSTtFQUNBO0VBQ0E7QWhGbWdhUjtBZ0ZqZ2FRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZtZ2FaO0FnRi8vWkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpZ2FSO0FnRi8vWlE7RUFDSTtFQUNBLHlCaEYxbUVKO0VnRjJtRUk7RUFDQSxjaEY3bUVKO0VnRjhtRUk7QWhGaWdhWjtBZ0YvL1pZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGam5FUjtFZ0ZrbkVRLGNoRnJuRVI7RWdGc25FUTtFQUNBO0VBQ0E7RUFDQTtBaEZpZ2FoQjtBZ0YvL1pnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRmlnYXBCO0FnRjcvWlk7RUFDSTtBaEYrL1poQjtBZ0Y1L1pZO0VBQ0k7RUFDQTtBaEY4L1poQjtBZ0YxL1pRO0VBQ0k7RUFDQTtBaEY0L1paO0FnRnovWlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjIvWlo7QWdGei9aWTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QWhGMi9aaEI7QWdGdC9aWTtFQUNJO0FoRncvWmhCOztBZ0ZsL1pBO0VBQ0k7QWhGcS9aSjtBZ0ZuL1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGcS9aUjtBZ0ZqL1pRO0VBQ0k7QWhGbS9aWjtBZ0ZoL1pRO0VBQ0k7QWhGay9aWjtBZ0YvK1pRO0VBQ0k7RUFDQSx5QmhGL3JFSjtBQWdyZVI7QWdGOStaUTtFQUNJLHlCaEZuc0VKO0FBbXJlUjs7QWdGMytaQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGOXNFSTtFZ0Yrc0VKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGNitaSjtBZ0YzK1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGNitaUjs7QWdGeitaQTtFQUVJO0VBQ0E7RUFDQTtBaEYyK1pKOztBZ0Z4K1pBO0VBRUk7QWhGMCtaSjs7QWdGditaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYwK1pKOztBZ0Z2K1pBO0VBQ0kseUJoRjF2RVM7RWdGMnZFVDtFQUNBO0VBQ0E7RUFDQTtBaEYwK1pKO0FnRngrWkk7RUFDSTtBaEYwK1pSO0FnRnYrWkk7RUFDSTtFQUNBO0VBQ0E7QWhGeStaUjtBZ0Z0K1pJO0VBQ0k7QWhGdytaUjtBZ0ZyK1pJO0VBQ0k7RUFDQTtBaEZ1K1pSO0FnRnArWkk7RUFDSTtBaEZzK1pSO0FnRnArWlE7RUFDSTtBaEZzK1paO0FnRm4rWlE7RUFDSTtBaEZxK1paO0FnRmgrWkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QmhGdHlFQTtFZ0Z1eUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrK1pSO0FnRmgrWlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGaytaWjtBZ0YvOVpRO0VBQ0kseUJoRmwwRUo7QUFteWVSOztBZ0Y1OVpBO0VBQ0ksa0NKMTBFVztFSTIwRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGKzlaSjtBZ0Y3OVpJO0VBQ0k7QWhGKzlaUjtBZ0Y1OVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEY4OVpSOztBZ0YxOVpBO0VBQ0k7QWhGNjlaSjtBZ0YzOVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGNjlaUjtBZ0YzOVpRO0VBQ0k7QWhGNjlaWjtBZ0Z6OVpJO0VBQ0k7RUFDQTtBaEYyOVpSO0FnRng5Wkk7RUFDSTtBaEYwOVpSOztBZ0Z0OVpBO0VBQ0ksY2hGejNFSTtFZ0YwM0VKO0VBQ0E7RUFDQTtBaEZ5OVpKO0FnRnY5Wkk7RUFDSTtFQUNBO0FoRnk5WlI7QWdGdDlaSTtFQUNJLHlCaEZyNEVBO0FBNjFlUjtBZ0ZyOVpJO0VBQ0ksY2hGejRFQTtBQWcyZVI7QWdGcjlaUTtFQUNJO0FoRnU5Wlo7QWdGcDlaUTtFQUNJLHlCaEYvNEVKO0FBcTJlUjs7QWdGajlaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEYzNUVJO0VnRjQ1RUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbzlaSjtBZ0ZsOVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZvOVpSO0FnRmo5Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRm05WlI7QWdGajlaUTtFQUNJO0FoRm05Wlo7QWdGLzhaWTtFQUNJO0FoRmk5WmhCO0FnRjM4Wkk7RUFDSTtFQUNBO0VBQ0E7QWhGNjhaUjtBZ0YzOFpRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGNThFSjtFZ0Y2OEVJO0VBQ0E7RUFDQTtBaEY2OFpaO0FnRjE4WlE7RUFDSTtBaEY0OFpaO0FnRnY4Wkk7RUFDSTtBaEZ5OFpSOztBZ0ZyOFpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGdzhaSjtBZ0Z0OFpJO0VBQ0k7RUFDQTtBaEZ3OFpSOztBZ0ZwOFpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1OFpKOztBZ0ZwOFpBO0VBQ0k7QWhGdThaSjtBZ0ZyOFpJO0VBQ0k7QWhGdThaUjtBZ0ZuOFpJO0VBQ0k7QWhGcThaUjtBZ0ZuOFpRO0VBQ0k7RUFDQTtBaEZxOFpaO0FnRmo4Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZtOFpSO0FnRmo4WlE7RUFDSTtBaEZtOFpaO0FnRi83Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY5aEZBO0VnRitoRkEsY2hGaGlGQTtFZ0ZpaUZBO0FoRmk4WlI7QWdGLzdaUTtFQUNJO0VBQ0EseUJoRmppRko7RWdGa2lGSSxjaEZyaUZKO0VnRnNpRkk7QWhGaThaWjtBZ0Y5N1pRO0VBQ0k7QWhGZzhaWjtBZ0Y3N1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZ0akZKO0FBcS9lUjtBZ0Y3N1pZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGKzdaaEI7O0FnRno3WkE7RUFDSTtBaEY0N1pKO0FnRjE3Wkk7RUFDSTtFQUNBO0FoRjQ3WlI7QWdGejdaSTtFQUNJO0FoRjI3WlI7O0FnRnY3WkE7RUFDSTtFQUNBO0FoRjA3Wko7QWdGeDdaSTtFQUNJO0FoRjA3WlI7O0FnRnQ3WkE7RUFDSTtBaEZ5N1pKOztBZ0Z0N1pBO0VBQ0k7RUFDQTtBaEZ5N1pKO0FnRnY3Wkk7RUFDSSxrQ0p2bUZPO0VJd21GUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGMW1GQTtFZ0YybUZBO0VBQ0EseUJoRjFtRkM7RWdGMm1GRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ5N1pSO0FnRnQ3Wkk7RUFDSTtBaEZ3N1pSOztBZ0ZwN1pBO0VBQ0k7RUFDQSx5QmhGN25GSTtBQW9qZlI7QWdGcDdaUTtFQUNJO0VBQ0EseUJoRjduRkM7QUFtamZiO0FnRm43WlE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjaEYxb0ZKO0VnRjJvRkk7QWhGcTdaWjs7QWdGaDdaQTtFQUNJO0VBQ0E7RUFDQTtBaEZtN1pKO0FnRmo3Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZtN1pSO0FnRmo3WlE7RUFDSTtFQUNBLHlCaEY1cEZKO0FBK2tmUjs7QWlGbGxmQTtFQUNJO0VBQ0E7QWpGcWxmSjs7QWlGbGxmQTtFQUNJO0VBQ0E7QWpGcWxmSjs7QWlGbGxmQTtFQUNJO0lBQ0k7SUFDQTtFakZxbGZOO0VpRmxsZkU7SUFDSTtJQUNBO0VqRm9sZk47QUFDRjs7QWlGN2xmQTtFQUNJO0lBQ0k7SUFDQTtFakZxbGZOO0VpRmxsZkU7SUFDSTtJQUNBO0VqRm9sZk47QUFDRjtBaUZqbGZBO0VBQ0k7RUFDQTtBakZtbGZKOztBaUZobGZBO0VBQ0k7SUFDSTtJQUNBO0VqRm1sZk47RWlGaGxmRTtJQUNJO0lBQ0E7RWpGa2xmTjtBQUNGOztBaUYzbGZBO0VBQ0k7SUFDSTtJQUNBO0VqRm1sZk47RWlGaGxmRTtJQUNJO0lBQ0E7RWpGa2xmTjtBQUNGO0FpRi9rZkE7RUFDSTtJQUNJO0lBQ0E7RWpGaWxmTjtFaUY5a2ZFO0lBQ0k7RWpGZ2xmTjtFaUY3a2ZFO0lBQ0k7SUFDQTtFakYra2ZOO0FBQ0Y7QWlGNWxmQTtFQUNJO0lBQ0k7SUFDQTtFakZpbGZOO0VpRjlrZkU7SUFDSTtFakZnbGZOO0VpRjdrZkU7SUFDSTtJQUNBO0VqRitrZk47QUFDRjtBaUY1a2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJqRnJESTtFaUZzREo7QWpGOGtmSjs7QWlGM2tmQTtFQUNJO0FqRjhrZko7O0FpRjNrZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakY4a2ZKO0FpRjVrZkk7RUFDSTtFQUNBO0FqRjhrZlI7O0FpRjFrZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakY2a2ZKO0FpRjNrZkk7RUFDSTtFQUNBO0FqRjZrZlI7O0FpRnhrZkE7RUFDSTtFQUNBO0VBQ0E7QWpGMmtmSjs7QWlGeGtmQTtFQUNJO1VBQUE7QWpGMmtmSjs7QWlGeGtmQTtFQUNFO0lBQ0U7RWpGMmtmRjtBQUNGOztBaUY5a2ZBO0VBQ0U7SUFDRTtFakYya2ZGO0FBQ0Y7QWtGcHJmQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGc3JmSjs7QWtGbnJmQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGc3JmSjs7QWtGbnJmQTtFQUNJO0FsRnNyZko7O0FrRm5yZkE7RUFDSTtBbEZzcmZKOztBbUZwdGZBO0VBQ0ksa0NQRFc7RU9FWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY25GSkk7RW1GS0o7RUFDQSx5Qm5GSks7RW1GS0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkZ1dGZKO0FtRnJ0Zkk7RUFDSTtFQUNBLG1CbkZaQTtFbUZhQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRnV0ZlI7QW1GcHRmSTtFQUNJO0VBQ0E7RUFDQTtBbkZzdGZSO0FtRm50Zkk7RUFDSTtFQUNBO0FuRnF0ZlI7QW1GbHRmSTtFQUNJO0VBQ0E7RUFDQTtBbkZvdGZSO0FtRmp0Zkk7RUFDSTtBbkZtdGZSO0FtRi9zZlE7RUFDSTtFQUNBO0FuRml0Zlo7QW1GOXNmUTtFQUNJO1VBQUE7QW5GZ3RmWjtBbUY3c2ZRO0VBQ0k7RUFDQTtBbkYrc2ZaO0FtRjNzZkk7RUFDSTtFQUNBO0FuRjZzZlI7QW1GM3NmUTtFQUNJO0FuRjZzZlo7QW1GMXNmUTtFQUNJLHlCbkZyRUo7RW1Gc0VJLGNuRnZFSjtBQW14ZlI7QW1GMXNmWTtFQUNJLGNuRnpFUjtBQXF4ZlI7QW1GeHNmUTtFQUNJO0VBQ0EsY25GaEZKO0FBMHhmUjtBbUZ4c2ZZO0VBQ0ksY25GbEZSO0FBNHhmUjtBbUZuc2ZRO0VBQ0k7RUFDQTtBbkZxc2ZaO0FtRm5zZlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GcXNmaEI7QW1GaHNmSTtFQUNJLHlCbkZ6R0E7QUEyeWZSO0FtRmhzZlE7RUFDSSxtQm5GN0dIO0FBK3lmVDtBbUY5cmZJO0VBQ0kseUJuRnJIQTtBQXF6ZlI7QW1GOXJmUTtFQUNJLG1CbkZySEg7QUFxemZUOztBbUYzcmZBO0VBQ0ksa0NQaElXO0VPaUlYO0VBQ0E7RUFDQTtFQUNBO0FuRjhyZko7QW1GNXJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCbkZwSUE7RW1GcUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GOHJmUjtBbUYzcmZJO0VBQ0k7QW5GNnJmUjtBbUYxcmZJO0VBQ0k7RUFDQTtBbkY0cmZSO0FtRnpyZkk7RUFDSTtFQUNBO0FuRjJyZlI7QW1GenJmUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkYycmZaO0FtRnRyZlE7RUFDSTtBbkZ3cmZaO0FtRnJyZlE7RUFDSTtBbkZ1cmZaO0FtRm5yZkk7RUFDSSxjbkZyTEE7QUEwMmZSO0FtRm5yZlE7RUFDSSx5Qm5GeExKO0FBNjJmUjtBbUZscmZRO0VBQ0k7QW5Gb3JmWjs7QW1GOXFmQTtFQUNJO0lBQ0k7RW5GaXJmTjtBQUNGOztBbUZwcmZBO0VBQ0k7SUFDSTtFbkZpcmZOO0FBQ0Y7QW1GOXFmQTtFQUNJO0lBQ0k7RW5GZ3JmTjtFbUY5cWZFO0lBQ0k7RW5GZ3JmTjtBQUNGO0FtRnRyZkE7RUFDSTtJQUNJO0VuRmdyZk47RW1GOXFmRTtJQUNJO0VuRmdyZk47QUFDRjtBb0ZoNGZBO0VBQ0k7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0VBQ0E7QXBGazRmSjs7QW9GLzNmQTtFQUNFO0FwRms0ZkY7O0FvRi8zZkE7RUFDSTtFQUNBO0VBQ0E7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtFQUNBO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7RUFDQTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSSx5QnBGM0NJO0FBNjZmUjs7QW9GLzNmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEZrNGZKO0FvRmg0Zkk7RUFDSSx5QnBGcERLO0FBczdmYjtBb0YvM2ZJO0VBQ0kseUJwRjdEQTtBQTg3ZlI7O0FvRjMzZkE7RUFDSTtFQUNBO0VBQ0E7QXBGODNmSjs7QW9GMzNmQTtFQUNJO0FwRjgzZko7O0FvRjUzZkE7RUFDSSxjcEYxRUk7QUF5OGZSOztBb0Y1M2ZBO0VBQ0k7RUFDQTtBcEYrM2ZKOztBb0Y1M2ZBO0VBQ0k7RUFDQTtBcEYrM2ZKO0FvRjczZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGKzNmUjs7QW9GMzNmQTtFQUNJO0VBQ0E7QXBGODNmSjs7QW9GMzNmQTtFQUNJO0VBQ0E7QXBGODNmSjs7QW9GMzNmQTtFQUNJO0FwRjgzZko7O0FvRjEzZkE7RUFDSTtBcEY2M2ZKOztBb0YxM2ZBO0VBQ0k7QXBGNjNmSjs7QW9GMTNmQTtFQUNJO0VBQ0E7QXBGNjNmSjs7QW9GMTNmQTtFQUNJO0FwRjYzZko7O0FvRjEzZkE7RUFDTTtBcEY2M2ZOOztBb0YxM2ZBO0VBQ007RUFDQTtBcEY2M2ZOOztBb0YxM2ZBO0VBQ007QXBGNjNmTjs7QW9GMTNmQTtFQUNJO0FwRjYzZko7O0FvRnozZkE7RUFDSTtFQUNBO0VBQ0E7QXBGNDNmSjs7QW9GejNmQTtFQUNJO0FwRjQzZko7O0FvRnozZkE7RUFDSTtBcEY0M2ZKOztBb0Z6M2ZBO0VBQ0U7QXBGNDNmRjs7QW9GeDNmQTtFQUNJO0VBQ0E7RUFDQTtBcEYyM2ZKOztBb0Z4M2ZBO0VBQ0U7RUFDQTtBcEYyM2ZGO0FvRnozZkU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEYyM2ZOOztBb0Z0M2ZBO0VBQ0k7RUFDQSxjcEY5TEk7QUF1amdCUjs7QW9GcjNmQTtFQUNJO0FwRnczZko7O0FvRnIzZkE7RUFDSTtFQUNBO0VBQ0EsY3BGck1JO0VvRnNNSjtBcEZ3M2ZKO0FvRnQzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnBGL01BO0FBdWtnQlI7O0FvRnAzZkE7RUFDSSxjcEZ4Tkk7QUEra2dCUjs7QW9GbjNmQTtFQUNJO0FwRnMzZko7O0FvRm4zZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRnMzZko7QW9GcDNmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEY5T0E7RW9GK09BO0FwRnMzZlI7O0FvRmwzZkE7RUFDSTtFQUNBO0VBQ0E7QXBGcTNmSjs7QW9GbDNmQTtFQUNJLGNwRnpQSTtBQThtZ0JSOztBb0ZsM2ZBO0VBQ0ksY3BGMVBJO0FBK21nQlI7O0FvRmwzZkE7RUFDSTtFQUNBO0VBQ0E7QXBGcTNmSjtBb0ZuM2ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwRnpRQTtBQThuZ0JSOztBb0ZqM2ZBO0VBQ0k7QXBGbzNmSjs7QW9GajNmQTtFQUNJO0VBQ0E7QXBGbzNmSjtBb0ZsM2ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwRmhTQTtFb0ZpU0E7QXBGbzNmUjs7QW9GaDNmQTtFQUNJLGtDUnhTVztFUXlTWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3BGM1NJO0VvRjRTSjtFQUNBLHlCcEYxU0k7RW9GMlNKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZtM2ZKO0FvRmozZkk7RUFDSTtFQUNBO0FwRm0zZlI7QW9GaDNmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCcEYzVEE7RW9GNFRBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZrM2ZSO0FvRmgzZlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmszZlo7QW9GLzJmUTtFQUNJO0FwRmkzZlo7QW9GNzJmSTtFQUNJLHlCcEZ4VkM7QUF1c2dCVDtBb0Y3MmZRO0VBQ0kseUJwRjNWSDtBQTBzZ0JUO0FvRjcyZlk7RUFDSTtBcEYrMmZoQjtBb0Y1MmZZO0VBQ0k7QXBGODJmaEI7O0FvRngyZkE7RUFDSSx5QnBGeFdJO0VvRnlXSjtFQUNBO0VBQ0EsY3BGOVdJO0FBeXRnQlI7QW9GejJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwRjIyZlI7QW9GeDJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwRjAyZlI7O0FvRnQyZkE7RUFDSTtFQUNBO0VBQ0E7QXBGeTJmSjs7QW9GdDJmQTtFQUNJLGNwRnRZSTtBQSt1Z0JSOztBb0Z0MmZBO0VBQ0ksY3BGM1lJO0FBb3ZnQlI7O0FvRnQyZkE7RUFDSSx5QnBGL1lJO0FBd3ZnQlI7O0FvRnQyZkE7RUFDSSx5QnBGL1lJO0FBd3ZnQlI7O0FvRnQyZkE7RUFDSTtFQUNBO0FwRnkyZko7O0FvRnQyZkE7RUFDSSxjcEYzWkk7RW9GNFpKO0FwRnkyZko7O0FvRnQyZkE7RUFDSTtFQUNBO0FwRnkyZko7O0FvRnQyZkE7RUFDSSxjcEZ0YUk7QUErd2dCUjtBb0Z2MmZJO0VBQ0kseUJwRnphQTtBQWt4Z0JSOztBb0ZyMmZBO0VBQ0U7QXBGdzJmRjs7QW9GcDJmQTtFQUNJO0FwRnUyZko7QW9GcjJmSTtFQUNJO0VBQ0EsY3BGdmJBO0FBOHhnQlI7O0FvRm4yZkE7RUFDSTtFQUNBLGNwRjViSTtFb0Y2Yko7QXBGczJmSjtBb0ZwMmZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwRnZjQTtFb0Z3Y0E7QXBGczJmUjtBb0ZuMmZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwRjljQTtFb0YrY0E7QXBGcTJmUjs7QW9GajJmQTtFQUNJO0FwRm8yZko7O0FvRmoyZkE7RUFDSSxjcEYzZEk7QUEremdCUjs7QW9GajJmQTtFQUNJO0FwRm8yZko7O0FvRmoyZkE7RUFDSSx5QnBGbmVJO0VvRm9lSjtFQUNBO0FwRm8yZko7QW9GbDJmSTtFQUNJO0FwRm8yZlI7O0FvRmgyZkE7RUFDSTtBcEZtMmZKOztBb0ZoMmZBO0VBQ0k7RUFDQTtBcEZtMmZKOztBb0ZoMmZBO0VBQ0k7RUFDQTtBcEZtMmZKOztBb0ZoMmZBO0VBQ0k7QXBGbTJmSjs7QW9GLzFmQTtFQUNJO0VBQ0E7QXBGazJmSjs7QW9GLzFmQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGazJmSjs7QW9GLzFmQTtFQUNJO0FwRmsyZko7O0FvRi8xZkE7RUFDSTtBcEZrMmZKOztBb0Y5MWZBO0VBQ0k7QXBGaTJmSjs7QW9GOTFmQTtFQUNJO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtFQUNBO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtBcEZpMmZKOztBb0Y5MWZBO0VBQ0k7QXBGaTJmSjs7QW9GOTFmQTtFQUNJO0VBQ0E7QXBGaTJmSjs7QW9GOTFmQTtFQUNJO0FwRmkyZko7QW9GLzFmSTtFQUNJLGNwRnRqQkE7RW9GdWpCQTtBcEZpMmZSO0FvRjkxZkk7RUFDSTtBcEZnMmZSOztBb0YzMWZJO0VBQ0k7RUFDQTtFQUNBO0FwRjgxZlI7QW9GMzFmSTtFQUNJO0VBQ0E7QXBGNjFmUjtBb0YxMWZJO0VBQ0k7QXBGNDFmUjtBb0Z6MWZJO0VBRUk7RUFDQSx5QnBGaGxCSztFb0ZpbEJMO0VBQ0E7QXBGMDFmUjtBb0Z4MWZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGMDFmWjtBb0Z0MWZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZ3MWZSO0FvRnAxZlE7RUFDSTtBcEZzMWZaO0FvRm4xZlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEZxMWZaOztBb0Y5MGZBO0VBQ0k7RUFDQTtBcEZpMWZKOztBb0Y3MGZBO0VBR1E7SUFFRTtFcEY2MGZSOztFb0Z6MGZFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXBGNDBmSjtBQUNGO0FvRnowZkE7RUFDSTtJQUNFO0lBQ0E7SUFDQTtFcEYyMGZKOztFb0Z4MGZFO0lBQ0U7SUFDQTtJQUNBO0VwRjIwZko7O0VvRngwZkU7SUFDRTtFcEYyMGZKO0FBQ0Y7QW9GeDBmQTtFQUNJO0lBQ0U7RXBGMDBmSjs7RW9GdjBmRTtJQUNFO0VwRjAwZko7O0VvRnYwZkU7O0lBRUU7RXBGMDBmSjs7RW9GdjBmRTtJQUNFO0VwRjAwZko7QUFDRjtBb0Z2MGZBO0VBQ0k7SUFDRTtFcEZ5MGZKO0FBQ0Y7QW9GdDBmQTtFQUNJO0lBQ0U7RXBGdzBmSjs7RW9GcjBmRTtJQUNFO0VwRncwZko7O0VvRnIwZkU7SUFDRTtFcEZ3MGZKOztFb0ZyMGZFO0lBQ0k7RXBGdzBmTjtFb0Z0MGZNO0lBQ0k7RXBGdzBmVjs7RW9GbjBmRTtJQUNFO0VwRnMwZko7QUFDRjtBb0ZsMGZBO0VBQ0k7SUFDRTtFcEZvMGZKOztFb0ZqMGZFO0lBQ0U7RXBGbzBmSjs7RW9GajBmRTtJQUNFO0VwRm8wZko7QUFDRjtBb0ZqMGZBO0VBQ0k7SUFDSTtFcEZtMGZOOztFb0ZoMGZFO0lBQ0k7RXBGbTBmTjs7RW9GaDBmRTtJQUNJO0lBQ0E7RXBGbTBmTjs7RW9GaDBmRTtJQUNJO0VwRm0wZk47QUFDRjtBb0ZoMGZBO0VBQ0k7SUFDSTtJQUNBO0VwRmswZk47RW9GaDBmTTtJQUNJO0VwRmswZlY7O0VvRjl6ZkU7SUFDSTtFcEZpMGZOO0FBQ0Y7QW9GOXpmQTtFQUNJO0lBQ0U7RXBGZzBmSjs7RW9GN3pmRTtJQUNFO0VwRmcwZko7O0VvRjd6ZkU7SUFDRTtFcEZnMGZKOztFb0Y3emZFO0lBQ0U7RXBGZzBmSjs7RW9GN3pmRTtJQUNFO0VwRmcwZko7O0VvRjd6ZkU7SUFFSTtFcEYremZOOztFb0Y1emZFOzs7SUFJSTtFcEY4emZOOztFb0YzemZFO0lBQ0U7SUFDQTtFcEY4emZKOztFb0YzemZFO0lBQ0U7SUFDQTtFcEY4emZKOztFb0YzemZFO0lBQ0U7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0VwRjh6Zko7O0VvRjN6ZkU7SUFDRTtFcEY4emZKOztFb0YzemZFO0lBQ0U7SUFDQTtFcEY4emZKOztFb0YzemZFO0lBQ0U7SUFDQTtFcEY4emZKOztFb0YzemZFO0lBQ0k7SUFDQTtFcEY4emZOOztFb0YzemZFO0lBQ0U7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0VwRjh6Zko7RW9GNXpmSTtJQUNJO0VwRjh6ZlI7O0VvRjF6ZkU7SUFDRTtFcEY2emZKOztFb0YxemZFO0lBQ0U7RXBGNnpmSjs7RW9GMXpmRTs7SUFFRTtFcEY2emZKOztFb0YxemZFO0lBQ0k7RXBGNnpmTjtFb0YzemZNO0lBQ0k7RXBGNnpmVjs7RW9GenpmRTtJQUNFO0VwRjR6Zko7O0VvRnp6ZkU7SUFDRTtFcEY0emZKOztFb0Z6emZFO0lBQ0k7RXBGNHpmTjs7RW9GenpmRTtJQUNJO0VwRjR6Zk47RW9GMXpmTTtJQUNJO0lBQ0E7SUFDQTtFcEY0emZWOztFb0Z4emZFO0lBQ0k7RXBGMnpmTjtBQUNGO0FxRjFzaEJBO0VBeUpJO3lCQUFBO0FyRnFqaEJKO0FxRjdzaEJFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJGOHNoQkY7QXFGM3NoQkM7RUFDRztBckY2c2hCSjtBcUYxc2hCQTtFQUNJO0VBQ0E7RUFDQTtBckY0c2hCSjtBcUZ6c2hCQTtFQUNFO0VBQ0E7RUFDQTtBckYyc2hCRjtBcUZ4c2hCRTtFQUNFO0FyRjBzaEJKO0FxRnpzaEJFO0VBQ0U7QXJGMnNoQko7QXFGMXNoQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBR0E7RUFFQTtFQUNBO0FyRjRzaEJKO0FxRjFzaEJFO0VBR1U7QXJGNHNoQlo7QXFGM3NoQkU7RUFDRTtFQUNBO0VBR1E7QXJGNnNoQlo7QXFGNXNoQkU7RUFDRTtFQUNBO0VBQ0E7QXJGOHNoQko7QXFGN3NoQkk7RUFDRTtBckYrc2hCTjtBcUY5c2hCRTtFQUNFO0FyRmd0aEJKO0FxRi9zaEJJO0VBQ0U7RUFDQTtBckZpdGhCTjtBcUZodGhCRTtFQUNFO0FyRmt0aEJKO0FxRmp0aEJJO0VBQ0U7RUFDQTtBckZtdGhCTjtBcUZsdGhCRTtFQUNFO0VBQ0E7RUFDQTtBckZvdGhCSjtBcUZudGhCSTtFQUNFO0VBQ0E7QXJGcXRoQk47QXFGcHRoQkk7RUFDRTtFQUNBO0FyRnN0aEJOO0FxRnJ0aEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR1E7RUFHQTtFQUVSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJGdXRoQko7QXFGcnRoQkk7RUFDRTtBckZ1dGhCTjtBcUZ0dGhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FyRnd0aEJKO0FxRnZ0aEJJO0VBQ0U7QXJGeXRoQk47QXFGdHRoQkk7RUFDRTtFQUNBO0VBQ0E7QXJGd3RoQk47QXFGdHRoQkE7RUFDRTtBckZ3dGhCRjtBcUZ0dGhCQTtFQUNFO0FyRnd0aEJGOztBc0Y1M2hCQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCdEZGSTtFc0ZHSjtFQUNBO0VBRUE7Ozs7Ozs7Ozs7OztHQUFBO0F0Rnk0aEJKO0FzRjUzaEJJO0VBQ0k7QXRGODNoQlI7O0FzRjEzaEJBO0VBRUk7QXRGNDNoQko7QXNGMTNoQkk7RUFDSTtBdEY0M2hCUjs7QXNGeDNoQkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBdEYwM2hCSjtBc0Z4M2hCSTtFQUNJO0VBQ0E7QXRGMDNoQlI7O0FzRnIzaEJBO0VBRUk7RUFDQTtBdEZ1M2hCSjtBc0ZyM2hCSTtFQUNJO0VBQ0E7RUFDQTtBdEZ1M2hCUjs7QXNGbjNoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEZzM2hCSjs7QXNGbjNoQkE7RUFDSTtFQUNBO0F0RnMzaEJKOztBdUY5N2hCQTtFQUNJO0lBQ0k7RXZGaThoQk47QUFDRjs7QXVGcDhoQkE7RUFDSTtJQUNJO0V2Rmk4aEJOO0FBQ0Y7QXVGLzdoQkE7RUFDSTtJQUNJO0lBQ0E7RXZGaThoQk47RXVGLzdoQkU7SUFDSTtJQUNBO0V2Rmk4aEJOO0FBQ0Y7QXVGejhoQkE7RUFDSTtJQUNJO0lBQ0E7RXZGaThoQk47RXVGLzdoQkU7SUFDSTtJQUNBO0V2Rmk4aEJOO0FBQ0Y7QXVGLzdoQkE7RUFDSTtJQUNJO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7RXZGaThoQk47QUFDRjtBdUZ2OGhCQTtFQUNJO0lBQ0k7RXZGaThoQk47RXVGLzdoQkU7SUFDSTtFdkZpOGhCTjtBQUNGO0F1Ri83aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rmk4aEJKOztBdUYvN2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2Rms4aEJKOztBdUZoOGhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2Rm04aEJKOztBdUZqOGhCQTtFQUNJO0F2Rm84aEJKOztBdUZsOGhCQTtFQUNJO0F2RnE4aEJKOztBdUZuOGhCQTtFQUNJO0F2RnM4aEJKOztBdUZwOGhCQTtFQUNJO0F2RnU4aEJKOztBdUZyOGhCQTtFQUNJO0F2Rnc4aEJKOztBdUZ0OGhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ5OGhCSjs7QXVGdjhoQkE7RUFDSTtBdkYwOGhCSjs7QXVGeDhoQkE7RUFDSTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMjhoQko7O0F1Rno4aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGNDhoQko7O0F1RjE4aEJBO0VBQ0k7QXZGNjhoQko7O0F1RjM4aEJBO0VBQ0k7QXZGODhoQko7O0F1RjU4aEJBO0VBQ0k7SUFDSTtJQUNBO0V2Ris4aEJOO0FBQ0Y7QXVGNzhoQkE7RUFDSTtJQUNJO0V2Ris4aEJOO0FBQ0Y7QXVGNzhoQkE7RUFDSTtBdkYrOGhCSjs7QXVGNzhoQkE7RUFDSTtBdkZnOWhCSjs7QXVGOThoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZpOWhCSjs7QXVGLzhoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rms5aEJKOztBdUZoOWhCQTtFQUNJO0F2Rm05aEJKOztBdUZqOWhCQTtFQUNJO0F2Rm85aEJKOztBdUZsOWhCQTtFQUNJO0F2RnE5aEJKOztBdUZuOWhCQTtFQUNJO0F2RnM5aEJKOztBdUZwOWhCQTtFQUNJO0F2RnU5aEJKOztBdUZyOWhCQTtFQUNJLG1CdkZ2Skk7RXVGd0pKO0F2Rnc5aEJKOztBdUZ0OWhCQTtFQUNJO0F2Rnk5aEJKOztBdUZ2OWhCQTtFQUNJLG1CdkY5Skk7RXVGK0pKO0F2RjA5aEJKOztBdUZ4OWhCQTtFQUNJLG1CdkZsS0k7RXVGbUtKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMjloQko7O0F1Rno5aEJBO0VBQ0k7RUFDQTtBdkY0OWhCSjs7QXVGMTloQkE7RUFDSSxtQnZGcExJO0FBaXBpQlI7O0F1RjM5aEJBO0VBQ0k7RUFDQTtBdkY4OWhCSjs7QXVGNTloQkE7RUFDSTtBdkYrOWhCSjs7QXVGNzloQkE7RUFDSTtBdkZnK2hCSjs7QXVGOTloQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZpK2hCSjs7QXVGLzloQkE7RUFDSTtBdkZrK2hCSjs7QXVGaCtoQkE7RUFDSTtBdkZtK2hCSjs7QXVGaitoQkE7RUFDSTtFQUNBO0F2Rm8raEJKOztBdUZsK2hCQTtFQUNJO0F2RnEraEJKOztBdUZuK2hCQTtFQUNJO0lBQ0k7RXZGcytoQk47QUFDRjtBdUZwK2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RnMraEJKOztBdUZwK2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGdStoQko7O0F1RnIraEJBO0VBQ0k7SUFDSTtFdkZ3K2hCTjtBQUNGO0F1RnQraEJBO0VBQ0k7RUFDQTtFQUNBO0F2RncraEJKOztBdUZ0K2hCQTtFQUNJO0F2RnkraEJKOztBdUZ2K2hCQTtFQUNJO0F2RjAraEJKOztBdUZ4K2hCQTtFQUNJO0VBQ0E7RUFDQTtBdkYyK2hCSjs7QXVGeitoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY0K2hCSjs7QXVGMStoQkE7RUFDSTtFQUNBO0VBQ0E7QXZGNitoQko7O0F1RjMraEJBO0VBQ0k7RUFDQTtBdkY4K2hCSjs7QXVGNStoQkE7RUFDSTtBdkYrK2hCSjs7QXVGNytoQkE7RUFDSTtBdkZnL2hCSjs7QXVGOStoQkE7RUFDSTtBdkZpL2hCSjs7QXVGLytoQkE7RUFDSTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmsvaEJKOztBdUZoL2hCQTtFQUNJO0VBQ0E7QXZGbS9oQko7O0F1RmovaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZvL2hCSjs7QXVGbC9oQkE7RUFDSTtBdkZxL2hCSjs7QXVGbi9oQkE7RUFDSTtBdkZzL2hCSjs7QXVGcC9oQkE7RUFDSTtBdkZ1L2hCSjs7QXVGci9oQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ3L2hCSjs7QXVGdC9oQkE7RUFDSTtFQUNBO0VBQ0E7QXZGeS9oQko7O0F1RnYvaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYwL2hCSjs7QXVGeC9oQkE7RUFDSTtBdkYyL2hCSjs7QXVGei9oQkE7RUFDSTtFQUNBO0F2RjQvaEJKOztBdUYxL2hCQTtFQUNJO0F2RjYvaEJKOztBdUYzL2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY4L2hCSjs7QXVGNS9oQkE7RUFDSTtFQUNBO0F2RisvaEJKOztBdUY3L2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmdnaUJKOztBdUY5L2hCQTtFQUNJO0F2RmlnaUJKOztBdUYvL2hCQTtFQUNJO0F2RmtnaUJKOztBdUZoZ2lCQTtFQUNJO0F2Rm1naUJKOztBdUZqZ2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb2dpQko7O0F1RmxnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnFnaUJKOztBdUZuZ2lCQTtFQUNJLG1CdkY3Wkk7QUFtNmlCUjs7QXVGcGdpQkE7RUFDSTtFQUNBO0F2RnVnaUJKOztBdUZyZ2lCQTtFQUNJO0F2RndnaUJKOztBdUZ0Z2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnlnaUJKOztBdUZ2Z2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3ZGcGJJO0V1RnFiSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMGdpQko7O0F1RnhnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RjJnaUJKOztBdUZ6Z2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGNGdpQko7O0F1RjFnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBdkY2Z2lCSjs7QXVGM2dpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7QXZGOGdpQko7O0F1RjVnaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RitnaUJKOztBdUY3Z2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkZnaGlCSjs7QXVGOWdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0F2RmloaUJKOztBdUYvZ2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkZraGlCSjs7QXVGaGhpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBdkZtaGlCSjs7QXVGamhpQkE7RUFDSTtBdkZvaGlCSjs7QXVGbGhpQkE7RUFDSTtBdkZxaGlCSjs7QXVGbmhpQkE7RUFDSTtBdkZzaGlCSjs7QXVGcGhpQkE7RUFDSTtFQUNBO0F2RnVoaUJKOztBdUZyaGlCQTtFQUNJO0VBQ0E7QXZGd2hpQko7O0F1RnRoaUJBO0VBQ0k7RUFDQTtBdkZ5aGlCSjs7QXVGdmhpQkE7RUFDSTtBdkYwaGlCSjs7QXVGeGhpQkE7RUFDSTtBdkYyaGlCSjs7QXVGemhpQkE7RUFDSTtBdkY0aGlCSjs7QXVGMWhpQkE7RUFDSTtBdkY2aGlCSjs7QXVGM2hpQkE7RUFDSTtBdkY4aGlCSjs7QXVGNWhpQkE7RUFDSTtBdkYraGlCSjs7QXVGN2hpQkE7RUFDSTtBdkZnaWlCSjs7QXVGOWhpQkE7RUFDSTtBdkZpaWlCSjs7QXVGL2hpQkE7RUFDSTtBdkZraWlCSjs7QXVGaGlpQkE7RUFDSTtBdkZtaWlCSjs7QXVGamlpQkE7RUFDSTtBdkZvaWlCSjs7QXVGbGlpQkE7RUFDSTtBdkZxaWlCSjs7QXVGbmlpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGc2lpQko7O0F1RnBpaUJBO0VBQ0k7QXZGdWlpQko7O0F1RnJpaUJBO0VBQ0k7QXZGd2lpQko7O0F1RnRpaUJBO0VBQ0k7RUFDQTtBdkZ5aWlCSjs7QXVGdmlpQkE7RUFDSTtJQUNJO0V2RjBpaUJOO0FBQ0Y7QXVGeGlpQkE7RUFDSTtBdkYwaWlCSjs7QXVGeGlpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYyaWlCSjs7QXVGemlpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjRpaUJKOztBdUYxaWlCQTtFQUNJO0VBQ0E7QXZGNmlpQko7O0F1RjNpaUJBO0VBQ0k7QXZGOGlpQko7O0F1RjVpaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RitpaUJKOztBdUY3aWlCQTtFQUNJO0F2RmdqaUJKOztBdUY5aWlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RmlqaUJKOztBdUYvaWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZramlCSjs7QXVGaGppQkE7RUFDSTtBdkZtamlCSjs7QXVGamppQkE7RUFDSTtFQUNBO0F2Rm9qaUJKOztBdUZsamlCQTtFQUNJO0F2RnFqaUJKOztBdUZuamlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGc2ppQko7O0F1RnBqaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZGdWppQko7O0F1RnJqaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RndqaUJKOztBdUZ0amlCQTtFQUNJO0VBQ0E7QXZGeWppQko7O0F1RnZqaUJBO0VBQ0k7RUFDQTtBdkYwamlCSjs7QXVGeGppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYyamlCSjs7QXVGemppQkE7RUFDSTtBdkY0amlCSjs7QXVGMWppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZqaUJKOztBdUYzamlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY4amlCSjs7QXVGNWppQkE7RUFDSSxtQnZGaHZCSTtBQSt5akJSOztBdUY3amlCQTtFQUNJO0VBQ0E7QXZGZ2tpQko7O0F1RjlqaUJBO0VBQ0k7QXZGaWtpQko7O0F1Ri9qaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGa2tpQko7O0F1RmhraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjdkZ2d0JJO0V1Rnd3Qko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm1raUJKOztBdUZqa2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkZva2lCSjs7QXVGbGtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RnFraUJKOztBdUZua2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGc2tpQko7O0F1RnBraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0F2RnVraUJKOztBdUZya2lCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3a2lCSjs7QXVGdGtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGeWtpQko7O0F1RnZraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBdkYwa2lCSjs7QXVGeGtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGMmtpQko7O0F1RnpraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGNGtpQko7O0F1RjFraUJBO0VBQ0k7QXZGNmtpQko7O0F1RjNraUJBO0VBQ0k7QXZGOGtpQko7O0F1RjVraUJBO0VBQ0k7QXZGK2tpQko7O0F1RjdraUJBO0VBQ0k7RUFDQTtBdkZnbGlCSjs7QXVGOWtpQkE7RUFDSTtFQUNBO0F2RmlsaUJKOztBdUYva2lCQTtFQUNJO0VBQ0E7QXZGa2xpQko7O0F1RmhsaUJBO0VBQ0k7QXZGbWxpQko7O0F1RmpsaUJBO0VBQ0k7QXZGb2xpQko7O0F1RmxsaUJBO0VBQ0k7QXZGcWxpQko7O0F1Rm5saUJBO0VBQ0k7QXZGc2xpQko7O0F1RnBsaUJBO0VBQ0k7QXZGdWxpQko7O0F1RnJsaUJBO0VBQ0k7QXZGd2xpQko7O0F1RnRsaUJBO0VBQ0k7QXZGeWxpQko7O0F1RnZsaUJBO0VBQ0k7QXZGMGxpQko7O0F1RnhsaUJBO0VBQ0k7QXZGMmxpQko7O0F1RnpsaUJBO0VBQ0k7QXZGNGxpQko7O0F1RjFsaUJBO0VBQ0k7QXZGNmxpQko7O0F1RjNsaUJBO0VBQ0k7QXZGOGxpQko7O0F1RjVsaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RitsaUJKOztBdUY3bGlCQTtFQUNJO0VBQ0E7QXZGZ21pQko7O0F1RjlsaUJBO0VBQ0k7QXZGaW1pQko7O0F1Ri9saUJBO0VBQ0k7RUFDQTtBdkZrbWlCSjs7QXVGaG1pQkE7RUFDSTtJQUNJO0V2Rm1taUJOO0FBQ0Y7QXVGam1pQkE7RUFDSTtBdkZtbWlCSjs7QXVGam1pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZvbWlCSjs7QXVGbG1pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnFtaUJKOztBdUZubWlCQTtFQUNJO0VBQ0E7QXZGc21pQko7O0F1RnBtaUJBO0VBQ0k7QXZGdW1pQko7O0F1RnJtaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RndtaUJKOztBdUZ0bWlCQTtFQUNJO0F2RnltaUJKOztBdUZ2bWlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RjBtaUJKOztBdUZ4bWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkYybWlCSjs7QXVGem1pQkE7RUFDSTtBdkY0bWlCSjs7QXVGMW1pQkE7RUFDSTtFQUNBO0F2RjZtaUJKOztBdUYzbWlCQTtFQUNJO0F2RjhtaUJKOztBdUY1bWlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGK21pQko7O0F1RjdtaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZGZ25pQko7O0F1RjltaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RmluaUJKOztBdUYvbWlCQTtFQUNJO0VBQ0E7QXZGa25pQko7O0F1RmhuaUJBO0VBQ0k7RUFDQTtBdkZtbmlCSjs7QXVGam5pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZvbmlCSjs7QXVGbG5pQkE7RUFDSTtFQUNBO0VBQUE7QXZGcW5pQko7O0F1Rm5uaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RnNuaUJKOztBdUZwbmlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QXZGdW5pQko7O0F1RnJuaUJBO0VBQ0k7RUFDQTtFQUFBO0F2RnduaUJKOztBdUZ0bmlCQTtFQUNJO0VBQ0E7QXZGeW5pQko7O0F1RnZuaUJBO0VBQ0k7QXZGMG5pQko7O0F1RnhuaUJBO0VBQ0k7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjJuaUJKOztBdUZ6bmlCQTtFQUNJO0F2RjRuaUJKOztBdUYxbmlCQTtFQUNJO0F2RjZuaUJKOztBdUYzbmlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RjhuaUJKOztBdUY1bmlCQTtFQUNJO0VBQ0E7RUFDQTtBdkYrbmlCSjs7QXVGN25pQkE7RUFDSTtJQUNJO0V2RmdvaUJOO0FBQ0Y7QXVGOW5pQkE7RUFDSTtJQUNJO0V2RmdvaUJOO0FBQ0Y7QXVGOW5pQkE7RUFDSTtBdkZnb2lCSjs7QXVGOW5pQkE7RUFDSTtBdkZpb2lCSjs7QXVGL25pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmtvaUJKOztBdUZ6bmlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb29pQko7O0F1RmxvaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxb2lCSjs7QXVGbm9pQkE7RUFDSTtBdkZzb2lCSjs7QXVGam9pQkE7RUFDSTtBdkZ3b2lCSjs7QXVGdG9pQkE7RUFDSTtBdkZ5b2lCSjs7QXVGdm9pQkE7RUFDSTtFQUNBO0F2RjBvaUJKOztBdUZwb2lCQTtFQUNJO0VBQ0E7QXZGNG9pQko7O0F1RjFvaUJBO0VBQ0k7RUFDQTtBdkY2b2lCSjs7QXVGM29pQkE7RUFDSTtBdkY4b2lCSjs7QXVGem9pQkE7RUFDSTtBdkZncGlCSjs7QXVGOW9pQkE7RUFDSTtBdkZpcGlCSjs7QXVGL29pQkE7RUFDSTtFQUNBO0VBQ0E7QXZGa3BpQko7O0F1RjNvaUJBO0VBQ0k7RUFDQTtFQUNBO0F2Rm9waUJKOztBdUZscGlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZxcGlCSjs7QXVGbnBpQkE7RUFDSTtBdkZzcGlCSjs7QXVGanBpQkE7RUFDSTtBdkZ3cGlCSjs7QXVGdHBpQkE7RUFDSTtBdkZ5cGlCSjs7QXVGdnBpQkE7RUFDSTtBdkYwcGlCSjs7QXVGcnBpQkE7RUFDSTtBdkY0cGlCSjs7QXVGMXBpQkE7RUFDSTtBdkY2cGlCSjs7QXVGM3BpQkE7RUFDSTtBdkY4cGlCSjs7QXVGenBpQkE7RUFDSTtBdkZncWlCSjs7QXVGOXBpQkE7RUFDSTtBdkZpcWlCSjs7QXVGL3BpQkE7RUFDSTtJQUNJO0V2RmtxaUJOOztFdUY3cGlCRTtJQUNJO0V2Rm9xaUJOOztFdUZscWlCRTtJQUNJO0V2RnFxaUJOO0FBQ0Y7QXVGbnFpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnFxaUJKOztBdUZucWlCQTtFQUNJO0F2RnNxaUJKOztBdUZwcWlCQTtFQUNJO0VBQ0E7QXZGdXFpQko7O0F1RnJxaUJBO0VBQ0k7QXZGd3FpQko7O0F1RnRxaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RnlxaUJKOztBdUZ2cWlCQTtFQUNJO0F2RjBxaUJKOztBdUZ4cWlCQTtFQUNJO0F2RjJxaUJKOztBdUZ6cWlCQTtFQUNJO0F2RjRxaUJKOztBdUYxcWlCQTtFQUNJO0lBQ0k7RXZGNnFpQk47QUFDRjtBdUYzcWlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGNnFpQko7O0F1RjNxaUJBO0VBQ0k7QXZGOHFpQko7O0F1RjVxaUJBO0VBQ0k7RUFDQTtBdkYrcWlCSjs7QXVGN3FpQkE7RUFDSTtBdkZncmlCSjs7QXVGOXFpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGaXJpQko7O0F1Ri9xaUJBO0VBQ0k7QXZGa3JpQko7O0F1RmhyaUJBO0VBQ0k7QXZGbXJpQko7O0F1RmpyaUJBO0VBQ0k7QXZGb3JpQko7O0F1RmxyaUJBO0VBQ0k7SUFDSTtFdkZxcmlCTjtBQUNGO0F1Rm5yaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxcmlCSjs7QXVGbnJpQkE7RUFDSTtBdkZzcmlCSjs7QXVGcHJpQkE7RUFDSTtFQUNBO0F2RnVyaUJKOztBdUZycmlCQTtFQUNJO0F2RndyaUJKOztBdUZ0cmlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ5cmlCSjs7QXVGdnJpQkE7RUFDSTtBdkYwcmlCSjs7QXVGeHJpQkE7RUFDSTtBdkYycmlCSjs7QXVGenJpQkE7RUFDSTtBdkY0cmlCSjs7QXVGMXJpQkE7RUFDSTtJQUNJO0V2RjZyaUJOO0FBQ0Y7QXVGM3JpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZyaUJKOztBdUYzcmlCQTtFQUNJO0F2RjhyaUJKOztBdUY1cmlCQTtFQUNJO0VBQ0E7QXZGK3JpQko7O0F1RjdyaUJBO0VBQ0k7QXZGZ3NpQko7O0F1RjlyaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RmlzaUJKOztBdUYvcmlCQTtFQUNJO0F2RmtzaUJKOztBdUZoc2lCQTtFQUNJO0F2Rm1zaUJKOztBdUZqc2lCQTtFQUNJO0F2Rm9zaUJKOztBdUZsc2lCQTtFQUNJO0lBQ0k7RXZGcXNpQk47QUFDRjtBdUZuc2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxc2lCSjs7QXVGbnNpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGc3NpQko7O0F1RnBzaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ1c2lCSjs7QXVGcnNpQkE7RUFDSTtBdkZ3c2lCSjs7QXVGdHNpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ5c2lCSjs7QXVGdnNpQkE7RUFDSTtBdkYwc2lCSjs7QXVGeHNpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYyc2lCSjs7QXVGenNpQkE7RUFDSTtBdkY0c2lCSjs7QXdGM3BsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCeEZGSTtFd0ZHSjtFQUNBO0F4RjhwbEJKOztBd0YzcGxCQTtFQUNJO0F4RjhwbEJKOztBd0YzcGxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGN4RlhHO0V3RllIO0VBQ0E7QXhGOHBsQko7QXdGNXBsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEY4cGxCUjtBd0YzcGxCSTtFQUNJLGN4RjNCQTtFd0Y0QkEsZ0N4RjVCQTtFd0Y0QmlDO0VBQ2pDO0VBQ0Esa0N4RjFCRDtBQXdybEJQO0F3RjNwbEJJO0VBQ0k7RUFDQTtBeEY2cGxCUjtBd0YzcGxCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RjZwbEJaOztBd0Z4cGxCQTtFQUNJO0F4RjJwbEJKOztBd0Z4cGxCQTtFQUNJO0VBQ0E7RUFDQTtBeEYycGxCSjtBd0Z6cGxCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4RjJwbEJSO0F3RnpwbEJRO0VBQ0k7QXhGMnBsQlo7QXdGeHBsQlE7RUFDSTtBeEYwcGxCWjtBd0Z0cGxCSTtFQUNJO0VBQ0E7RUFDQTtBeEZ3cGxCUjs7QXdGcHBsQkE7RUFDSTtJQUNJO0lBQ0E7RXhGdXBsQk47O0V3RnBwbEJFO0lBQ0k7RXhGdXBsQk47O0V3RnBwbEJFO0lBQ0k7SUFDQTtFeEZ1cGxCTjs7RXdGcHBsQkU7SUFDSTtFeEZ1cGxCTjs7RXdGcHBsQkU7SUFDSTtFeEZ1cGxCTjtFd0ZycGxCTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0V4RnVwbEJWO0FBQ0Y7QXdGbnBsQkE7RUFDSTtJQUNJO0lBQ0E7RXhGcXBsQk47O0V3RmxwbEJFO0lBQ0k7RXhGcXBsQk47O0V3RmxwbEJFO0lBQ0k7RXhGcXBsQk47RXdGbnBsQk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFeEZxcGxCVjs7RXdGanBsQkU7SUFDSTtFeEZvcGxCTjs7RXdGanBsQkU7SUFDSTtFeEZvcGxCTjs7RXdGanBsQkU7SUFDSTtFeEZvcGxCTjs7RXdGanBsQkU7SUFDSTtJQUNBO0V4Rm9wbEJOO0FBQ0Y7QXlGN3lsQkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Rit5bEJKO0F5Rjd5bEJJOztFQUNJLHFCekZWQTtFeUZXQTtBekZnemxCUjs7QXlGM3lsQkE7RUFDSTtFQUNBO0F6Rjh5bEJKOztBeUYzeWxCQTtFQUNJLGN6RnJCRztFeUZzQkg7RUFDQTtBekY4eWxCSjs7QXlGM3lsQkE7RUFDSTtBekY4eWxCSjs7QXlGM3lsQkE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RjZ5bEJKOztBeUYxeWxCQTs7RUFFRTtFQUNBO0F6RjZ5bEJGOztBeUYxeWxCQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQSxjekYzREk7QUF3MmxCUjs7QXlGMXlsQkE7RUFDSSxjekYvREk7RXlGZ0VKO0F6RjZ5bEJKOztBeUYxeWxCQTtFQUNJO0F6RjZ5bEJKOztBeUYxeWxCQTtFQUNJO0F6RjZ5bEJKO0F5RjN5bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RjZ5bEJSO0F5Rnp5bEJRO0VBQ0k7QXpGMnlsQlo7O0F5RnR5bEJBO0VBQ0ksY3pGOUZJO0FBdTRsQlI7O0F5RnJ5bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY3pGdEdBO0FBODRsQlI7QXlGcnlsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGN6RjlHQTtBQXE1bEJSOztBeUZueWxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFd6RmhJWTtBQXM2bEJoQjs7QXlGbnlsQkE7RUFDSTtBekZzeWxCSjs7QXlGbHlsQkk7RUFDSSxjekZ2SUE7QUE0NmxCUjtBeUZseWxCSTtFQUNJLGN6RjNJQTtBQSs2bEJSOztBeUZoeWxCQTtFQUNJO0F6Rm15bEJKOztBeUZoeWxCQTtFQUNJLHlCekZqSkk7QUFvN2xCUjs7QXlGaHlsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjekY1Skk7QUErN2xCUjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSSx5QnpGaEtJO0V5RmlLSixxQnpGaktJO0V5RmtLSjtBekZteWxCSjs7QXlGaHlsQkE7RUFDSSxjekYxS0k7QUE2OGxCUjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSTtFQUNBO0F6Rm15bEJKOztBeUZoeWxCQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0F6Rmt5bEJKOztBeUYveGxCQTtFQUVJO0VBQ0EsY3pGck1JO0FBcytsQlI7O0F5Rjl4bEJBO0VBQW9CO0F6Rmt5bEJwQjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSTtFQUNBO0F6Rm15bEJKOztBeUZoeWxCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZteWxCSjs7QTBGeGdtQkE7RUFDSTtJQUNFO0UxRjJnbUJKOztFMEZ4Z21CRTtJQUNFO0lBQ0E7RTFGMmdtQko7O0UwRnhnbUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTFGMmdtQko7QUFDRjtBMEZ4Z21CQTtFQUNJO0lBQ0U7RTFGMGdtQko7O0UwRnZnbUJFO0lBQ0U7RTFGMGdtQko7O0UwRnZnbUJFO0lBQ0U7SUFDQTtJQUNBO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0lBQ0E7RTFGMGdtQko7O0UwRnZnbUJFO0lBQ0U7RTFGMGdtQko7O0UwRnZnbUJFO0lBQ0U7RTFGMGdtQko7O0UwRnZnbUJFO0lBQ0U7RTFGMGdtQko7QUFDRjtBMEZ2Z21CQTtFQUNFO0lBQ0U7RTFGeWdtQkY7O0UwRnRnbUJBO0lBQ0U7RTFGeWdtQkY7O0UwRnRnbUJBO0lBQ0U7RTFGeWdtQkY7RTBGdmdtQkU7SUFDRTtFMUZ5Z21CSjs7RTBGcmdtQkE7SUFDRTtJQUNBO0UxRndnbUJGO0UwRnRnbUJFO0lBQ0U7RTFGd2dtQko7O0UwRnBnbUJBO0lBQ0U7RTFGdWdtQkY7O0UwRnBnbUJFO0lBQ0U7RTFGdWdtQko7O0UwRnBnbUJBO0lBQ0k7RTFGdWdtQko7O0UwRnBnbUJBO0lBQ0U7RTFGdWdtQkY7O0UwRnBnbUJBO0lBQ0U7RTFGdWdtQkY7O0UwRnBnbUJBO0lBQ0k7SUFDQTtFMUZ1Z21CSjtBQUNGO0EwRm5nbUJBO0VBQ0k7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkU7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkU7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkU7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkU7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkU7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkU7SUFDRTtFMUZxZ21CSjs7RTBGbGdtQkE7SUFDSTtFMUZxZ21CSjtBQUNGO0EwRmxnbUJBO0VBQ0k7SUFDRTtFMUZvZ21CSjs7RTBGamdtQkU7SUFDRTtJQUNBO0UxRm9nbUJKOztFMEZqZ21CRTtJQUNFO0lBQ0E7RTFGb2dtQko7O0UwRmpnbUJFO0lBQ0U7SUFDQTtFMUZvZ21CSjs7RTBGamdtQkU7SUFDRTtJQUNBO0UxRm9nbUJKO0FBQ0Y7QTBGamdtQkE7RUFDSTtJQUNJO0UxRm1nbUJOO0UwRmpnbUJNO0lBRUU7RTFGa2dtQlI7O0UwRjkvbEJFO0lBQ0U7RTFGaWdtQko7O0UwRjkvbEJFO0lBQ0s7RTFGaWdtQlA7QUFDRjtBMEY5L2xCQTtFQUNJO0lBQ0U7RTFGZ2dtQko7QUFDRjtBMEY3L2xCQTtFQUNJO0lBQ0U7RTFGKy9sQko7QUFDRjtBMEY1L2xCQTtFQUNFO0lBQ0U7RTFGOC9sQkY7O0UwRjUvbEJBO0lBQ0U7RTFGKy9sQkY7O0UwRjUvbEJBO0lBQ0U7RTFGKy9sQkY7O0UwRjUvbEJBO0lBQ0U7RTFGKy9sQkY7QUFDRjtBMEY1L2xCQTtFQUNJO0lBQ0U7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNJO0UxRjgvbEJOOztFMEYzL2xCRTtJQUNJO0UxRjgvbEJOOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0lBQ0E7RTFGOC9sQko7RTBGNS9sQkk7SUFDRTtJQUNBO0UxRjgvbEJOOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7SUFDQTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7SUFDQTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtJQUNBO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRnovbEJJO0lBQ0U7RTFGNC9sQk47O0UwRnQvbEJJO0lBQ0U7RTFGeS9sQk47O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7O0UwRnIvbEJFO0lBQ0U7RTFGdy9sQko7QUFDRjtBMEZyL2xCQTtFQUVJOztJQUVFO0UxRnMvbEJKOztFMEZuL2xCRTtJQUNJO0UxRnMvbEJOOztFMEZuL2xCRTtJQUNFO0UxRnMvbEJKOztFMEZuL2xCRTtJQUNJO0lBQ0E7RTFGcy9sQk47O0UwRm4vbEJFO0lBQ0k7SUFDQTtFMUZzL2xCTjs7RTBGbi9sQkU7SUFDSTtFMUZzL2xCTjs7RTBGbi9sQkU7SUFDRTtFMUZzL2xCSjs7RTBGbi9sQkU7SUFDRTtFMUZzL2xCSjs7RTBGbi9sQkU7SUFDRTtFMUZzL2xCSjtFMEZwL2xCSTtJQUNFO0lBQ0E7RTFGcy9sQk47O0UwRmwvbEJFO0lBQ0U7SUFDQTtFMUZxL2xCSjs7RTBGbC9sQkU7SUFDRTtJQUNBO0UxRnEvbEJKOztFMEZsL2xCRTtJQUNFO0UxRnEvbEJKOztFMEZqL2xCRTtJQUNFO0UxRm8vbEJKO0UwRmwvbEJJO0lBQ0U7SUFDQTtJQUNBO0UxRm8vbEJOOztFMEZoL2xCRTtJQUNFO0lBQ0E7RTFGbS9sQko7O0UwRmgvbEJFO0lBQ0k7SUFDQTtFMUZtL2xCTjtFMEZqL2xCTTtJQUNFO0lBQ0E7RTFGbS9sQlI7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7O0UwRi8rbEJFO0lBQ0U7RTFGay9sQko7QUFDRjtBMEYvK2xCQTtFQUNJO0lBQ0U7SUFDQTtFMUZpL2xCSjs7RTBGOStsQkU7SUFDSTtFMUZpL2xCTjs7RTBGOStsQkU7SUFDRTtFMUZpL2xCSjs7RTBGOStsQkU7SUFDRTtFMUZpL2xCSjs7RTBGOStsQkU7SUFDSTtFMUZpL2xCTjs7RTBGOStsQkU7SUFDRTtJQUNBO0lBQ0E7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7SUFDQTtFMUZpL2xCSjs7RTBGOStsQkU7SUFDRTtFMUZpL2xCSjs7RTBGOStsQkU7SUFDRTtFMUZpL2xCSjs7RTBGOStsQkU7SUFDRTtFMUZpL2xCSjtBQUNGO0EwRjkrbEJBO0VBQ0U7SUFDRTtFMUZnL2xCRjs7RTBGNytsQkE7SUFDRTtFMUZnL2xCRjs7RTBGNytsQkE7SUFDRTtJQUNBO0lBQ0E7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7SUFDQTtFMUZnL2xCRjs7RTBGNytsQkE7SUFDSTtFMUZnL2xCSjs7RTBGNytsQkE7SUFDRTtFMUZnL2xCRjs7RTBGNytsQkE7SUFDRTtFMUZnL2xCRjs7RTBGNytsQkE7SUFDRTtFMUZnL2xCRjs7RTBGNytsQkE7SUFDRTtJQUNBLHlCMUZocUJJO0VBZ3BuQk47O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7RTBGOStsQkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFMUZnL2xCSjs7RTBGNStsQkE7SUFDRTtFMUYrK2xCRjs7RTBGNStsQkE7SUFDSTtJQUNBO0UxRisrbEJKOztFMEY1K2xCQTtJQUNFO0UxRisrbEJGO0UwRjcrbEJFO0lBQ0k7RTFGKytsQk47RTBGNytsQk07SUFDRTtJQUNBO0lBQ0E7RTFGKytsQlI7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtJQUNBO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDSTtJQUNBO0UxRjYrbEJKOztFMEYxK2xCQTtJQUNFO0lBQ0E7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtJQUNBO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0k7RTFGNitsQko7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0UseUIxRjV4Qkk7RUF5d25CTjtFMEYzK2xCRTtJQUNFO0UxRjYrbEJKOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0lBQ0E7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7SUFDQTtJQUNBO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0lBQ0E7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7SUFDQTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtJQUNBO0UxRjQrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0lBQ0E7SUFDQTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtJQUNBO0lBQ0E7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTs7O0lBR0U7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0lBQ0E7RTFGMitsQko7O0UwRngrbEJFO0lBQ0k7SUFDQTtFMUYyK2xCTjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDSTtJQUNBO0UxRjIrbEJOOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNHO0UxRjIrbEJMOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0lBQ0E7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7SUFDQTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNJO0lBQ0E7RTFGMitsQk47O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7QUFDRjtBQTVob0JBO0VBQ0k7QUE4aG9CSjs7QUEzaG9CQTtFQUNJO0FBOGhvQko7O0FBMWhvQkk7RUFDSTtBQTZob0JSOztBQXpob0JBO0VBQ0k7QUE0aG9CSjs7QUF6aG9CQTtFQUNJO0FBNGhvQko7O0FBemhvQkE7RUFDSTtBQTRob0JKOztBQXpob0JBO0VBQ0kseUJBckNJO0VBc0NKLGNBbkNJO0FBK2pvQlI7O0FBemhvQkE7RUFDSTtJQUNFO0VBNGhvQko7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2FwcC10aW1leHRlbmRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzLXRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL21peGlucy10aGVtZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWFkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlzdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Rlc2NyaXB0aW9uLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90YWJsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLXJhbmdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Byb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RpbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zcGlubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdG90b3Auc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGVydC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sYWJlbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL292ZXJsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29tbWVudC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NlYXJjaC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Auc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVzaG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3RpY2t5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc29ydGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb3VudGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3VibmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90YWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZW5hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2RvdG5hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RodW1ibmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbm5hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xpZ2h0Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvd2lkdGguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWlnaHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29sdW1uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY292ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWxpZ24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy91dGlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZmxleC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmdpbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BhZGRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy92aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3ByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fYmFzZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9sYXlvdXQvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9sYXlvdXQvX2xheW91dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX2Jsb2NrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fbmljZXNlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19wYWdlbG9hZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX3BseXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fbmlldXdzYnJpZWYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9sYXlvdXQvX2xheW91dC1tb2JpbGUuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbGdlbWVuZSBrbGV1cmVuXG4kZGVlcGVzdC1ibGFjazogIzAwMDtcbiRibGFjazogIzJEMkMzMTtcbiR3aGl0ZTogI0ZGRkZGRjtcbiRyZWQ6ICNEMzM2MzY7XG4kb3JhbmdlOiAjRjE5RTM4O1xuJGdyZWVuOiAjRjA2QzI0O1xuJGdyZXk6ICNCMUI4Qzc7XG4kbGlnaHQtZ3JleTogI0Y1RjZGODtcbiRkYXJrLWdyZXk6ICM3NzdCODY7XG5cbkBpbXBvcnQgXCJhcHAuc2Nzc1wiO1xuXG5hLnJlYWQtbW9yZSA+IHNwYW46OmJlZm9yZSwgc3Bhbi5yZWFkLW1vcmUgPiBzcGFuOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1vcmFuZ2UtcmlnaHQuc3ZnKTtcbn1cblxuLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3Byb2R1Y3RzLWRlY29yYXRpb24tb3JhbmdlLnN2Zyk7XG59XG5cbi5jb21wb25lbnQtdGVrc3QgdWwgbGkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9vcmFuZ2UtY2hlY2suc3ZnKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLnByb2R1Y3QgLnRleHQtaG9sZGVyIHVsIGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvb3JhbmdlLWNoZWNrLnN2ZycpO1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciAudGV4dC1ob2xkZXIgdWwgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9vcmFuZ2UtY2hlY2suc3ZnJyk7XG59XG5cbi5jb21wb25lbnQtcXVvdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL3F1b3RlLW9yYW5nZS5zdmcpO1xufVxuXG5oZWFkZXIgLnRvcC1tZW51LWhvbGRlciBsaSAudmFjYXR1cmUtY291bnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGdyZWVuO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgaGVhZGVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICB9XG59IiwiLy8gTmFtZTogICAgICAgICAgICBCYXNlXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmF1bHQgdmFsdWVzIGZvciBIVE1MIGVsZW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWgxYCwgYHVrLWgyYCwgYHVrLWgzYCwgYHVrLWg0YCwgYHVrLWg1YCwgYHVrLWg2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaHJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbmEsXG4udWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluaygpO31cbn1cblxuYTpob3Zlcixcbi51ay1saW5rOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmstaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBFZGdlLlxuICogMi4gVGhlIHNob3J0aGFuZCBkZWNsYXJhdGlvbiBgdW5kZXJsaW5lIGRvdHRlZGAgaXMgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcgeyBmb250LXdlaWdodDogJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OyB9XG5cbi8qXG4gKiAxLiBDb25zb2xhcyBoYXMgYSBiZXR0ZXIgYmFzZWxpbmUgaW4gcnVubmluZyB0ZXh0IGNvbXBhcmVkIHRvIGBDb3VyaWVyYFxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gU3R5bGVcbiAqL1xuXG46bm90KHByZSkgPiBjb2RlLFxuOm5vdChwcmUpID4ga2JkLFxuOm5vdChwcmUpID4gc2FtcCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5O1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRiYXNlLWNvZGUtZm9udC1zaXplO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGJhc2UtY29kZS1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWNvZGUoKTt9XG59XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuXG5lbSB7IGNvbG9yOiAkYmFzZS1lbS1jb2xvcjsgfVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cblxuaW5zIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1pbnMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtaW5zLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIE1hcmtcbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1tYXJrLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLW1hcmstY29sb3I7XG59XG5cbi8qXG4gKiBRdW90ZVxuICovXG5cbnEgeyBmb250LXN0eWxlOiAkYmFzZS1xdW90ZS1mb250LXN0eWxlOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7IGZvbnQtc2l6ZTogJGJhc2Utc21hbGwtZm9udC1zaXplOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHsgdG9wOiAtMC41ZW07IH1cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBlbWJlZGRlZCBjb250ZW50IGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIDEuIEFkZCByZXNwb25zaXZlbmVzcy5cbiAqIDIuIEF1dG8tc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnQuXG4gKiAzLiBDb3JyZWN0cyByZXNwb25zaXZlIGBtYXgtd2lkdGhgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZC5cbiAqIDQuIEV4Y2x1ZGUgU1ZHcyBmb3IgSUUxMSBiZWNhdXNlIHRoZXkgZG9uJ3QgcHJlc2VydmUgdGhlaXIgYXNwZWN0IHJhdGlvLlxuICovXG5cbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIDQgKi9cbkBzdXBwb3J0cyAoZGlzcGxheTogYmxvY2spIHtcblxuICAgc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIEZpeCBsYXp5IGxvYWRpbmcgaW1hZ2VzIGlmIHBhcmVudCBlbGVtZW50IGlzIHNldCB0byBgZGlzcGxheTogaW5saW5lYCBhbmQgaGFzIGBvdmVyZmxvdzogaGlkZGVuYC5cbiAqIDIuIEhpZGUgYGFsdGAgdGV4dCBmb3IgbGF6eSBsb2FkaW5nIGltYWdlcy5cbiAqIE5vdGU6IFNlbGVjdG9yIGZvciBiYWNrZ3JvdW5kIHdoaWxlIGxvYWRpbmcgaW1nW2RhdGEtc3JjKj0nLmpwZyddW3NyYyo9J2RhdGE6aW1hZ2UnXSB7IGJhY2tncm91bmQ6IGdyZXk7IH1cbiAqL1xuXG5pbWc6bm90KFtzcmNdKSB7XG4gICAgLyogMSAqL1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIC8qIDIgKi9cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBJZnJhbWVcbiAqIFJlbW92ZSBib3JkZXIgaW4gYWxsIGJyb3dzZXJzXG4gKi9cblxuaWZyYW1lIHsgYm9yZGVyOiAwOyB9XG5cblxuLyogQmxvY2sgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTWFyZ2luc1xuICovXG5cbnAsXG51bCxcbm9sLFxuZGwsXG5wcmUsXG5hZGRyZXNzLFxuZmllbGRzZXQsXG5maWd1cmUgeyBtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW4tdmVydGljYWwgMDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBwLFxuKiArIHVsLFxuKiArIG9sLFxuKiArIGRsLFxuKiArIHByZSxcbiogKyBhZGRyZXNzLFxuKiArIGZpZWxkc2V0LFxuKiArIGZpZ3VyZSB7IG1hcmdpbi10b3A6ICRiYXNlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRpbmdzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaDEsIC51ay1oMSxcbmgyLCAudWstaDIsXG5oMywgLnVrLWgzLFxuaDQsIC51ay1oNCxcbmg1LCAudWstaDUsXG5oNiwgLnVrLWg2LFxuLnVrLWhlYWRpbmctc21hbGwsXG4udWstaGVhZGluZy1tZWRpdW0sXG4udWstaGVhZGluZy1sYXJnZSxcbi51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhlYWRpbmcoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2LFxuKiArIC51ay1oZWFkaW5nLXNtYWxsLFxuKiArIC51ay1oZWFkaW5nLW1lZGl1bSxcbiogKyAudWstaGVhZGluZy1sYXJnZSxcbiogKyAudWstaGVhZGluZy14bGFyZ2UsXG4qICsgLnVrLWhlYWRpbmctMnhsYXJnZSB7IG1hcmdpbi10b3A6ICRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDsgfVxuXG4vKlxuICogU2l6ZXNcbiAqL1xuXG5oMSwgLnVrLWgxIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDEtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDEpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWgxKCk7fVxufVxuXG5oMiwgLnVrLWgyIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWgyKCk7fVxufVxuXG5oMywgLnVrLWgzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgzLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDMtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDMpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWgzKCk7fVxufVxuXG5oNCwgLnVrLWg0IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWg0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDQtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDQpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWg0KCk7fVxufVxuXG5oNSwgLnVrLWg1IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWg1LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWg1KCk7fVxufVxuXG5oNiwgLnVrLWg2IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWg2LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDYtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDYpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWg2KCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIGgxLCAudWstaDEgeyBmb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tOyB9XG4gICAgaDIsIC51ay1oMiB7IGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxudWwsXG5vbCB7IHBhZGRpbmctbGVmdDogJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIFJlc2V0IG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gKi9cblxudWwgPiBsaSA+IHVsLFxudWwgPiBsaSA+IG9sLFxub2wgPiBsaSA+IG9sLFxub2wgPiBsaSA+IHVsIHsgbWFyZ2luOiAwOyB9XG5cblxuLyogRGVzY3JpcHRpb24gbGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5kdCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5kZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cblxuLyogSG9yaXpvbnRhbCBydWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBDaHJvbWUsIEVkZ2UgYW5kIElFLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBTdHlsZVxuICovXG5cbmhyLCAudWstaHIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiAyICovXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6ICRiYXNlLWhyLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1oci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBocixcbiogKyAudWstaHIgeyBtYXJnaW4tdG9wOiAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgfVxuXG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hZGRyZXNzIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJsb2NrcXVvdGUoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGJsb2NrcXVvdGUgeyBtYXJnaW4tdG9wOiAkYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogQ29udGVudFxuICovXG5cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAgJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIFByZWZvcm1hdHRlZCB0ZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgZm9udDogJGJhc2UtcHJlLWZvbnQtc2l6ZSB1bnF1b3RlKFwiL1wiKSAkYmFzZS1wcmUtbGluZS1oZWlnaHQgJGJhc2UtcHJlLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkYmFzZS1wcmUtY29sb3I7XG4gICAgLW1vei10YWItc2l6ZTogNDtcbiAgICB0YWItc2l6ZTogNDtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtcHJlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1wcmUoKTt9XG59XG5cbnByZSBjb2RlIHsgZm9udC1mYW1pbHk6ICRiYXNlLXByZS1mb250LWZhbWlseTsgfVxuXG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2Utc2VsZWN0aW9uLWNvbG9yO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5cbi8qIEhUTUw1IGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tYWluIHsgLyogMiAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkgeyBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFBhc3MgbWVkaWEgYnJlYWtwb2ludHMgdG8gSlNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQnJlYWtwb2ludHNcbiAqL1xuXG4udWstYnJlYWtwb2ludC1zOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtc21hbGx9JzsgfVxuLnVrLWJyZWFrcG9pbnQtbTo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LW1lZGl1bX0nOyB9XG4udWstYnJlYWtwb2ludC1sOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbGFyZ2V9JzsgfVxuLnVrLWJyZWFrcG9pbnQteGw6OmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXhsYXJnZX0nOyB9XG5cbjpyb290IHtcbiAgICAtLXVrLWJyZWFrcG9pbnQtczogI3skYnJlYWtwb2ludC1zbWFsbH07XG4gICAgLS11ay1icmVha3BvaW50LW06ICN7JGJyZWFrcG9pbnQtbWVkaXVtfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQtbDogI3skYnJlYWtwb2ludC1sYXJnZX07XG4gICAgLS11ay1icmVha3BvaW50LXhsOiAjeyRicmVha3BvaW50LXhsYXJnZX07XG59XG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhc2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oZWFkaW5nKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgzKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg2KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ocigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLXByZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG4iLCIkZ2xvYmFsLW1hcmdpbjogMjBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1pbnZlcnNlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZjhmOGY4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6ICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMWU4N2YwICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ6ICMzMmQyOTYgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogI2ZhYTA1YSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6ICNmMDUwNmUgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZ3V0dGVyOiA0MHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRhbmltYXRpb24tZHVyYXRpb246IDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246IDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjogMnMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiA3MHB4ICFkZWZhdWx0O1xuJGFydGljbGUtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplOiAyLjYyNXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMjIyICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2Utc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYWRnZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1jb2xvcjogIzFlODdmMCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAjMGY2ZWNkICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiA0MHB4ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlcjogI2U1ZTVlNSAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6IFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6IDU1cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGluay1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogMTVweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZ3V0dGVyOiA3MHB4ICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGludmVyc2UtY2FyZC1iYWRnZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtY2FyZC1iYWRnZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06IDEwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogMTQwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ6IDAuOCAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiA0cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06IDZyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogM3JlbSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0td2lkdGg6IDEwcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taGVpZ2h0OiAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXotaW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4kZHJvcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuJGZvcm0taGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAkZm9ybS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6IDRweCAhZGVmYXVsdDtcbiRmb3JtLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXhzbWFsbDogNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6IDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdpZHRoOiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogNHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjgxMjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjg3NSAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbDogNnJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbDogMTFyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC10b3A6IHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6IHVucXVvdGUoJ2NhbGMoNHB4ICsgMC43ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw6IDMuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjkgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC43NSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC41ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6IDQ1MHB4ICFkZWZhdWx0O1xuJGljb24taW1hZ2Utc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRpY29uLWxpbmstY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6IGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tc2l6ZTogMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1jb250ZW50OiB1bnF1b3RlKCcuJykgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICMwMDAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoOiAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6IDEwMHZoICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLXNpemU6IDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46IDE0MHB4ICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogbm9uZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogMjVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogKCRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06IDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6IDUwcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tdG9wOiAtMTFweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b206IC0zOXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ6IC0yNXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0OiAtMjVweCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsOiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0b29sdGlwLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6IDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kdG90b3AtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNjYWxlOiAxLjAzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246IDAuN3MgIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6IDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogMjBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuJGxvZ28tZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbG9nby1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZGVwcmVjYXRlZDogZmFsc2UgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbDogNjQwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW06IDk2MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2U6IDEyMDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhsYXJnZTogMTYwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1tZWRpdW0gLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bS1tYXg6ICgkYnJlYWtwb2ludC1sYXJnZSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2UtbWF4OiAoJGJyZWFrcG9pbnQteGxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiR3aWR0aC1zbWFsbC13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC0yeGxhcmdlLXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1tYXJnaW4tbGVmdDogMTBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogMC40ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk6IDAuOCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1jb2xvcjogJGFydGljbGUtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcHJlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAyMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMzAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItYm9yZGVyOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1ib3JkZXI6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTogZGFzaGVkICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJveC1zaGFkb3c6IDAgNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstY29sb3I6ICR0ZXh0LW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC40KSAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0OyIsIkBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgaGVpZ2h0OiAoJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodCAqIDFlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWNjb3JkaW9uLWljb24tbWFyZ2luLWxlZnQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgfVxuXG4gICAgLnVrLW9wZW4gPiAmOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkYWNjb3JkaW9uLWljb24tY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpe1xuXG4gICAgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxuICAgIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG59XG5AbWl4aW4gaG9vay1hbGVydCgpe31cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1ob3Zlci1vcGFjaXR5O1xufVxuQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stYWxlcnQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBDb250ZW50XG4gICAgICovXG5cbiAgICAudWstYWxlcnQgaDEsXG4gICAgLnVrLWFsZXJ0IGgyLFxuICAgIC51ay1hbGVydCBoMyxcbiAgICAudWstYWxlcnQgaDQsXG4gICAgLnVrLWFsZXJ0IGg1LFxuICAgIC51ay1hbGVydCBoNiB7IGNvbG9yOiBpbmhlcml0OyB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSkge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYWxpZ24tbWlzYygpe31cbkBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1tZXRhKCl7XG5cbiAgICBhIHsgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1jb2xvcjsgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpe1xuXG4gICAgLnVrLWFydGljbGUtdGl0bGUgIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpO31cbiAgICB9XG5cbiAgICAudWstYXJ0aWNsZS1tZXRhICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuQG1peGluIGhvb2stYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCl7XG5cbiAgICAudWstYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZSgpO31cbiAgICB9XG5cbiAgICAudWstYmFkZ2U6aG92ZXIsXG4gICAgLnVrLWJhZGdlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWNvZGUoKXtcbiAgICBwYWRkaW5nOiAkYmFzZS1jb2RlLXBhZGRpbmctdmVydGljYWwgJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtY29kZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2stYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWJhc2UtaDUoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2stYmFzZS1ocigpe31cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZSgpe1xuICAgIGNvbG9yOiAkYmFzZS1ibG9ja3F1b3RlLWNvbG9yO1xufVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe1xuXG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yO1xuXG4gICAgJjo6YmVmb3JlIHsgY29udGVudDogXCLigJQgXCI7IH1cblxufVxuQG1peGluIGhvb2stYmFzZS1wcmUoKXtcbiAgICBwYWRkaW5nOiAkYmFzZS1wcmUtcGFkZGluZztcbiAgICBib3JkZXI6ICRiYXNlLXByZS1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtcHJlLWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFzZS1wcmUtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1wcmUtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWJhc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpe1xuICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXsgY29sb3I6ICRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJhc2UoKXtcblxuICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvbG9yO1xuXG4gICAgLy8gQmFzZVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIGEsXG4gICAgLnVrLWxpbmsgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgYTpob3ZlcixcbiAgICAudWstbGluazpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4gICAgLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBDb2RlXG4gICAgLy9cblxuICAgIDpub3QocHJlKSA+IGNvZGUsXG4gICAgOm5vdChwcmUpID4ga2JkLFxuICAgIDpub3QocHJlKSA+IHNhbXAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEVtcGhhc2l6ZVxuICAgIC8vXG5cbiAgICBlbSB7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWVtLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEhlYWRpbmdzXG4gICAgLy9cblxuICAgIGgxLCAudWstaDEsXG4gICAgaDIsIC51ay1oMixcbiAgICBoMywgLnVrLWgzLFxuICAgIGg0LCAudWstaDQsXG4gICAgaDUsIC51ay1oNSxcbiAgICBoNiwgLnVrLWg2LFxuICAgIC51ay1oZWFkaW5nLXNtYWxsLFxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSxcbiAgICAudWstaGVhZGluZy1sYXJnZSxcbiAgICAudWstaGVhZGluZy14bGFyZ2UsXG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCk7fVxuICAgIH1cblxuICAgIGgxLCAudWstaDEge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgxKCk7fVxuICAgIH1cblxuICAgIGgyLCAudWstaDIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgyKCk7fVxuICAgIH1cblxuICAgIGgzLCAudWstaDMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgzKCk7fVxuICAgIH1cblxuICAgIGg0LCAudWstaDQge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg0KCk7fVxuICAgIH1cblxuICAgIGg1LCAudWstaDUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg1KCk7fVxuICAgIH1cblxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg2KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQmxvY2txdW90ZXNcbiAgICAvL1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCk7fVxuICAgIH1cblxuICAgIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEhvcml6b250YWwgcnVsZXNcbiAgICAvL1xuXG4gICAgaHIsIC51ay1ociB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWJhc2UtaHItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKXtcblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tdGV4dC1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi10ZXh0LWJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG5cbiAgICAmOjpiZWZvcmUgeyByaWdodDogMDsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe1xuXG4gICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7XG5cbiAgICAvKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuICAgIC51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAoLSRidXR0b24tYm9yZGVyLXdpZHRoKTsgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBzdXBlcmltcG9zZSB0aGUgc3VjY2Vzc29yIGVsZW1lbnRzIGJvcmRlclxuICAgICAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gICAgICogdGhlIGFjdGl2ZSBzdGF0ZSB3aWxsIG5vdCB3b3JrIGlmIHlvdSBjbGljayB0aGUgaWNvbiBpbnNpZGUgdGhlIGJ1dHRvblxuICAgICAqIFdvcmthcm91bmQ6IEp1c3QgdXNlIGEgYGJ1dHRvbmAgb3IgYGlucHV0YCBlbGVtZW50IGFzIGJ1dHRvblxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpmb2N1cyxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7XG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1idXR0b24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tbGluazpob3ZlcixcbiAgICAudWstYnV0dG9uLWxpbms6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I7IH1cblxuXG59XG5AbWl4aW4gaG9vay1jYXJkKCl7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbkBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuQG1peGluIGhvb2stY2FyZC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7IGJvcmRlci1ib3R0b206ICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXsgYm9yZGVyLXRvcDogJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoICBzb2xpZCAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogRGVmYXVsdFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICB9XG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgIH1cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIH1cblxuICAgIC8qXG4gICAgICogU21hbGxcbiAgICAgKi9cblxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICB9XG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4gICAgLypcbiAgICAgKiBMYXJnZVxuICAgICAqL1xuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW46IDA7IH1cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7IG1hcmdpbjogMDsgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2FyZCgpe1xuXG4gICAgJi51ay1jYXJkLWJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtY2FyZC1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2FyZC1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2FyZC1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2FyZC1iYWRnZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNsb3NlKCl7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKXtcblxuICAgIC51ay1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlKCk7fVxuICAgIH1cblxuICAgIC51ay1jbG9zZTpob3ZlcixcbiAgICAudWstY2xvc2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCl7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIgeyBjb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1jb21tZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe1xuICAgIHBhZGRpbmc6ICRjb21tZW50LXByaW1hcnktcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvdW50ZG93bigpe1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIsXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7XG4gICAgZm9udC1zaXplOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe31cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldywgJHByb3BlcnR5OiBiYWNrZ3JvdW5kLWltYWdlKXtcblxuICAgICRlc2NhcGUtY29sb3ItZGVmYXVsdDogIGVzY2FwZSgkY29sb3ItZGVmYXVsdCkgIWRlZmF1bHQ7XG4gICAgJGVzY2FwZS1jb2xvci1uZXc6ICBlc2NhcGUoXCIjeyRjb2xvci1uZXd9XCIpICFkZWZhdWx0O1xuXG4gICAgJGRhdGEtdXJpOiAgZGF0YS11cmkoJ2ltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCcsIFwiI3skc3JjfVwiKSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6ICByZXBsYWNlKFwiI3skZGF0YS11cml9XCIsIFwiI3skZXNjYXBlLWNvbG9yLWRlZmF1bHR9XCIsIFwiI3skZXNjYXBlLWNvbG9yLW5ld31cIiwgXCJnXCIpICFkZWZhdWx0O1xuXG4gICAgI3skcHJvcGVydHl9OiB1bnF1b3RlKCRyZXBsYWNlLXNyYyk7XG59XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpe1xuXG4gICAgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRvdG5hdigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7XG4gICAgYm9yZGVyOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkICRkb3RuYXYtaXRlbS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXsgYm9yZGVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KTsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCl7XG5cbiAgICAudWstZG90bmF2ID4gKiA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXsgZm9udC1zaXplOiAkZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpeyBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXsgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0oKXtcbiAgICBib3JkZXI6ICRmb3JtLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGFuZ2VyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tc3VjY2Vzcy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyO1xuICAgIGJvcmRlci1zdHlsZTogJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlO1xufVxuQG1peGluIGhvb2stZm9ybS1yYWRpbygpe1xuICAgIGJvcmRlcjogJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhZGlvLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBTZWxlY3RcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEYXRhbGlzdFxuICAgIC8vXG5cbiAgICAudWstaW5wdXRbbGlzdF06aG92ZXIsXG4gICAgLnVrLWlucHV0W2xpc3RdOmZvY3VzIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstcmFkaW8sXG4gICAgLnVrLWNoZWNrYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC51ay1yYWRpbzpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbiAgICAvLyBMYWJlbFxuICAgIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLWZvcm0taWNvbiB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24tY29sb3I7IH1cbiAgICAudWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbkBtaXhpbiBob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKXtcblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCk7fVxuICAgIH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1zbWFsbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbWVkaXVtKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy14bGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKCk7fVxuICAgIH1cblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkgeyAudWstaGVhZGluZy1wcmltYXJ5IHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCk7fX19XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHsgLnVrLWhlYWRpbmctaGVybyB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpO319fVxuXG4gICAgLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbiAgICAudWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24oKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKXtcblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tbGluazpob3ZlcixcbiAgICAudWstaWNvbi1saW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tbGluazphY3RpdmUsXG4gICAgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJ1dHRvblxuICAgIC8vXG5cbiAgICAudWstaWNvbi1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246aG92ZXIsXG4gICAgLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWljb25uYXYoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWljb25uYXYoKXtcblxuICAgIC51ay1pY29ubmF2ID4gKiA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCl7XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQsXG4gICAgLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1tdXRlZDpob3ZlcixcbiAgICAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbiAgICAudWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstbXV0ZWQgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLXRleHQ6aG92ZXIsXG4gICAgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuICAgIC51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4gICAgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuICAgIC51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCl7XG5cbiAgICAudWstbGlzdC1tdXRlZCA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3QtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1saXN0LWVtcGhhc2lzID4gOjpiZWZvcmUgeyBjb2xvcjogJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWxpc3QtcHJpbWFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3QtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGludmVyc2UtbGlzdC1zZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICB9XG5cbiAgICAudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpO31cbiAgICB9XG5cbiAgICAudWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIFxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpe1xuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay10YWIgPiAqID4gYTpmb2N1c3tcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpe1xuXG4gICAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgICAudWstZHJvcGNhcCBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRyb3BjYXApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRyb3BjYXAoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nbygpO31cbiAgICB9XG5cbiAgICAudWstbG9nbzpob3ZlcixcbiAgICAudWstbG9nbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IGlubGluZTsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlKCl7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKTtcbn1cbkBtaXhpbiBob29rLWxhYmVsKCl7XG4gICAgYm9yZGVyLXJhZGl1czogJGxhYmVsLWJvcmRlci1yYWRpdXM7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRsYWJlbC10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGVhZGVyKCl7XG5cbiAgICAudWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sZWFkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saWdodGJveCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbkBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7XG5cbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBib3JkZXItdG9wOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7XG5cbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXIoKXtcbiAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbn1cbkBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW1hcmtlcigpe1xuXG4gICAgLnVrLW1hcmtlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbWFya2VyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1tYXJrZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW1hcmtlcigpO31cbiAgICB9XG5cbiAgICAudWstbWFya2VyOmhvdmVyLFxuICAgIC51ay1tYXJrZXI6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLW1vZGFsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLW1vZGFsLWZvb3RlcigpeyBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLWZ1bGwtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtY2xvc2UtZnVsbC1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXsgZm9udC1zaXplOiAkbmF2LWRlZmF1bHQtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXsgYm94LXNoYWRvdzogbm9uZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogTmF2YmFyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuICAgIC8qXG4gICAgICogR3JpZCBEaXZpZGVyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAoJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsIC8gMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWwgLyAyKTtcbiAgICAgICAgbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlcigpe31cbkBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7XG4gICAgZm9udC1zaXplOiAkc3VibmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe1xuICAgIGJvcmRlci10b3A6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbWlzYygpe1xuXG4gICAgLnVrLXRhYiAudWstZHJvcGRvd24geyBtYXJnaW4tbGVmdDogKCR0YWItbWFyZ2luLWhvcml6b250YWwgKyAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKSB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLXRhYi1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbkBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe1xuXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyIHsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCl7XG5cbiAgICAudWstdGFibGUgdGgge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbiAgICAudWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuICAgIC51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJHRleHQtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe1xuICAgICY6OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGh1bWJuYXYoKXtcblxuICAgIC51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe1xuICAgIC8vIFByZXZlbnQgbGluZSB3cmFwXG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExpbmtcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaW5rc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmstbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLWhlYWRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXJlc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWxpbmstdG9nZ2xlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlua1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogTXV0ZWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay1tdXRlZCBhIHtcbiAgICBjb2xvcjogJGxpbmstbXV0ZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1saW5rLW11dGVkKCk7fVxufVxuXG5hLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4udWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLW11dGVkIHtcbiAgICBjb2xvcjogJGxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLW11dGVkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstdGV4dCxcbi51ay1saW5rLXRleHQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dCkpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dCgpO31cbn1cblxuYS51ay1saW5rLXRleHQ6aG92ZXIsXG4udWstbGluay10ZXh0IGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstdGV4dCxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay10ZXh0IHtcbiAgICBjb2xvcjogJGxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0LWhvdmVyKCk7fVxufVxuXG5cbi8qIEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstaGVhZGluZyxcbi51ay1saW5rLWhlYWRpbmcgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZygpO31cbn1cblxuYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4udWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLWhlYWRpbmctaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKTt9XG59XG5cblxuLyogUmVzZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBpbnZlcnNlIGNvbXBvbmVudFxuICovXG5cbmEudWstbGluay1yZXNldCxcbi51ay1saW5rLXJlc2V0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstcmVzZXQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXJlc2V0KCk7fVxufVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saW5rLXRvZ2dsZSB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbiBcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saW5rLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1oZWFkaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlYWRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBoZWFkaW5nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhlYWRpbmctcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctaGVyb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1saW5lYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbSAqIDAuOCAhZGVmYXVsdDsgICAgICAvLyAzOHB4IDAuNzNcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW0gKiAwLjgyNSAhZGVmYXVsdDsgICAgIC8vIDQwcHggMC43MTRcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7ICAgICAgLy8gNTBweCAwLjc4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7ICAgICAgICAgICAgIC8vIDRyZW0gLyA2NHB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDZyZW0gLyA5NnB4XG5cbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjgxMjUgIWRlZmF1bHQ7ICAgLy8gMy4yNXJlbSAvIDUycHhcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjg3NSAhZGVmYXVsdDsgICAgLy8gMy41cmVtIC8gNTZweFxuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAhZGVmYXVsdDsgICAgICAgICAgICAvLyA0cmVtIC8gNjRweFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgICAvLyA2cmVtIC8gOTZweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDsgICAgICAgICAgICAvLyA4cmVtIC8gMTI4cHhcblxuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA2NHB4XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDk2cHhcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTI4cHhcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAxMXJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTc2cHhcblxuJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlYWRpbmctYnVsbGV0LXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDRweCArIDAuN2VtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4yZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlYWRpbmctbGluZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuM2VtKScpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctc21hbGwoKTt9XG59XG5cbi51ay1oZWFkaW5nLW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1tZWRpdW0tbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbWVkaXVtKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1tZWRpdW0oKTt9XG59XG5cbi51ay1oZWFkaW5nLWxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxhcmdlKCk7fVxufVxuXG4udWstaGVhZGluZy14bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmcteGxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmcteGxhcmdlKCk7fVxufVxuXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy0yeGxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLTJ4bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKTt9XG59XG5cbi8qIFRhYmxldCBMYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctc21hbGwgeyBmb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHsgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy1sYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy14bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW07IH1cblxufVxuXG4vKiBMYXB0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstaGVhZGluZy1tZWRpdW0geyBmb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDsgfVxuICAgIC51ay1oZWFkaW5nLWxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbDsgfVxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOyB9XG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbDsgfVxuXG59XG5cblxuLyogUHJpbWFyeVxuICAgRGVwcmVjYXRlZDogVXNlIGB1ay1oZWFkaW5nLW1lZGl1bWAgaW5zdGVhZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAzLjc1cmVtICFkZWZhdWx0OyAgLy8gNjBweFxuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjkgIWRlZmF1bHQ7IC8vIDU0cHhcblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7IC8vIDQ4cHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbkBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1wcmltYXJ5KCk7fVxufVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctcHJpbWFyeSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTsgfVxufVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw7XG4gICAgfVxufVxuXG59XG5cblxuLyogSGVyb1xuICAgRGVwcmVjYXRlZDogVXNlIGB1ay1oZWFkaW5nLXhsYXJnZWAgaW5zdGVhZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAvLyAxMjhweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC43NSAhZGVmYXVsdDsgLy8gOTZweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC41ICFkZWZhdWx0OyAvLyA2NHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctaGVybygpO31cbn1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW07XG4gICAgfVxufVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw7XG4gICAgfVxufVxuXG59XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWRpdmlkZXIoKTt9XG59XG5cblxuLyogQnVsbGV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGhlYWRpbmctYnVsbGV0LXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBoZWlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0O1xuICAgIGJvcmRlci1sZWZ0OiAkaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1idWxsZXQoKTt9XG59XG5cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEV4dHJhIG1hcmt1cCBpcyBuZWVkZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnblxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdW5xdW90ZSgnY2FsYygjeyRoZWFkaW5nLWxpbmUtdG9wfSAtICgjeyRoZWFkaW5nLWxpbmUtaGVpZ2h0fSAvIDIpKScpO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGhlYWRpbmctbGluZS13aWR0aDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbGluZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbGluZSgpO31cbn1cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlIHtcbiAgICByaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1lZGl1bSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctMnhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbWVkaXVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEaXZpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGl2aWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kaXZpZGVyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXZpZGVyLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci12ZXJ0aWNhbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcblxuJGRpdmlkZXItc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kZGl2aWRlci12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgZGVmYXVsdCBgaHJgXG4gKiAyLiBTZXQgbWFyZ2luIGlmIGEgYGRpdmAgaXMgdXNlZCBmb3Igc2VtYW50aWNhbCByZWFzb25cbiAqL1xuXG5bY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgW2NsYXNzKj0ndWstZGl2aWRlciddIHsgbWFyZ2luLXRvcDogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLWljb24taGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbigpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGRpdmlkZXItaWNvbi1saW5lLXRvcDtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICBib3JkZXItYm90dG9tOiAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gICAgcmlnaHQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpeCBoZWlnaHQgYmVjYXVzZSBvZiBgaW5saW5lLWJsb2NrYFxuICogMi4gVXNpbmcgOjphZnRlciBhbmQgaW5saW5lLWJsb2NrIHRvIG1ha2UgYHRleHQtYWxpZ25gIHdvcmtcbiAqL1xuXG4vKiAxICovXG4udWstZGl2aWRlci1zbWFsbCB7IGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi8qIDIgKi9cbi51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRkaXZpZGVyLXNtYWxsLXdpZHRoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAkZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXNtYWxsKCk7fVxufVxuXG5cbi8qIFZlcnRpY2FsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpdmlkZXItdmVydGljYWwge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAkZGl2aWRlci12ZXJ0aWNhbC1oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1sZWZ0OiAkZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItdmVydGljYWwtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci12ZXJ0aWNhbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItdmVydGljYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBNaXhpblxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIG1peGlucyB3aGljaCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGNvbXBvbmVudHNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBTVkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldykgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkcmVwbGFjZS1zcmMsIFwiI1wiLCBcIiUyM1wiKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocXVvdGUoJHJlcGxhY2Utc3JjKSk7XG59IiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGlzY2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtY2lyY2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zcXVhcmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWRlY2ltYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWh5cGhlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWVtcGhhc2lzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWNvbGxhcHNlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG5cbiRsaXN0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWxpc3QgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbi51ay1saXN0ID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1tYXJnaW4tdG9wOyB9XG5cblxuLyogTWFya2VyIG1vZGlmaWVyc1xuICogTW92aW5nIGA6Om1hcmtlcmAgaW5zaWRlIGA6OmJlZm9yZWAgdG8gc3R5bGUgaXQgZGlmZmVyZW50bHlcbiAqIFRvIHN0eWxlIHRoZSBgOjptYXJrZXJgIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1kaXNjID4gKixcbi51ay1saXN0LWNpcmNsZSA+ICosXG4udWstbGlzdC1zcXVhcmUgPiAqLFxuLnVrLWxpc3QtZGVjaW1hbCA+ICosXG4udWstbGlzdC1oeXBoZW4gPiAqIHsgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIFR5cGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWxpc3QtZGVjaW1hbCB7IGNvdW50ZXItcmVzZXQ6IGRlY2ltYWw7IH1cbi51ay1saXN0LWRlY2ltYWwgPiAqIHsgY291bnRlci1pbmNyZW1lbnQ6IGRlY2ltYWw7IH1cblxuW2NsYXNzKj0ndWstbGlzdCddID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAoLSRsaXN0LXBhZGRpbmctbGVmdCk7XG4gICAgd2lkdGg6ICRsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBoZWlnaHQ6ICRsaXN0LW1hcmtlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogKC0kbGlzdC1tYXJrZXItaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udWstbGlzdC1kaXNjID4gOjpiZWZvcmUgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbi51ay1saXN0LWNpcmNsZSA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IH1cbi51ay1saXN0LXNxdWFyZSA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IH1cbi51ay1saXN0LWRlY2ltYWwgPiA6OmJlZm9yZSB7IGNvbnRlbnQ6IGNvdW50ZXIoZGVjaW1hbCwgZGVjaW1hbCkgJ1xcMjAwQS5cXDAwQTAnOyB9XG4udWstbGlzdC1oeXBoZW4gPiA6OmJlZm9yZSB7IGNvbnRlbnQ6ICfigJNcXDAwQTBcXDAwQTAnOyB9XG5cbi8qXG4gKiBDb2xvciBtb2RpZmllcnNcbiAqL1xuXG4udWstbGlzdC1tdXRlZCA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1saXN0LWVtcGhhc2lzID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3QtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3QtcHJpbWFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbWFnZSBidWxsZXQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1idWxsZXQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6ICgtJGxpc3QtcGFkZGluZy1sZWZ0KTtcbiAgICB3aWR0aDogJGxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGhlaWdodDogJGxpc3QtbWFya2VyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAoLSRsaXN0LW1hcmtlci1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRsaXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbGlzdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZDogJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWxhcmdlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1tYXJnaW4tdG9wOyB9XG5cbi51ay1saXN0LWNvbGxhcHNlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtY29sbGFwc2UgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbn1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+ICogeyBwYWRkaW5nOiAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGVzY3JpcHRpb24gbGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGFibGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFibGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFibGUtbWlkZGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtanVzdGlmeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNocmlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1yZXNwb25zaXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuXG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogQWN0aXZlIHN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXNtYWxsKCk7fVxufVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWxhcmdlKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zaHJpbmsgeyB3aWR0aDogMXB4OyB9XG4udWstdGFibGUtZXhwYW5kIHsgbWluLXdpZHRoOiAkdGFibGUtZXhwYW5kLW1pbi13aWR0aDsgfVxuXG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuXG4udWstdGFibGUtbGluayB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHsgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy10b3A6IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy1ib3R0b206IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogOCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiA5ICovXG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIC8qIDEwICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIFJlcXVpcmVkIGZvciBgYnV0dG9uYC4gKi9cbmJ1dHRvbi51ay1pY29uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLWljb24gPiAqIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpc3BsYXkgaW1hZ2VzIGluIGljb24gZGltZW5zaW9uc1xuICovXG5cbi51ay1pY29uLWltYWdlIHtcbiAgICB3aWR0aDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWltYWdlLXNpemU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5rXG4gKi9cblxuLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWljb24tbGluaygpO31cbn1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tbGluazphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWljb24tYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtIFJhbmdlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGhlIHJhbmdlIGlucHV0IHR5cGVcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1yYW5nZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtIFJhbmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5vcm1hbGl6ZSBhbmQgZGVmYXVsdHNcbiAqIDIuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDMuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWVcbiAqIDYuIFJlbW92ZSBwYWRkaW5nIGluIElFMTFcbiAqL1xuXG4udWstcmFuZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDIgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8qIDYgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi51ay1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7IGJvcmRlcjogbm9uZTsgfVxuXG4vKiBJRTExIFJlc2V0ICovXG4udWstcmFuZ2U6Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbXMtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogKGZsb29yKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCAvIDIpICogLTEpO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKyBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10b29sdGlwIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi8qIDEgKi9cbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS13aWR0aC14c21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG4udWstdGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5cbi8qXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYWRpbzpub3QoOmRpc2FibGVkKSxcbi51ay1jaGVja2JveDpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbi51ay1maWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtKSkge0BpbmNsdWRlIGhvb2stZm9ybSgpO31cbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1oZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXNpbmdsZS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpO31cbn1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW11bHRpLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW11bHRpLWxpbmUoKTt9XG59XG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSB7IHJlc2l6ZTogdmVydGljYWw7IH1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZm9jdXMtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWZvY3VzKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogUGxhY2Vob2xkZXJcbiAqL1xuXG4udWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbi51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWZvcm0tc21hbGwgeyBmb250LXNpemU6ICRmb3JtLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1zbWFsbDpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLWZvcm0tbGFyZ2UgeyBmb250LXNpemU6ICRmb3JtLWxhcmdlLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEVycm9yXG4gKi9cblxuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJGZvcm0tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWZvcm0tZGFuZ2VyKCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzICB7XG4gICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWZvcm0tc3VjY2VzcygpO31cbn1cblxuLypcbiAqIEJsYW5rXG4gKi9cblxuLnVrLWZvcm0tYmxhbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmspKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rKCk7fVxufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmstZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rLWZvY3VzKCk7fVxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXhzbWFsbDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogKCRmb3JtLXdpZHRoLXhzbWFsbCArIDI1cHgpOyB9XG5cbi51ay1mb3JtLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXNtYWxsOyB9XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkZm9ybS13aWR0aC1tZWRpdW07IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2UgeyB3aWR0aDogJGZvcm0td2lkdGgtbGFyZ2U7IH1cblxuXG4vKiBTZWxlY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7IGNvbG9yOiAkZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogRGF0YWxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lXG4gKi9cblxuIC51ay1pbnB1dFtsaXN0XSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4udWstaW5wdXRbbGlzdF06aG92ZXIsXG4udWstaW5wdXRbbGlzdF06Zm9jdXMgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbi8qIDEgKi9cbi51ay1pbnB1dFtsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveFxuICogTm90ZTogRG9lcyBub3Qgd29yayBpbiBJRTExXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1yYWRpby1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1yYWRpby1tYXJnaW4tdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8oKTt9XG59XG5cbi51ay1yYWRpbyB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1mb2N1cygpO31cbn1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbn1cblxuLypcbiAqIEljb25zXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKTt9XG59XG5cbi51ay1yYWRpbzpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZWdlbmRcbiAqIDEuIEJlaGF2ZSBsaWtlIGJsb2NrIGVsZW1lbnRcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWxlZ2VuZCB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udC1zaXplOiAkZm9ybS1sZWdlbmQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGVnZW5kKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sZWdlbmQoKTt9XG59XG5cblxuLyogQ3VzdG9tIGNvbnRyb2xzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG5cbi51ay1mb3JtLWN1c3RvbSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbGUgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHNlbGVjdCxcbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA0ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogNSAqL1xuICAgIGZvbnQtc2l6ZTogNTAwcHg7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZm9ybS1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxhYmVsKCk7fVxufVxuXG5cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdGFja2VkXG4gKi9cblxuLnVrLWZvcm0tc3RhY2tlZCAudWstZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsXG4gKi9cblxuLyogVGFibGV0IHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICB3aWR0aDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHsgbWFyZ2luLWxlZnQ6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ7IH1cblxuICAgIC8qIEJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQgaWYgY29udHJvbHMgYXJlIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgd2l0aCB0ZXh0ICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHsgcGFkZGluZy10b3A6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDsgfVxuXG59XG5cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZm9ybS1pY29uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRmb3JtLWljb24td2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogNCAqL1xuICAgIGNvbG9yOiAkZm9ybS1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRmb3JtLWljb24taG92ZXItY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1mb3JtLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG5cbi51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgfiAudWstaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCB+IC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbWlzYykpIHtAaW5jbHVkZSBob29rLWZvcm0tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnV0dG9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgYnV0dG9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJ1dHRvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1idXR0b24tZ3JvdXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYnV0dG9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1sYXJnZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBmb3IgYGlucHV0IHR5cGU9XCJzdWJtaXRcImBpbiBpT1MuXG4gKiA3LiBTdHlsZVxuICogOC4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDkuIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiAxMC4gUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstYnV0dG9uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNyAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICAgIC8qIDggKi9cbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5lLWhlaWdodDtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIDEwICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1idXR0b24oKTt9XG59XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZm9jdXMoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1idXR0b24tc21hbGwge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNtYWxsKCk7fVxufVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1sYXJnZSgpO31cbn1cblxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXh0XG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLXRleHQge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogTGlua1xuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1saW5rKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxpbmsoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVudCBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1idXR0b24tZ3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFByb2dyZXNzXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXByb2dyZXNzYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcm9ncmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDMuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogNC4gUmVtb3ZlIGJvcmRlcnMgaW4gRmlyZWZveCBhbmQgRWRnZVxuICogNS4gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHByb2dyZXNzIGNvbnRhaW5lciBpbiBGaXJlZm94LCBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdHlsZVxuICovXG5cbi51ay1wcm9ncmVzcyB7XG4gICAgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIGJvcmRlcjogMDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcHJvZ3Jlc3MgeyBtYXJnaW4tdG9wOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgYW5pbWF0ZWQgY2lyY2xlcyBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGUgeyBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFByb2dyZXNzIGNvbnRhaW5lclxuICogMi4gUmVtb3ZlIHByb2dyZXNzIGJhciBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBGaXJlZm94XG4gKi9cblxuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogMiAqL1xuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGU6Oi1tb3otcHJvZ3Jlc3MtYmFyIHsgd2lkdGg6IDA7IH1cblxuLypcbiAqIFByb2dyZXNzIGJhclxuICogMS4gUmVtb3ZlIHJpZ2h0IGJvcmRlciBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tcy1maWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1taXNjKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTZWN0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBsYXlvdXQgc2VjdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlY3Rpb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc2VjdGlvbi14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24teGxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1vdmVybGFwYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBNYWtlIGl0IHdvcmsgd2l0aCBgMTAwdmhgIGFuZCBoZWlnaHQgaW4gZ2VuZXJhbFxuICovXG5cbi51ay1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay1zZWN0aW9uLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW11dGVkKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstc2VjdGlvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tcHJpbWFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgbW9kaWZpZXIgdG8gbWFrZSBhIHNlY3Rpb24gb3ZlcmxhcCBhbm90aGVyIHNlY3Rpb24gd2l0aCBhbiBib3JkZXIgaW1hZ2VcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbi51ay1zZWN0aW9uLW92ZXJsYXAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW92ZXJsYXApKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW92ZXJsYXAoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE0MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgMTYwMHB4ICFkZWZhdWx0O1xuXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBCb3ggc2l6aW5nIGhhcyB0byBiZSBgY29udGVudC1ib3hgIHNvIHRoZSBtYXgtd2lkdGggaXMgYWx3YXlzIHRoZSBzYW1lIGFuZFxuICogICAgdW5hZmZlY3RlZCBieSB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgYnJlYWtwb2ludHMuIEl0J3MgaW1wb3J0YW50IGZvciB0aGUgc2l6ZSBtb2RpZmllcnMuXG4gKi9cblxuLnVrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cblxuLyogRXhwYW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEV4cGFuZCBvbmUgc2lkZSBvbmx5XG4gKi9cblxuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItbGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14bGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWx9KScpIH1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29udGFpbmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb250YWluZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUaWxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGlsZWQgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10aWxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRpbGUteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNlY29uZGFyeWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRpbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGlsZSB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZSkpIHtAaW5jbHVkZSBob29rLXRpbGUoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10aWxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogWFNtYWxsXG4gKi9cblxuLnVrLXRpbGUteHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstdGlsZS1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay10aWxlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLypcbiAqIFhMYXJnZVxuICovXG5cbi51ay10aWxlLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS14bGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstdGlsZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLXRpbGUtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIE11dGVkXG4gKi9cblxuLnVrLXRpbGUtbXV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay10aWxlLW11dGVkKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay10aWxlLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXRpbGUtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXNlY29uZGFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRpbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2FyZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGJveGVkIGNvbnRlbnQgY29udGFpbmVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNhcmRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY2FyZC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbWVkaWEtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWJhZGdlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNhcmQtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWxhcmdlYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjYXJkLWJhZGdlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuXG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDYXJkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkKSkge0BpbmNsdWRlIGhvb2stY2FyZCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYm9keSgpO31cbn1cblxuLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWZvb3RlcigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNhcmQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBNZWRpYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNlcnZlZCBhbGlnbm1lbnQgbW9kaWZpZXIgdG8gc3R5bGUgdGhlIG1lZGlhIGVsZW1lbnQsIGUuZy4gd2l0aCBgYm9yZGVyLXJhZGl1c2BcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbltjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS10b3AsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLWxlZnQsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0ICB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtdG9wKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS10b3AoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtYm90dG9tKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtbGVmdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtbGVmdCgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNhcmQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY2FyZC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtdGl0bGUoKTt9XG59XG5cblxuLyogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb25cbiAqIDIuIFNpemVcbiAqIDMuIFN0eWxlXG4gKiA0LiBDZW50ZXIgY2hpbGQgdmVydGljYWxseVxuICovXG5cbi51ay1jYXJkLWJhZGdlIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGNhcmQtYmFkZ2UtdG9wO1xuICAgIHJpZ2h0OiAkY2FyZC1iYWRnZS1yaWdodDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRjYXJkLWJhZGdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1iYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLWJhZGdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGNhcmQtYmFkZ2UtZm9udC1zaXplO1xuICAgIC8qIDQgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstY2FyZC1iYWRnZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogSG92ZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICogTm90ZTogSGVhZGVyIGFuZCBGb290ZXIgYXJlIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBkZWZhdWx0IHN0eWxlXG4gKi9cblxuLnVrLWNhcmQtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWNhcmQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnkoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnkoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWNhcmQtc21hbGwudWstY2FyZC1ib2R5LFxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNhcmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2FyZCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY2FyZC1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtY2FyZC1iYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2FyZC1iYWRnZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2xvc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNsb3NlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstY2xvc2Uge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stY2xvc2UoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3Bpbm5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbG9hZGluZyBzcGlubmVyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3Bpbm5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3Bpbm5lci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0OyAvLyBNaW51cyBzdHJva2Ugd2lkdGggdG8gcHJldmVudCBvdmVyZmxvdyBjbGlwcGluZ1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNwaW5uZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lcigpO31cbn1cblxuXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3Bpbm5lciA+ICogeyBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuLypcbiAqIENpcmNsZVxuICovXG5cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHN0cm9rZS13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvdG9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gaWNvbiB0byBzY3JvbGwgYmFjayB0byB0b3Bcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b3RvcGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG90b3AtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG90b3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstdG90b3Age1xuICAgIHBhZGRpbmc6ICR0b3RvcC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkdG90b3AtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wKSkge0BpbmNsdWRlIGhvb2stdG90b3AoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gICAgY29sb3I6ICR0b3RvcC1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRvdG9wLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogJHRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdG90b3AtYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFya2VyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBtYXJrZXIgaWNvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmtlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFya2VyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLW1hcmtlciB7XG4gICAgcGFkZGluZzogJG1hcmtlci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtYXJrZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1hcmtlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbWFya2VyOmhvdmVyLFxuLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRtYXJrZXItaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsZXJ0XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWxlcnQgbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGVydGBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1hbGVydC1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbGVydC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFsZXJ0LWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuXG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxlcnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nLXJpZ2h0ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0KSkge0BpbmNsdWRlIGhvb2stYWxlcnQoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7IG1hcmdpbi10b3A6ICRhbGVydC1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hbGVydCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgICByaWdodDogJGFsZXJ0LWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXIgKyBGb2N1c1xuICovXG5cbi51ay1hbGVydC1jbG9zZTpob3Zlcixcbi51ay1hbGVydC1jbG9zZTpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1hbGVydC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUGxhY2Vob2xkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwbGFjZWhvbGRlciBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBsYWNlaG9sZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsICRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wbGFjZWhvbGRlciB7IG1hcmdpbi10b3A6ICRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wbGFjZWhvbGRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBsYWNlaG9sZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wbGFjZWhvbGRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBCYWRnZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBiYWRnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWRnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFkZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRiYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBDZW50ZXIgY2hpbGQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWJhZGdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGJhZGdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbCAkYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYWRnZS1ib3JkZXItcmFkaXVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1iYWRnZTpob3Zlcixcbi51ay1iYWRnZTpmb2N1cyB7XG4gICAgY29sb3I6ICRiYWRnZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBMYWJlbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gaW5kaWNhdGUgaW1wb3J0YW50IG5vdGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGFiZWxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGFiZWwtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsICRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsYWJlbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stbGFiZWwoKTt9XG59XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbGFiZWwtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbGFiZWwtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWxhYmVsLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBPdmVybGF5XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY29udGVudCBhcmVhcyBvdmVybGF5aW5nIGFuIGltYWdlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstb3ZlcmxheWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vdmVybGF5LWljb25gXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstb3ZlcmxheS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmxheS1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6ICRvdmVybGF5LXBhZGRpbmctdmVydGljYWwgJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1vdmVybGF5ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5LWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWljb24pKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWljb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstb3ZlcmxheS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFydGljbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhcnRpY2xlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFydGljbGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYXJ0aWNsZS10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFydGljbGUtbWV0YWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBBZGphY2VudCBzaWJsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUgKyAudWstYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogJGFydGljbGUtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtYWRqYWNlbnQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS10aXRsZSgpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSB7IGZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1ldGEoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29tbWVudFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5lc3RlZCBjb21tZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbW1lbnRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29tbWVudC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1tZXRhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1hdmF0YXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWxpc3RgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29tbWVudC1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50KCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYm9keSB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWJvZHkoKTt9XG59XG5cbi51ay1jb21tZW50LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIG1hcmdpbi1ib3R0b206ICRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbW1lbnQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNvbW1lbnQtaGVhZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY29tbWVudC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC10aXRsZSgpO31cbn1cblxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkY29tbWVudC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGNvbW1lbnQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1tZXRhKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1tZXRhKCk7fVxufVxuXG5cbi8qIEF2YXRhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWF2YXRhciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYXZhdGFyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1hdmF0YXIoKTt9XG59XG5cblxuLyogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqIE5vdGU6IEdlbmVyYWwgc2libGluZyBzZWxlY3RvciBhbGxvd3MgcmVwbHkgYmxvY2sgYmV0d2VlbiBjb21tZW50IGFuZCBzdWJsaXN0XG4gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgICBtYXJnaW46ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcCAwIDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViKCk7fVxufVxuXG4vKiBUYWJsZXQgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHsgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOyB9XG5cbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXByaW1hcnkoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1taXNjKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlYXJjaFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRoZSBzZWFyY2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWFyY2hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2VhcmNoLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLXRvZ2dsZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1zZWFyY2gtaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zZWFyY2gtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1uYXZiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG5cbi51ay1zZWFyY2gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA4ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogOSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHNlYXJjaC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWlucHV0KCk7fVxufVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogSWNvbiAoQWRvcHRzIGB1ay1pY29uYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWljb246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBhYm92ZSBpbnB1dFxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLW5hdmJhciB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbmF2YmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1uYXZiYXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG5cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWxhcmdlIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2Utd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbGFyZ2UtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWNjb3JkaW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWNjb3JkaW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFjY29yZGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hY2NvcmRpb24tdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY2NvcmRpb24tY29udGVudGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24taXRlbSgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWFjY29yZGlvbi10aXRsZTpob3Zlcixcbi51ay1hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKTt9XG59XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tY29udGVudCkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1jb250ZW50KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuIC51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBwb3NpdGlvbiBhbnkgZWxlbWVudCBuZXh0IHRvIGFueSBvdGhlciBlbGVtZW50LlxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3BgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcC10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Atc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICovXG5cbi51ay1kcm9wIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkcm9wLXdpZHRoO1xufVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3AtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcC1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wLXN0YWNrIC51ay1kcm9wLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3AtbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRyb3Bkb3duIG1lbnVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGRvd25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstZHJvcGRvd24tbmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3Bkb3duLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ncmlkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcGRvd24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bigpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2KSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICsgQWN0aXZlICovXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRkcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1zdGFjayAudWstZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTW9kYWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBtb2RhbCBkaWFsb2dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbW9kYWxgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbW9kYWwtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWRpYWxvZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1vdXRzaWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2UtZnVsbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1tb2RhbC1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mdWxsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1vZGFsLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcblxuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tb2RhbCB7IHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXMgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbW9kYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1tb2RhbC51ay1vcGVuIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLW1vZGFsLXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBzcGlubmVyIGFuZCBjbG9zZSBidXR0b25cbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIEZpeCBgbWF4LXdpZHRoOiAxMDAlYCBub3Qgd29ya2luZyBpbiBjb21iaW5hdGlvbiB3aXRoIGZsZXggYW5kIHJlc3BvbnNpdmUgaW1hZ2VzIGluIElFMTFcbiAqICAgIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcndyaXRlIGB1ay13aWR0aC1hdXRvYC4gU2VlIGAjbW9kYWwtbWVkaWEtaW1hZ2VgIGluIHRlc3RzXG4gKiA0LiBTdHlsZVxuICogNS4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6ICRtb2RhbC1kaWFsb2ctd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gMC4wMXB4KScpICFpbXBvcnRhbnQ7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWRpYWxvZykpIHtAaW5jbHVkZSBob29rLW1vZGFsLWRpYWxvZygpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG5cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7IHdpZHRoOiAkbW9kYWwtY29udGFpbmVyLXdpZHRoOyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG5cbi8qIDEgKi9cbi51ay1tb2RhbC1mdWxsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZnVsbCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1ib2R5KCk7fVxufVxuXG4udWstbW9kYWwtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtaGVhZGVyKCk7fVxufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1mb290ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbW9kYWwtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtdGl0bGUoKTt9XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRtb2RhbC1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgIC8qIDEgKi9cbiAgICByaWdodDogKC0kbW9kYWwtY2xvc2UtcGFkZGluZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZTpob3ZlciB7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiAxICovXG4gICAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgICAgICByaWdodDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIEZ1bGxcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZnVsbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZnVsbDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVzaG93XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc2xpZGVzaG93c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlc2hvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZXNob3ctaXRlbXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXNob3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVzaG93IHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVzaG93KSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93KCk7fVxufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBhbmQgc3RhY2tpbmcgY29udGV4dFxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICogNC4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBvc2l0aW9uIGl0ZW1zIGFib3ZlIGVhY2ggb3RoZXJcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHMsIGUuZy4gZm9yIGB1ay1jb3ZlcmBcbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXMgaW4gSUUxMSBhbmQgRWRnZVxuICogNi4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogNCAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgLyogNSAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi8qIDYgKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3ctbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlc2hvdy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZXNob3coKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZXNob3ctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBzbGlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZXItaXRlbXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgLTExcHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgIC0zOXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAtMjVweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgLTI1cHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG4udWstc2xpZGVyLWNvbnRhaW5lciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIFdpZGVuIGNvbnRhaW5lciB0byBwcmV2ZW50IGJveC1zaGFkb3dzIGZyb20gY2xpcHBpbmcsIGBsYXJnZS1ib3gtc2hhZG93YFxuICovXG5cbi51ay1zbGlkZXItY29udGFpbmVyLW9mZnNldCB7XG4gICAgbWFyZ2luOiAkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tdG9wICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodCAkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tYm90dG9tICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmc6ICgkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tdG9wICogLTEpICgkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tcmlnaHQgKiAtMSkgKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b20gKiAtMSkgKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1sZWZ0ICogLTEpO1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDIuIENyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2suIEluIFNhZmFyaSBpdCdzIG5laXRoZXIgY3JlYXRlZCBieSBgdHJhbnNmb3JtYCBub3IgYHdpbGwtY2hhbmdlYC5cbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgICAvKiAxICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gUmVzZXQgbGlzdCBzdHlsZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZ3JpZFxuICogMi4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zOm5vdCgudWstZ3JpZCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuLnVrLXNsaWRlci1pdGVtcy51ay1ncmlkIHsgZmxleC13cmFwOiBub3dyYXA7IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIExldCBpdGVtcyB0YWtlIGNvbnRlbnQgZGltZW5zaW9ucyAoMCAwIGF1dG8pXG4gKiAgICBgbWF4LXdpZHRoYCBuZWVkZWQgdG8ga2VlcCBpbWFnZSByZXNwb25zaXZlbmVzcyBhbmQgcHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogNC4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXMgaW4gSUUxMSBhbmQgRWRnZVxuICogNS4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG5cbi51ay1zbGlkZXItaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA0ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLyogNSAqL1xuLnVrLXNsaWRlci1pdGVtcyA+IDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3RpY2t5XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBtYWtlIGVsZW1lbnRzIHN0aWNreSBpbiB0aGUgdmlld3BvcnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdGlja3lgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstc3RpY2t5LWZpeGVkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3RpY2t5LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG5cbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN0aWNreVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG5cbi51ay1zdGlja3ktZml4ZWQge1xuICAgIHotaW5kZXg6ICRzdGlja3ktei1pbmRleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG5cbi51ay1zdGlja3lbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2UgeyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgT2ZmLWNhbnZhc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIG9mZi1jYW52YXMgc2lkZWJhclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW9mZmNhbnZhc2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1vZmZjYW52YXMtYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1wYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW9mZmNhbnZhcy1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1vZmZjYW52YXMtZmxpcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXJldmVhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1vdmVybGF5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb2ZmY2FudmFzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBCYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbCAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtYmFyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAgICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07XG4gICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbSAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHsgcmlnaHQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIgeyBsZWZ0OiAwOyB9XG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG5cbi51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7IHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDsgfVxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7IHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OyB9XG5cbi8qXG4gKiBSZXZlYWwgQW5pbWF0aW9uXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENsaXAgdGhlIGJhclxuICogMy4gQW5pbWF0aW9uXG4gKiA0LiBSZXNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICBsZWZ0OiAwO1xufVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW9mZmNhbnZhcy1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbiAgICB0b3A6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtY2xvc2UoKTt9XG59XG5cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5IHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIC8qIDIgKi9cbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBNYXNrIHRoZSB3aG9sZSBwYWdlXG4gKiAyLiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgLyogMSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpO31cbn1cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5LnVrLW9wZW46OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQcmV2ZW50IHNjcm9sbGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsYmFyIHdoZW4gdGhlIGNvbnRlbnQgaXMgc2xpZGUtb3V0XG4gKiBIYXMgdG8gYmUgb24gdGhlIGBodG1sYCBlbGVtZW50IHRvbyB0byBtYWtlIGl0IHdvcmsgb24gdGhlIGBib2R5YFxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiAxLiBQcm92aWRlIGEgZml4ZWQgd2lkdGggYW5kIHByZXZlbnQgc2hyaW5raW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLypcbiAqIEFjdGl2YXRlIHNsaWRlLW91dCBhbmltYXRpb25cbiAqL1xuXG46bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07IH1cblxuICAgIC51ay1vZmZjYW52YXMtZmxpcC51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1taXNjKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTd2l0Y2hlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbmF2aWdhdGUgdGhyb3VnaCBkaWZmZXJlbnQgY29udGVudCBwYW5lc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN3aXRjaGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3dpdGNoZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG5cbi51ay1zd2l0Y2hlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN3aXRjaGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zd2l0Y2hlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGVhZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZG90IGxlYWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sZWFkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJy4nKSAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxlYWRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIC8qIDMgKi9cbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gICAgLyogNCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWxlYWRlcigpO31cbn1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUGFzcyBmaWxsIGNoYXJhY3RlciB0byBKU1xuICovXG5cbi51ay1sZWFkZXItZmlsbC1jb250ZW50OjpiZWZvcmUgeyBjb250ZW50OiAnI3skbGVhZGVyLWZpbGwtY29udGVudH0nOyB9XG46cm9vdCB7IC0tdWstbGVhZGVyLWZpbGwtY29udGVudDogI3skbGVhZGVyLWZpbGwtY29udGVudH07IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sZWFkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWxlYWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1sZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sZWFkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOb3RpZmljYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ub3RpZmljYXRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbm90aWZpY2F0aW9uLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbi16LWluZGV4O1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24pKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24oKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKCRub3RpZmljYXRpb24td2lkdGggLyAtMik7XG59XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbi8qIE1lc3NhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCk7fVxufVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHsgbWFyZ2luLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb29sdGlwXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdG9vbHRpcHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b29sdGlwYFxuLy9cbi8vIE1vZGlmaWVycyAgICAgICAgYHVrLXRvb2x0aXAtdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gUmVtb3ZlIHRvb2x0aXAgZnJvbSBkb2N1bWVudCBmbG93IHRvIGtlZXAgdGhlIFVJa2l0IGNvbnRhaW5lciBmcm9tIGNoYW5naW5nIGl0cyBzaXplIHdoZW4gaW5qZWN0ZWQgaW50byB0aGUgZG9jdW1lbnQgaW5pdGlhbGx5XG4gKiA0LiBEaW1lbnNpb25zXG4gKiA1LiBTdHlsZVxuICovXG5cbi51ay10b29sdGlwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICR0b29sdGlwLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIHRvcDogMDtcbiAgICAvKiA0ICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsICR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJHRvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG9vbHRpcCkpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAoKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay10b29sdGlwLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstdG9vbHRpcC10b3AnXSB7IG1hcmdpbi10b3A6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICR0b29sdGlwLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJHRvb2x0aXAtbWFyZ2luOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdG9vbHRpcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwKCl7fVxuLy8gQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTb3J0YWJsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHNvcnRhYmxlIGdyaWRzIGFuZCBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNvcnRhYmxlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNvcnRhYmxlLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1wbGFjZWhvbGRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLWhhbmRsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zb3J0YWJsZS1lbXB0eWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kcmFnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAkc29ydGFibGUtZHJhZ2dlZC16LWluZGV4ICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWRyYWcpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1kcmFnKCk7fVxufVxuXG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAkc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpO31cbn1cblxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gICAgbWluLWhlaWdodDogJHNvcnRhYmxlLWVtcHR5LWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZW1wdHkpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1lbXB0eSgpO31cbn1cblxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7IGN1cnNvcjogbW92ZTsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3VudGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb3VudGRvd24gdGltZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY291bnRkb3duYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvdW50ZG93bi1udW1iZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tc2VwYXJhdG9yYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLWxhYmVsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb3VudGRvd24tbnVtYmVyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7IC8vIDY0cHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAvLyA5NnB4XG5cbiRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjYgIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0OyAvLyA0OHB4XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24oKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbnVtYmVyLFxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1pdGVtKCk7fVxufVxuXG5cbi8qIE51bWJlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLypcbiAqIDEuIE1ha2UgbnVtYmVycyBhbGwgb2YgdGhlIHNhbWUgc2l6ZSB0byBwcmV2ZW50IGp1bXBpbmcuIE11c3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBmb250LlxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstY291bnRkb3duLW51bWJlciB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1udW1iZXIoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBTZXBhcmF0b3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1sYWJlbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEdyaWRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSByZXNwb25zaXZlLCBmbHVpZCBhbmQgbmVzdGFibGUgZ3JpZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ncmlkYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWdyaWQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWNvbGxhcHNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXRjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1jb2xsYXBzZWBcbi8vXG4vLyBTdWItbW9kaWZpZXI6ICAgIGB1ay1ncmlkLWl0ZW0tbWF0Y2hgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBjZWxscyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cblxuLnVrLWdyaWQgPiAqIHsgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAgIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1zbWFsbCA+ICosXG4udWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqICB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1zbWFsbCxcbi51ay1ncmlkLXNtYWxsID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LXNtYWxsID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLW1lZGl1bSA+ICosXG4udWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LW1lZGl1bSxcbi51ay1ncmlkLW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLWxhcmdlID4gKixcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1sYXJnZSxcbiAgICAudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkLWxhcmdlID4gKixcbiAgICAudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbGFyZ2UsXG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBDb2xsYXBzZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1ncmlkLWNvbGxhcHNlID4gKixcbi51ay1ncmlkLWNvbHVtbi1jb2xsYXBzZSA+ICogeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwpKSB7QGluY2x1ZGUgaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpO31cbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKTt9XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0geyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+ICosXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG59XG5cblxuLyogTWF0Y2ggY2hpbGQgb2YgYSBncmlkIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cblxuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBmbGV4OiBhdXRvO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtbWlzYykpIHtAaW5jbHVkZSBob29rLWdyaWQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBOYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBzdHlsZXMgZm9yIGxpc3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXN1YmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXYtcGFyZW50LWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWNlbnRlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG5cbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdmJhclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbmF2aWdhdGlvbiBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YmFyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdmJhci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1pdGVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdWJ0aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wYmFyYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bmAgKyBNb2RpZmllcnNcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tZ3JpZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGUtaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXZiYXItcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10cmFuc3BhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdGlja3lgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tc3RhY2tgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuXG4udWstbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1jb250YWluZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb24gKGlmIENvbnRhaW5lciBjb21wb25lbnQgaXMgdXNlZClcbiAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YmVmb3JlLFxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmFmdGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIG5hdnMgYW5kIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICogMi4gTm90ZTogSUUgMTEgcmVxdWlyZXMgYW4gZXh0cmEgYGRpdmAgd2hpY2ggYWZmZWN0cyB0aGUgY2VudGVyIHNlbGVjdG9yXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi8vIDIuIFtjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXInXSxcbi51ay1uYXZiYXItY2VudGVyLFxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCA+ICosXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICogMy4gTmVlZGVkIGZvciBkcm9wZG93bnMgYmVjYXVzZSBhIG5ldyBwb3NpdGlvbiBjb250ZXh0IGlzIGNyZWF0ZWRcbiAqICAgIGB6LWluZGV4YCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBvZmYtY2FudmFzXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuXG4udWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMyAqL1xuICAgIHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwO1xufVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHsgcmlnaHQ6IDEwMCU7IH1cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHsgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIHtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vKiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1uYXZiYXItbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIE9ubHkgbm90IGBhYnNvbHV0ZWAgcG9zaXRpb25lZCBncm91cHNcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4vKlxuICogSXRlbXNcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMi4gRGltZW5zaW9uc1xuICogMy4gU3R5bGVcbiAqIDQuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSwgICAgLy8gTmF2IGl0ZW1cbi51ay1uYXZiYXItaXRlbSwgICAgICAgICAgICAvLyBDb250ZW50IGl0ZW1cbi51ay1uYXZiYXItdG9nZ2xlIHsgICAgICAgICAvLyBDbGlja2FibGUgaXRlbVxuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWhlaWdodDogJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAkbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgZm9udC1zaXplOiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTtcbiAgICAvKiA0ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTmF2IGl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICogQXBwbHkgaG92ZXIgc3R5bGUgYWxzbyB0byBmb2N1cyBzdGF0ZSBhbmQgaWYgZHJvcGRvd24gaXMgb3BlbmVkXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1pdGVtIHtcbiAgICBjb2xvcjogJG5hdmJhci1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1pdGVtKCk7fVxufVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlKCk7fVxufVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEljb25cbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG46aG92ZXIgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uLFxuOmZvY3VzID4gLnVrLW5hdmJhci10b2dnbGUtaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdWJ0aXRsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdWJ0aXRsZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1wcmltYXJ5KCk7fVxufVxuXG4udWstbmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCk7fVxufVxuXG4udWstbmF2YmFyLXN0aWNreSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdGlja3kpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItc3RpY2t5KCk7fVxufVxuXG5cbi8qIERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1kcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjsgfVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG5cbi8qIEd1dHRlciBIb3Jpem9udGFsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogR3V0dGVyIFZlcnRpY2FsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIFN0YWNrICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBXaWR0aCBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMjpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAyKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDMpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTQ6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogNCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNTpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA1KTsgfVxuXG4vKlxuICogRHJvcGJhciBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gICAgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKTt9XG59XG5cblxuLyogRHJvcGRvd24gTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBEcm9wYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1kcm9wYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGJhcigpO31cbn1cblxuLypcbiAqIFNsaWRlIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wYmFyLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wYmFyLXotaW5kZXg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdmJhci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1zdWJ0aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1zdWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2KSkge0BpbmNsdWRlIGhvb2stc3VibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstc3VibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNldCBndXR0ZXIgXG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAqIDIpICsgJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCk7IH1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiAxLiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+IDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICgkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgLSAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBib3JkZXItbGVmdDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogMSAqL1xuLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpob3Zlcixcbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3VibmF2KCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnJlYWRjcnVtYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnJlYWRjcnVtYmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWIoKTt9XG59XG5cbi8qXG4gKiAxLiBEb2Vzbid0IGdlbmVyYXRlIGFueSBib3ggYW5kIHJlcGxhY2VkIGJ5IGNoaWxkIGJveGVzXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqIHsgZGlzcGxheTogY29udGVudHM7IH1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLFxuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IHNwYW4sXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gYTpub3QoW2hyZWZdKSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKiAxLiBSZW1vdmUgc3BhY2UgYmV0d2VlbiBpbmxpbmUgYmxvY2sgZWxlbWVudHMuXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYnJlYWRjcnVtYi1kaXZpZGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgMCB1bnF1b3RlKCdjYWxjKCN7JGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbH0gLSA0cHgpJyk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24oKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctdmVydGljYWwgJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0YWItbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYikpIHtAaW5jbHVkZSBob29rLXRhYigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXRhYiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWItbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0KSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQoKTt9XG59XG5cbi51ay10YWItcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQpKSB7QGluY2x1ZGUgaG9vay10YWItcmlnaHQoKTt9XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodC1pdGVtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFiLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcmV2aW91cy9uZXh0IGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZW5hdi1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc2xpZGVuYXYtcHJldmlvdXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNsaWRlbmF2IHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1sYXJnZSgpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1jb250YWluZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdikpIHtAaW5jbHVkZSBob29rLWRvdG5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZG90bmF2LWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkZG90bmF2LWl0ZW0taGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGRvdG5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUaHVtYm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRodW1ibmFpbCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRodW1ibmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXRodW1ibmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRodW1ibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIsXG4udWstdGh1bWJuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay10aHVtYm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25uYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1pY29ubmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2KSkge0BpbmNsdWRlIGhvb2staWNvbm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZy1sZWZ0OiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlnaHRib3hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBsaWdodGJveCBpbWFnZSBnYWxsZXJ5XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRib3hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGlnaHRib3gtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWl0ZW1zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWJ1dHRvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWNhcHRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pZnJhbWVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlnaHRib3gtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxMDB2aCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlnaHRib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICogNy4gUHJldmVudCBjYW5jZWxsYXRpb24gb2YgcG9pbnRlciBldmVudHMgd2hpbGUgZHJhZ2dpbmdcbiAqL1xuXG4udWstbGlnaHRib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRsaWdodGJveC16LWluZGV4O1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICAvKiA3ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveCkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94KCk7fVxufVxuXG4vKlxuICogT3BlblxuICogMS4gQ2VudGVyIGNoaWxkXG4gKiAyLiBGYWRlLWluXG4gKi9cblxuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gQ29sb3IgbmVlZGVkIGZvciBzcGlubmVyIGljb25cbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gUmVzcG9uc2l2ZW5lc3NcbiAqICAgIFVzaW5nIGB2aGAgZm9yIGBtYXgtaGVpZ2h0YCB0byBmaXggaW1hZ2UgcHJvcG9ydGlvbnMgYWZ0ZXIgcmVzaXplIGluIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIFVzaW5nIGB2aGAgYW5kIGB2d2AgdG8gbWFrZSByZXNwb25zaXZlIGltYWdlIHdvcmsgaW4gSUUxMVxuICogNi4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG5cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkbGlnaHRib3gtaXRlbS1jb2xvcjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtaXRlbSkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWl0ZW0oKTt9XG59XG5cbi8qIDUgKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiAqIHtcbiAgICBtYXgtd2lkdGg6ICRsaWdodGJveC1pdGVtLW1heC13aWR0aDtcbiAgICBtYXgtaGVpZ2h0OiAkbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0O1xufVxuXG4vKiA2ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyID4gKiB7IGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjsgfVxuXG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKTt9XG59XG5cblxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1saWdodGJveC1idXR0b246aG92ZXIsXG4udWstbGlnaHRib3gtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbGlnaHRib3gtYnV0dG9uOmFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtY2FwdGlvbjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveCgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXN0cm9rZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAycyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuXG4vKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNoYWtlIHsgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cbi8qXG4gKiBTVkcgU3Ryb2tlXG4gKiBUaGUgYC0tdWstYW5pbWF0aW9uLXN0cm9rZWAgY3VzdG9tIHByb3BlcnR5IGNvbnRhaW5zIHRoZSBsb25nZXN0IHBhdGggbGVuZ3RoLlxuICogU2V0IGl0IG1hbnVhbGx5IG9yIHVzZSBgdWstc3ZnPVwic3Ryb2tlLWFuaW1hdGlvbjogdHJ1ZVwiYCB0byBzZXQgaXQgYXV0b21hdGljYWxseS5cbiAqIEFsbCBzdHJva2VzIGFyZSBhbmltYXRlZCBieSB0aGUgc2FtZSBwYWNlIGFuZCBkb2Vzbid0IGVuZCBzaW11bHRhbmVvdXNseS5cbiAqIFRvIGVuZCBzaW11bHRhbmVvdXNseSwgYHBhdGhMZW5ndGg9XCIxXCJgIGNvdWxkIGJlIHVzZWQsIGJ1dCBpdCdzIG5vdCB3b3JraW5nIGluIFNhZmFyaSB5ZXQuXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zdHJva2Uge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zdHJva2U7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjtcbn1cblxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLWFuaW1hdGlvbi1mYXN0IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247IH1cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tbmFtZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cbi8qXG4gKiBTdHJva2VcbiAqL1xuXG4gQGtleWZyYW1lcyB1ay1zdHJva2Uge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpOyB9XG4gICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYW5pbWF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbmltYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFdpZHRoXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Igd2lkdGhzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2hpbGQtd2lkdGgtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXdpZHRoLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHdpZHRoLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLTJ4bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHsgd2lkdGg6IDUwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7IHdpZHRoOiAyNSU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHsgd2lkdGg6IDIwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAxLiBSZXNldCB0aGUgYG1pbi13aWR0aGAsIHdoaWNoIGlzIHNldCB0byBhdXRvIGJ5IGRlZmF1bHQsIGJlY2F1c2VcbiAqICAgIGZsZXggaXRlbXMgd29uJ3Qgc2hyaW5rIGJlbG93IHRoZWlyIG1pbmltdW0gaW50cmluc2ljIGNvbnRlbnQgc2l6ZS5cbiAqICAgIFVzaW5nIGAxcHhgIGluc3RlYWQgb2YgYDBgLCBzbyBpdGVtcyBzdGlsbCB3cmFwIGludG8gdGhlIG5leHQgbGluZSxcbiAqICAgIGlmIHRoZXkgaGF2ZSB6ZXJvIHdpZHRoIGFuZCBwYWRkaW5nIGFuZCB0aGUgcHJlZGVjZXNzb3IgaXMgMTAwJSB3aWRlLlxuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBzID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBtID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEB4bCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cblxuW2NsYXNzKj0ndWstd2lkdGgnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIgeyB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHsgd2lkdGg6IDI1JTsgfVxuLnVrLXdpZHRoLTMtNCB7IHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHsgd2lkdGg6IDIwJTsgfVxuLnVrLXdpZHRoLTItNSB7IHdpZHRoOiA0MCU7IH1cbi51ay13aWR0aC0zLTUgeyB3aWR0aDogNjAlOyB9XG4udWstd2lkdGgtNC01IHsgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4udWstd2lkdGgtNS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC0yeGxhcmdlIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBzIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBzIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBzIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBzIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHMgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHMgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHMgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHMgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAcyB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHMgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBtIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBtIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBtIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQG0geyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQG0geyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQG0geyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQG0geyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBtIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBtIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHhsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEB4bCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEB4bCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAeGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAeGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHhsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEB4bCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAeGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEB4bCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAeGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAeGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2std2lkdGgtbWlzYykpIHtAaW5jbHVkZSBob29rLXdpZHRoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlaWdodFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGhlaWdodHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWlnaHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWlnaHQtbWlzYykpIHtAaW5jbHVkZSBob29rLWhlaWdodC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG4udWstdGV4dC1kZWZhdWx0IHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxpZ2h0IHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuLnVrLXRleHQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiBcbi51ay10ZXh0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogbGlnaHRlcjsgfVxuLnVrLXRleHQtYm9sZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4gXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4udWstdGV4dC1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkdGV4dC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zdWNjZXNzIHsgY29sb3I6ICR0ZXh0LXN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtd2FybmluZyB7IGNvbG9yOiAkdGV4dC13YXJuaW5nLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWRhbmdlciB7IGNvbG9yOiAkdGV4dC1kYW5nZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEJhY2tncm91bmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cblxuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtYmFja2dyb3VuZCkpIHtAaW5jbHVkZSBob29rLXRleHQtYmFja2dyb3VuZCgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAcyB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAcyB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBzIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBtIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBtIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQG0geyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHhsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEB4bCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEB4bCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cblxuLnVrLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuXG4udWstdGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG5cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHsgbWF4LXdpZHRoOiAwOyB9XG5cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1taXNjKSkge0BpbmNsdWRlIGhvb2stdGV4dC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb2x1bW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0IGNvbHVtbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb2x1bW4tKmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb2x1bW4tc3BhbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jb2x1bW4tZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29sdW1uLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXItbDsgfVxuXG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgICAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tMS0yIHsgY29sdW1uLWNvdW50OiAyO31cbi51ay1jb2x1bW4tMS0zIHsgY29sdW1uLWNvdW50OiAzOyB9XG4udWstY29sdW1uLTEtNCB7IGNvbHVtbi1jb3VudDogNDsgfVxuLnVrLWNvbHVtbi0xLTUgeyBjb2x1bW4tY291bnQ6IDU7IH1cbi51ay1jb2x1bW4tMS02IHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAcyB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAcyB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAcyB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAcyB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAcyB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHhsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAeGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHhsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7IGNvbHVtbi1zcGFuOiBhbGw7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb2x1bW4tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbHVtbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBsZXQgZW1iZWRkZWQgY29udGVudCBjb3ZlciB0aGVpciBjb250YWluZXIgaW4gYSBjZW50ZXJlZCBwb3NpdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdmVyYFxuLy9cbi8vIFN1Yi1vYmplY3Q6ICAgICAgYHVrLWNvdmVyLWNvbnRhaW5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLnVrLWNvdmVyIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cbmlmcmFtZS51ay1jb3ZlciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3Zlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4sXG4udWstYmFja2dyb3VuZC13aWR0aC0xLTEsXG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuLnVrLWJhY2tncm91bmQtd2lkdGgtMS0xIHsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHsgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cblxuXG4vKiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH1cblxuXG4vKiBSZXBlYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ub3JlcGVhdCB7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuXG4vKiBBdHRhY2htZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpeCBidWcgaW50cm9kdWNlZCBpbiBDaHJvbWUgNjc6IHRoZSBiYWNrZ3JvdW5kIGltYWdlIGlzIG5vdCB2aXNpYmxlIGlmIGFueSBlbGVtZW50IG9uIHRoZSBwYWdlIHVzZXMgYHRyYW5zbGF0ZTNkYFxuICovXG5cbi51ay1iYWNrZ3JvdW5kLWZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1iYWNrZ3JvdW5kLWZpeGVkIHsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7IH1cbn1cblxuXG4vKiBJbWFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBzIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0geyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEB4bCB7YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2NyZWVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW92ZXJsYXkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1saWdodGVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1kb2RnZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWhhcmQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNvZnQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWV4Y2x1c2lvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1odWUgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3IgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1sdW1pbm9zaXR5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFja2dyb3VuZC1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFja2dyb3VuZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsaWduXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBhbGlnbiBlbWJlZGRlZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxpZ24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLWNlbnRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsaWduXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG5bY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4qICsgW2NsYXNzKj0ndWstYWxpZ24nXSB7IG1hcmdpbi10b3A6ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENlbnRlclxuICovXG5cbi51ay1hbGlnbi1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuXG4udWstYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnVrLWFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLWxlZnQsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSxcbiAgICAudWstYWxpZ24tbGVmdFxcQGwgeyBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstYWxpZ24tcmlnaHQsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBtLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwgeyBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxpZ24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFsaWduLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTVkdcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHN0eWxlIFNWR3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdmdgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAyLiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuXG4vKiAxICovXG4udWstc3ZnLFxuLyogMiAqL1xuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IGZpbGw6IGN1cnJlbnRjb2xvcjsgfVxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLXN2ZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdmctbWlzYykpIHtAaW5jbHVkZSBob29rLXN2Zy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdmctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVXRpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgY29sbGVjdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhbmVsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jbGVhcmZpeGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZsb2F0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVyZmxvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzaXplLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNwbGF5LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbmxpbmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc3BvbnNpdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlLXdpZHRoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm9yZGVyLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3BjYXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sb2dvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYmxlbmQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLW9yaWdpbi0qYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuXG4kbG9nby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGFuZWwgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKlxuICogU2Nyb2xsYWJsZVxuICovXG5cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgICBoZWlnaHQ6ICRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcmVzaXplOiBib3RoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYW5lbC1zY3JvbGxhYmxlKSkge0BpbmNsdWRlIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpO31cbn1cblxuXG4vKiBDbGVhcmZpeFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4vKiAyICovXG4udWstY2xlYXJmaXg6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG5cbi51ay1mbG9hdC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi51ay1mbG9hdC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7IG1heC13aWR0aDogMTAwJTsgfVxuXG5cbi8qIE92ZXJmb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKiBOb3RlOiBGaXJlZm94IGlnbm9yZXMgYHBhZGRpbmctYm90dG9tYCBmb3IgdGhlIHNjcm9sbGFibGUgb3ZlcmZsb3cgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTE4XG4gKi9cblxuLnVrLW92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnVrLW92ZXJmbG93LWF1dG8gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcmVzaXplIHsgcmVzaXplOiBib3RoOyB9XG4udWstcmVzaXplLXZlcnRpY2FsIHsgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzcGxheS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZSB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqIDUuIEZvcmNlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiB3aXRob3V0IGNyZWF0aW5nIGEgbmV3IHN0YWNraW5nIGNvbnRleHRcbiAqICAgIHRvIGZpeCAxcHggZ2xpdGNoIHdoZW4gY29tYmluZWQgd2l0aCBvdmVybGF5cyBhbmQgdHJhbnNpdGlvbnMgaW4gV2Via2l0XG4gKiA2LiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cblxuW2NsYXNzKj0ndWstaW5saW5lJ10ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDUgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVrLWlubGluZS1jbGlwIHtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8geyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoLFxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICAvKiAxICovXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm9yZGVyLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLnVrLWJvcmRlci1waWxsIHsgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cbi51ay1ib3JkZXItcm91bmRlZCB7IGJvcmRlci1yYWRpdXM6ICRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOyB9XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuXG4udWstaW5saW5lLWNsaXBbY2xhc3MqPSd1ay1ib3JkZXItJ10geyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuXG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm94LXNoYWRvdy1zbWFsbCB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbWVkaXVtIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstYm94LXNoYWRvdy1ob3ZlciddIHsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkge1xuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAvKiAxICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAoLSRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLyogMiAqL1xuICAgICAgICBoZWlnaHQ6ICRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJveC1zaGFkb3ctYm90dG9tKSkge0BpbmNsdWRlIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKTt9XG4gICAgfVxuXG4gICAgLyogMyAqL1xuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxufVxuXG5cbi8qIERyb3AgY2FwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpcmVmb3ggZG9lc24ndCBhcHBseSBgOjpmaXJzdC1sZXR0ZXJgIGlmIHRoZSBmaXJzdCBsZXR0ZXIgaXMgaW5zaWRlIGNoaWxkIGVsZW1lbnRzXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMDRcbiAqIDIuIEluIEZpcmVmb3gsIGEgZmxvYXRpbmcgYDo6Zmlyc3QtbGV0dGVyYCBkb2Vzbid0IGhhdmUgYSBsaW5lIGJveCBhbmQgdGhlcmUgZm9yIG5vIGBsaW5lLWhlaWdodGBcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMxNzkzM1xuICogMy4gQ2F1c2VkIGJ5IDEuOiBFZGdlIGNyZWF0ZXMgdHdvIG5lc3RlZCBgOjpmaXJzdC1sZXR0ZXJgIGNvbnRhaW5lcnMsIG9uZSBmb3IgZWFjaCBzZWxlY3RvclxuICogICAgVGhpcyBkb3VibGVzIHRoZSBgZm9udC1zaXplYCBleHBvbmVudGlhbCB3aGVuIHVzaW5nIHRoZSBgZW1gIHVuaXQuXG4gKi9cblxuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi8qIDEgKi9cbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3BjYXAtbWFyZ2luLXJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogJGRyb3BjYXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2stZHJvcGNhcCgpO31cbn1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblxuICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgbWFyZ2luLXRvcDogMS4xJTsgfVxuXG59XG5cbi8qIDMgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuXG4gIC51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIgeyBmb250LXNpemU6IDFlbTsgfVxuXG59XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1sb2dvLWhvdmVyKCk7fVxufVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi51ay1mbGV4LWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG5cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBzIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHhsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4udWstZmxleC1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4udWstZmxleC1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuLnVrLWZsZXgtY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbm93cmFwIHsgZmxleC13cmFwOiBub3dyYXA7IH1cbi51ay1mbGV4LXdyYXAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuLnVrLWZsZXgtd3JhcC10b3AgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC13cmFwLW1pZGRsZSB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtd3JhcC1ib3R0b20geyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtd3JhcC1hcm91bmQgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG5cbi51ay1mbGV4LWZpcnN0IHsgb3JkZXI6IC0xO31cbi51ay1mbGV4LWxhc3QgeyBvcmRlcjogOTk7fVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0geyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbSB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUgeyBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHsgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHsgZmxleDogMTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZsZXgtbWlzYykpIHtAaW5jbHVkZSBob29rLWZsZXgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZmxleC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tYXJnaW4geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBBdXRvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHsgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tbGVmdCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1hcmdpbi1hdXRvXFxAcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAcyB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBzIHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQG0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQG0geyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbSB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHhsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEB4bCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEB4bCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLW1hcmdpbi1yZW1vdmUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuIFxuIC51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gfVxuIFxuIC51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKixcbiAudWstbWFyZ2luLXJlbW92ZS1maXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAcyB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHMgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQG0geyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBtIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQGwgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHhsIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJnaW4tbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmdpbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFkZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHBhZGRpbmdcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYWRkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctcmVtb3ZlLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhZGRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1zbWFsbCB7IHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXBhZGRpbmc7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXJlbW92ZSB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7IHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20geyBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFkZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFkZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBwb3NpdGlvbiBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yZWxhdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXotaW5kZXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNvdmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYG1heC13aWR0aDogMTAwJWAgaXMgdXNlZCBpbnNpZGUgcG9zaXRpb24gY29udGFpbmVyLlxuICovXG5cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG5cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cbi8qIE1hcmdpbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tc21hbGwtbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbiwgKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLW1lZGl1bS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbWVkaXVtLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luLCAoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWx9ICogMikpJyk7XG4gICAgICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sO1xuICAgIH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wb3NpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcG9zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVHJhbnNpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRyYW5zaXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdHJhbnNpdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRyYW5zaXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1vcGFxdWVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsb3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstdHJhbnNpdGlvbi10b2dnbGVgLFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1hY3RpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjNzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zY2FsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wMyAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDAuN3MgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGUge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogVHJhbnNpdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyBieSB0d28gbWV0aG9kczpcbiAqIDEuIFVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICogMi4gVXNpbmcgYDpob3ZlcmAgYW5kIGEgYHRvdWNoc3RhcnRgIGV2ZW50IGxpc3RlbmVyIHJlZ2lzdGVyZWQgb24gdGhlIGRvY3VtZW50XG4gKiAgICAoRG9lc24ndCB3b3JrIG9uIFN1cmZhY2UgdG91Y2ggZGV2aWNlcylcbiAqXG4gKiBOb3RlOiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIHdpdGggYHVrLXBvc3Rpb24tY2VudGVyLSpgIGNsYXNzZXMgYmVjYXVzZSB0aGV5IGFsc28gdXNlIGB0cmFuc2Zvcm1gLFxuICogICAgICAgdGhlcmVmb3JlIGl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGFuIGV4dHJhIGBkaXZgIGZvciB0aGUgdHJhbnNpdGlvbi5cbiAqL1xuXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLWZhZGUgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpOyB9XG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHsgdHJhbnNmb3JtOiBzY2FsZSgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcbn1cblxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLXNsb3cgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdHJhbnNpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stdHJhbnNpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFZpc2liaWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHNob3cgb3IgaGlkZSBjb250ZW50IG9uIGJyZWFrcG9pbnRzLCBob3ZlciBvciB0b3VjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhpZGRlbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4taG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tdG91Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tbm90b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIGBoaWRkZW5gIGF0dHJpYnV0ZSBhbHNvIHNldCBoZXJlIHRvIG1ha2UgaXQgc3Ryb25nZXJcbiAqL1xuXG5baGlkZGVuXSxcbi51ay1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhpZGRlblxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oaWRkZW5cXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIDEuIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgdXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBUaGUgdGFyZ2V0IHN0YXlzIHZpc2libGUgaWYgYW55IGVsZW1lbnQgd2l0aGluIHJlY2VpdmVzIGZvY3VzIHRocm91Z2gga2V5Ym9hcmRcbiAqICAgIERvZXNuJ3Qgd29yayBpbiBFZGdlLCB5ZXQuXG4gKiAzLiBDYW4ndCB1c2UgYGRpc3BsYXk6IG5vbmVgIG5vciBgdmlzaWJpbGl0eTogaGlkZGVuYCBiZWNhdXNlIGJvdGggYXJlIG5vdCBmb2N1c2FibGUuXG4gKlxuICovXG5cbi8qIDEgKyAyICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWhpZGRlbi1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBJbnZpc2libGVcbiAqL1xuXG4vKiAxICsgMiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAvKiAzICovXG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGUge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogVG91Y2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBoYXMgbGltaXRlZCBhY2N1cmFjeSwgZS5nLiBhIHRvdWNoIHNjcmVlbi5cbiAqIFdvcmtzIG9uIG1vYmlsZSBicm93c2VyczogU2FmYXJpLCBDaHJvbWUgYW5kIEFuZHJvaWQgYnJvd3NlclxuICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBpcyBhY2N1cmF0ZSwgZS5nLiBtb3VzZS5cbiAqIDEuIEZhbGxiYWNrIGZvciBJRTExIGFuZCBGaXJlZm94LCBiZWNhdXNlIGBwb2ludGVyYCBpcyBub3Qgc3VwcG9ydGVkXG4gKiAyLiBSZXNldCBpZiBzdXBwb3J0ZWRcbiAqL1xuXG4vKiAxICovXG4udWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdmlzaWJpbGl0eS1taXNjKSkge0BpbmNsdWRlIGhvb2stdmlzaWJpbGl0eS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEludmVyc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgSW52ZXJzZSBjb21wb25lbnQgc3R5bGUgZm9yIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRhcmtgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG4vKlxuICogSW1wbGVtZW50ZWQgY2xhc3MgZGVwZW5kcyBvbiB0aGUgZ2VuZXJhbCB0aGVtZSBjb2xvclxuICogYHVrLWxpZ2h0YCBpcyBmb3IgbGlnaHQgY29sb3JzIG9uIGRhcmsgYmFja2dyb3VuZHNcbiAqIGB1ay1kYXJrYCBpcyBvciBkYXJrIGNvbG9ycyBvbiBsaWdodCBiYWNrZ3JvdW5kc1xuICovXG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gbGlnaHQpIHsgLnVrLWxpZ2h0IHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGRhcmspIHsgLnVrLWRhcmsgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiIsIiRnZW5lcmFsLWZvbnQ6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbi8vQmFzZSBjb250YWluZXIgd2lkdGhcbiRjb250YWluZXItd2lkdGg6IDEyNTBweDtcbiRsYXJnZS1jb250YWluZXItd2lkdGg6IDEzOTBweDtcblxuLy8gQWxnZW1lbmUga2xldXJlblxuLy8gJGRlZXBlc3QtYmxhY2s6ICMwMDA7XG4vLyAkYmxhY2s6ICMyRDJDMzE7XG4vLyAkd2hpdGU6ICNGRkZGRkY7XG4vLyAkcmVkOiAjRDMzNjM2O1xuLy8gJG9yYW5nZTogI0YxOUUzODtcbi8vIC8qJGdyZWVuOiAjMDRCNkNFOyovXG4vLyAkZ3JlZW46ICMwMDllM2U7XG4vLyAkZ3JleTogI0IxQjhDNztcbi8vICRsaWdodC1ncmV5OiAjRjVGNkY4O1xuLy8gJGRhcmstZ3JleTogIzc3N0I4NjtcblxuJHRyYW5zaXRpb246IGFsbCAuM3M7XG5cbiVjb250YWluZXItc2V0dGluZ3Mge1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aDtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuJWxhcmdlLWNvbnRhaW5lci1zZXR0aW5ncyB7XG4gICAgbWF4LXdpZHRoOiAkbGFyZ2UtY29udGFpbmVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4lZm9udC1zZXR0aW5ncy1ib2R5IHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4lZm9udC1zZXR0aW5ncy0xLW1lZ2Ege1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgIH1cbn1cblxuJWZvbnQtc2V0dGluZ3MtMSB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cbn1cblxuJWZvbnQtc2V0dGluZ3MtMiB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB9XG59XG5cbiVmb250LXNldHRpbmdzLTMge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiVmb250LXNldHRpbmdzLTQge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjgwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGdyZWVuO1xufSIsIiogW3RyYW5zaXRpb25dIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLWJvZHk7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuaHRtbC5tZW51LW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICAgIG92ZXJmbG93OiBvdmVybGF5O1xufVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5oMSB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0xO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmgxLm1lZ2EsIGgyLm1lZ2Ege1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMS1tZWdhO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbmgxLmN1c3RvbSB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy00O1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmgyIHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTI7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuaDIuY3VzdG9tIHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTE7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuaDMge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMztcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5oNCB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy00O1xufVxuXG4uY29udGFpbmVyIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItc2V0dGluZ3M7XG59XG5cbi5sYXJnZS1jb250YWluZXIge1xuICAgIEBleHRlbmQgJWxhcmdlLWNvbnRhaW5lci1zZXR0aW5ncztcbn1cblxubWFpbi5jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5lbSB7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuYSwgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG5cbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogOHB4O1xufVxuICAgIFxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrOyBcbiAgICB3aWR0aDogOXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGdyZWVuXG59IiwiaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwMDE7XG59XG5cbmhlYWRlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbmhlYWRlciAudG9wLW1lbnUtaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICBcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgIC52YWNhdHVyZS1jb3VudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDQ5JTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA0NyU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICB9XG4gICAgXG4gICAgbGkuZXh0ZXJuYWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3doaXRlLWFycm93LXJpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBtYXgtd2lkdGg6IDE4NTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgXG4gICAgJi5jdXN0b20tbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtYmFyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuaGVhZGVyIC5tZW51LWJhciB7XG4gICAgcGFkZGluZzogMjBweCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIFxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi51ay1hY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYigwIDAgMCAvIDEwJSk7XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtYmFyIC5tZW51LWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuaGVhZGVyIC5tZW51LWJhciAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICBcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5oYXMtc3ViIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2Fycm93LWRvd24tYmxhY2suc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmFycm93OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC00NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrOyAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LWJhciAubWVudSA+IHVsID4gbGkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbmhlYWRlciAubWVudS1iYXIgLm1lbnUtcmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbn1cblxuaGVhZGVyIC5tZW51LXJpZ2h0IC5sYW5ndWFnZS1zZWxlY3RvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgXG4gICAgJjpob3ZlciAuY3VycmVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtcmlnaHQgLmxhbmd1YWdlLXNlbGVjdG9yIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1heC13aWR0aDogMThweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5oZWFkZXIgLm1lbnUtcmlnaHQgLmxhbmd1YWdlLXNlbGVjdG9yIC5jdXJyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9hcnJvdy1kb3duLWJsYWNrLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1yaWdodCAubGFuZ3VhZ2Utc2VsZWN0b3IgdWwge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwgMTAlKTtcbiAgICBcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cblxuaGVhZGVyIC5tZW51LXJpZ2h0IC5sYW5ndWFnZS1zZWxlY3Rvcjpob3ZlciB7XG4gICAgLmN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7ICAgIFxuICAgIH1cbiAgICBcbiAgICB1bCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtcmlnaHQgLnNlYXJjaC1ob2xkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0UwRTBFMDtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cbn1cblxuXG5cbmhlYWRlciAubWVudS1jdGEge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIFxuICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTAwcHgpO1xuICAgICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMDBweCk7XG4gICAgICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmhlYWRlciAubW9iaWxlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhlYWRlciAubmF2LXRvZ2dsZS1ob2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cbiAgICBcbmhlYWRlciAubmF2LXRvZ2dsZSB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmhlYWRlciAubmF2LXRvZ2dsZSAubGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG59XG5cbmhlYWRlciAubmF2LXRvZ2dsZSAubGluZS5saW5lLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbmhlYWRlciAubmF2LXRvZ2dsZSAubGluZS5saW5lLW1pZGRsZSB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuaGVhZGVyIC5uYXYtdG9nZ2xlIC5saW5lLmxpbmUtYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmRlc2t0b3AtbWVudS1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVwZXN0LWJsYWNrO1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgICB0b3A6IDA7XG4gICAgXG4gICAgJi5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5zaXRlLXNlbGVjdGlvbi1tZW51IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyAgICBcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3doaXRlLWFycm93LXJpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc2l0ZS1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIFxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gdWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyAgICBcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICA+IGRpdjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5zaXRlLW1lbnUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1iYXIgIHtcbiAgICAuaGFzLXN1YiBhIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnNtYWxsLXN1Ym1lbnUtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5zbWFsbC1zdWJtZW51IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oYXMtc3ViOmhvdmVyIC5zbWFsbC1zdWJtZW51LWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZmFrZS1saW5rIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzJEMkMzMTtcbn1cblxuLmd0cmFuc2xhdGVfd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpub3QoLmd0LWN1cnJlbnQtbGFuZykge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgaGVhZGVyIC5oYXMtc3ViIC5zdWJtZW51LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzYwcHgpIHtcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1lbnUtcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciAubG9nby1ob2xkZXIgaW1nLmN1c3RvbS1sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtY3RhIC50ZXh0LWhvbGRlcjo6YmVmb3JlLCBoZWFkZXIgLm1lbnUtY3RhIC5pbWFnZS1ob2xkZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAuaGFzLXN1YiAuc3VibWVudS1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA2NXB4IDAgNzBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgaGVhZGVyIC5tZW51LWJhciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubWVudS1ob2xkZXIge1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1vYmlsZS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMzNweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTMzcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNDBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTdFN0U3O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9tZW51LWJhY2tncm91bmQuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTQ2cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLW1lbnUgdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgXG4gICAgICAgIGRpdiA+IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtbWVudSB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIFxuICAgICAgICAuYXJyb3ctaG9sZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2JsYWNrLWFycm93LXJpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1zdWJtZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHggNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1zdWJtZW51IC5zdWJtZW51LWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA4MHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBcbiAgICAgICAgLmNsb3NlLXN1Ym1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3doaXRlLWFycm93LXJpZ2h0LnN2Zyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1zdWJtZW51IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA4MHB4KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdFN0U3O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm5hdi10b2dnbGUtaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAubW9iaWxlLW1lbnUtYmFja2Ryb3Age1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVwZXN0LWJsYWNrO1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1jdGEge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICBcbiAgICAgICAgLmN0YS1pbm5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWN0YSAudGV4dC1ob2xkZXI6OmJlZm9yZSwgaGVhZGVyIC5tZW51LWN0YSAuaW1hZ2UtaG9sZGVyOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTAwcHgpO1xuICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhci51ay1hY3RpdmUgLm1vYmlsZS1tZW51IHtcbiAgICAgICAgdG9wOiA5MnB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA5MnB4KTtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAge1xuICAgICAgICAuaGFzLXN1YiBhIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgaGVhZGVyIC50b3AtbWVudS1ob2xkZXIgLnRvcC1tZW51IG5hdiA+IHVsIHtcbiAgICAgICAgPiBsaTpub3QoLnNpdGUtc2VsZWN0aW9uLW1lbnUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC50b3AtbWVudS1ob2xkZXIgLnNpdGUtc2VsZWN0aW9uLW1lbnU6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLW1lbnUgdWwgLnRvcC1tZW51LWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIC52YWNhdHVyZS1jb3VudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDQ5JTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA0NyU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIHRvcDogMTA5cHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTA5cHgpO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLXN1Ym1lbnUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDEwOXB4KTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDQwcHg7XG4gICAgICAgIHRvcDogLTcwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIudWstYWN0aXZlIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIHRvcDogMTA5cHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwOXB4KTtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtc3VibWVudSAuc3VibWVudS1oZWFkZXIgLmNsb3NlLXN1Ym1lbnUge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1zdWJtZW51IC5zdWJtZW51LWhlYWRlciAuY2xvc2UtbW9iaWxlLW1lbnUge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jbG9zZS1pY29uLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tZW51LXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1lbnUtaG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciAubG9nby1ob2xkZXIgaW1nLmN1c3RvbS1sb2dvIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzNweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgIH1cbiAgICBcbiAgICAuZ3RfY29udGFpbmVyLS1vaXo5cXMgYS5nbGluayBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgICBoZWFkZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgIH1cbn0iLCJmb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5ODA7XG59XG5cbmZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xufVxuXG5mb290ZXIgLnRpdGxlLWhvbGRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5mb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNlcnRpZmljYXRlbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MnB4O1xuICAgIH1cbn1cblxuZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC50aXRsZS1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZvb3RlciBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmZvb3RlciBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgXG4gICAgJi5zZWNvbmQtaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn1cblxuLmZvb3Rlci1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uZm9vdGVyLWhvbGRlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZvb3Rlci1ob2xkZXIgaDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5mb290ZXItaG9sZGVyIC5mb290ZXItbWVudSBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTBtcztcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci1ob2xkZXIgLnN1cHBvcnQtdGl0bGUge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5mb290ZXItaG9sZGVyIC5sb2NhdGlvbi1ob2xkZXIgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5mb290ZXItaG9sZGVyIC5sb2NhdGlvbi1ob2xkZXIgYSA+IHNwYW4ge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4uZm9vdGVyLWhvbGRlciAuZm9vdGVyLWRpc2NsYWltZXIge1xuICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjNzc3Qjg2O1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzc3N0I4NjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICB1bC5kaXNjbGFpbWVyLW1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Qjg2O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDZweCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1kaXNjbGFpbWVyIC5zb2NpYWxzIHtcbiAgICBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZmFjZWJvb2suc3ZnJyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZmFjZWJvb2std2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYubGlua2VkSW4ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2xpbmtlZEluLnN2ZycpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2xpbmtlZEluLXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnlvdXR1YmUge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3lvdXR1YmUuc3ZnJyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMveW91dHViZS13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5waW50ZXJlc3Qge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3BpbnRlcmVzdC5zdmcnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9waW50ZXJlc3Qtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuaW5zdGFncmFtIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9pbnN0YWdyYW0uc3ZnJyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvaW5zdGFncmFtLXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jZXJ0aWZpY2F0ZW4ubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3VwcG9ydC1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZvb3RlciAuZm9vdGVyLWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICB9XG59XG5cbmZvb3RlciAuZGlzY2xhaW1lci1tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbmZvb3RlciAuc29jaWFscy1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbi5mb290ZXItY2VydGlmaWNhYXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNDBweDtcbiAgICBcbiAgICAuY2VydGlmaWNhYXQtaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBcbiAgICAuY2VydGlmaWNhYXQge1xuICAgICAgICBcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGF0YS1wYXJ0bmVyLWxvZ28ge1xuICAgIG1heC13aWR0aDogOTBweDtcbn1cblxuLmRpc2NsYWltZXItbWVudS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgZm9vdGVyLmV4dHJhLXBhZGRpbmcgLmZvb3Rlci1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAxMjBweCAwIDgwcHg7XG4gICAgfSAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuZm9vdGVyLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyLmV4dHJhLXBhZGRpbmcgLmZvb3Rlci1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAxMjBweCAwIDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5mb290ZXItZGlzY2xhaW1lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5mb290ZXItZGlzY2xhaW1lciAuc29jaWFscyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuc3VwcG9ydC1kZWtzdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLnVrLXdpZHRoLTEtMlxcQG0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuZm9vdGVyLWhvbGRlciAuZm9vdGVyLWRpc2NsYWltZXIgLnNvY2lhbHMgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jZXJ0aWZpY2F0ZW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDMwcHg7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC50aXRsZS1ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC51ay13aWR0aC0xLTNcXEBtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAudWstd2lkdGgtMi0zXFxAbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNlcnRpZmljYWF0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY2VydGlmaWNhdGVuLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY2VydGlmaWNhdGVuLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xuICAgIH0gXG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci10b3AgLnVrLWdyaWQtbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmNvbGxhcHNlLWl0ZW0taG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jb2xsYXBzZS1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LWRvd24td2hpdGUuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLmNvbGxhcHNlLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBoMzo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5mb290ZXItZGlzY2xhaW1lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLmRpc2NsYWltZXItbWVudS1ob2xkZXIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLnNvY2lhbHMtaG9sZGVyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICAgIFxuICAgIC5zdXBwb3J0LW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuc3VwcG9ydC1tb2JpbGUgLnRpdGxlLWhvbGRlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLnN1cHBvcnQtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLnRpdGxlLWNvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH0gXG4gICAgXG4gICAgZm9vdGVyIC5zb2NpYWxzLWNvbHVtbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWNlcnRpZmljYWF0IHtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyLmV4dHJhLXBhZGRpbmcgLmZvb3Rlci1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAxMjBweCAwIDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5leHRyYS1wYWRkaW5nIC5mb290ZXItdG9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuZm9vdGVyLWxvZ28gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIC5kYXRhLXBhcnRuZXItbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfSBcbiAgICBcbiAgICAuZGlzY2xhaW1lci1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn0iLCIuaG9tZXBhZ2UtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTsgICAgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2Nyb2xsZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDE1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwJTtcbiAgICBsZWZ0OiA4MHB4O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOS41cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDRweDtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlIDEuNXMgaW5maW5pdGU7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRldGFpbC1oZWFkZXIgLnNjcm9sbGVyOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICB9XG59XG5cbi5ob21lcGFnZS1oZWFkZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMDBweCA0MHB4O1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDE2MHB4IDAgYXV0bztcbiAgICBcbiAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cbn1cblxuLmZpcnN0LWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ob21lcGFnZS1oZWFkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xuICAgIFxuICAgIGltZzpub3QoLmhlYWRlci1pbGx1c3RyYXRpb24pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG1heC1oZWlnaHQ6IDc3NXB4O1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXIgLmhlYWRlci1pbGx1c3RyYXRpb24ge1xuICAgIHdpZHRoOiA4NyU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4ubm8taW1hZ2UtaGVhZGVyLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLm5vLWltYWdlLWhlYWRlciB7XG4gICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDEyMHB4O1xuICAgIG1heC13aWR0aDogMTg1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxufVxuXG4ubm8taW1hZ2UtaGVhZGVyIGgxIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICYuY3VzdG9tIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgaDIuY3VzdG9tIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4ubm8taW1hZ2UtaGVhZGVyIGg0IHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgLmludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBtYXJnaW46IDEwcHggMCAwIGF1dG87XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgIH1cbn1cblxuLm5vLWltYWdlLWhlYWRlciAuc2Nyb2xsZXIge1xuICAgIHRvcDogMTk1cHg7XG59XG5cbi5pbWFnZS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmltYWdlLWhlYWRlciBoNCB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uaW1hZ2UtaGVhZGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbn1cblxuLmltYWdlLWhlYWRlciAuZmxleC1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW1hZ2UtaGVhZGVyIC5zY3JvbGxlciB7XG4gICAgdG9wOiAxOTVweDtcbn1cblxuLmltYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAwcHg7XG4gICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA3NXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgJi5jdXN0b20tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIC5wcm9kdWN0ZW4taW50cm8taG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIgLnByb2R1Y3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxuICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggNzBweDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvZHVjdHMtaG9sZGVyIC5wcm9kdWN0OmhvdmVyIHtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciAuYnV0dG9uLWhvbGRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgIFxuICAgIC5idXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IDAgcmdiKDAgMCAwIC8gMjAlKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0ZW4tZ3JpZC5tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ob21lcGFnZS1jdGEtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxMjBweCAwIDEwMHB4O1xuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7Ki9cbiAgICBcbiAgICAvKiY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiA2OHZ3O1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfSovXG4gICAgXG4gICAgLyomOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfSovXG4gICAgXG4gICAgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtY3RhLWhvbGRlciAuY29sdW1uIHsgICAgXG4gICAgcGFkZGluZzogNTVweCA3MHB4IDQ1cHg7XG4gICAgY29sb3I6ICR3aGl0ZTsgICAgIFxuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gICAgXG4gICAgJi5ibGFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjazsgICBcbiAgICB9XG4gICAgXG4gICAgJi5ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuOyAgIFxuICAgIH1cbiAgICBcbiAgICAuaWNvbi1ob2xkZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDUlKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC43cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBhLnJlYWQtbW9yZSwgc3Bhbi5yZWFkLW1vcmUge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cblxuLmhvbWVwYWdlLWN0YS1ob2xkZXIge1xuICAgIC5jb2x1bW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cyBjdWJpYy1iZXppZXIoMC4xLCAwLjM4LCAwLjUzLCAwLjk4KSwgb3BhY2l0eSAxLjNzIGVhc2U7XG4gICAgfVxuICAgIFxuICAgIC5sYXJnZS1jb250YWluZXIge1xuICAgICAgICAuY29sdW1uLmJsYWNrIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1MHB4KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNvbHVtbi5ibHVlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUwcHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2hvdyB7XG4gICAgICAgIC5sYXJnZS1jb250YWluZXIge1xuICAgICAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmljb24taG9sZGVyIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ob21lcGFnZS1jdGEtb25lLWNvbHVtbiB7XG4gICAgLmNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogODcwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuLmRlbW8taG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nOiAxMjBweCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC8qJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDY4dnc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfSovXG4gICAgXG4gICAgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxufVxuXG4uZGVtby1ob2xkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbn1cblxuLmRlbW8taG9sZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IC0xMDBweDsgICAgXG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDcwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDcwcHgpO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nOiAxNTBweCAwIDA7XG4gICAgXG4gICAgLmRpZW5zdGVuLWludHJvLWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDcwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICBcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLmRpZW5zdGVuLXRhYnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC5kaWVuc3Rlbi10YWJzLWlubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlci1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAuc2hvdyAubGFiZWwtaG9sZGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC03cHg7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgICAgIFxuICAgIH1cbn1cblxuLmNvcnBvcmF0ZSAuZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIge1xuICAgICYuYWN0aXZlIHtcbiAgICAgICAgLmxhYmVsLndpdGgtaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubGFiZWwge1xuICAgICAgICAmLndpdGgtaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pbm5lci1sYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYygxMDAlIC0gMjhweCk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIuYWN0aXZlIC5sYWJlbCwgLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyOmhvdmVyIC5sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgcGFkZGluZzogOTBweCAwIDA7XG4gICAgXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciAudGV4dC1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgXG4gICAgLnRleHQge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2dyZWVuLWNoZWNrLnN2ZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciAuaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDcwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICAuYXJyb3cge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2Fycm93LWJsYWNrLXJpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnByZXYge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9nby1zbGlkZXIge1xuICAgIG92ZXJmbG93OiB1bnNldDtcbn1cblxuLmxvZ28tc2xpZGVyIC51ay1zbGlkZXItaXRlbXMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubG9nby1zbGlkZXIgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cbi5sb2dvLXNsaWRlciAuc3F1YXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDEwJSk7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE3MHB4O1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG1heC13aWR0aDogMTI1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgfVxufVxuXG4ua2xhbnRlbi1ob2xkZXIge1xuICAgIG1hcmdpbjogMTIwcHggMDtcbn1cblxuLmtsYW50ZW4taG9sZGVyIC5rbGFudGVuLWludHJvLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbn1cblxuLmJla2lqay1jaXJrZWxcbntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogODBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zLCB2aXNpYmlsaXR5IDMwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQsIDAuNTcsIDAuNjcsIDEuMik7XG59XG5cbi5sb2dvLXNsaWRlciAuc3F1YXJlLndpdGgtbGluazpob3ZlciAuYmVraWprLWNpcmtlbFxue1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4ubG9nby1zbGlkZXIgLmJla2lqay1jaXJrZWxcbntcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNlY3Rpb24tdmljdGFRbGlrSG9tZXBhZ2UgLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6IDE0MHB4IDA7XG4gICAgXG4gICAgLmN0YS1kZXNjcmlwdGlvbjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICB9XG59XG5cbi5uaWV1d3MtaG9sZGVyIHtcbiAgICBtYXJnaW46IDEwMHB4IDA7XG4gICAgcGFkZGluZzogMTAwcHggMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmLmN1c3RvbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4taW50cm8taG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG59XG5cbi5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTcwcHg7XG4gICAgbGVmdDogODBweDtcbiAgICB6LWluZGV4OiA1O1xufVxuXG4ubmlldXdzLWdyaWQtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgXG4gICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG59XG5cbi5uaWV1d3MtZ3JpZC1ob2xkZXIgLm5pZXV3cy1pdGVtIHtcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmlldXdzLWdyaWQtaG9sZGVyIC5uaWV1d3MtaXRlbSAudGV4dC1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmc6IDMwcHggMjVweDtcbiAgICBcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kYXRlIHtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cbn1cblxuLm5pZXV3cy1ncmlkLWhvbGRlciAuYnV0dG9uLWhvbGRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5jdGEtcmlnaHQtaW1hZ2UubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuLnBvcHVwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1heC13aWR0aDogNzcwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB6LWluZGV4OiAxMDAwMDAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5wb3B1cCAucG9wdXAtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxufVxuXG4ucG9wdXAgLmltYWdlLWhvbGRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn1cblxuLnBvcHVwIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvcG9wdXAtZGVjb3JhdGlvbi5zdmcnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGhlaWdodDogMjI0cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4ucG9wdXAgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA2NXB4IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICAgIH1cbn1cblxuLnBvcHVwLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZXBlc3QtYmxhY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG4gICAgdG9wOiAtMzAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG5cbi5maWx0ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi5maWx0ZXIgLmxhYmVsIHtcbiAgICAvL2NvbG9yOiAkd2hpdGU7XG59XG5cbi5maWx0ZXIgLmNhdC1sYWJlbCB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JleTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5maWx0ZXIgLmNhdC1sYWJlbCBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5yZXNvdXJjZXMtaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xufVxuXG4ucmVzb3VyY2VzLWhvbGRlciAuaW1hZ2UtaG9sZGVyIC5sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAzcHggMTVweDtcbiAgICB6LWluZGV4OiA0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnNlY3Rpb24tcmVzb3VyY2VzT3ZlcnppY2h0LCAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCB7XG4gICAgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbiAgICB9XG59XG5cbi5zZWN0aW9uLXJlc291cmNlc092ZXJ6aWNodCwgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQge1xuICAgIC5uaWV1d3MtaG9sZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLnNlY3Rpb24tcmVzb3VyY2VzT3ZlcnppY2h0LCAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCB7XG4gICAgLm5pZXV3cy1ncmlkLWhvbGRlciAubmlldXdzLWl0ZW0gLnRleHQtaG9sZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDM1cHggMjBweDtcbiAgICB9XG59XG5cbi5zZWN0aW9uLXJlc291cmNlc092ZXJ6aWNodCBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIsIC5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIsIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4ucHJvZHVjdGVuLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDczdnc7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4ucHJvZHVjdGVuLWhlYWRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1heC13aWR0aDogODcwcHg7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLnByb2R1Y3Rlbi1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgbWFyZ2luOiAwIDEwMHB4IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMDBweCAwIDA7XG4gICAgXG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE1MHB4O1xuICAgIGxlZnQ6IDgwcHg7XG4gICAgei1pbmRleDogNTtcbn1cblxuLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3Byb2R1Y3RzLWRlY29yYXRpb24tZ3JlZW4uc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDIxOHB4O1xuICAgICAgICBoZWlnaHQ6IDM4OHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlciAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbn1cblxuLmRldGFpbC1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLmRldGFpbC1oZWFkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbn1cblxuLmRldGFpbC1oZWFkZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDYwcHggNzBweCA3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIG1hcmdpbjogNTBweCAtMTA1cHggMCBhdXRvO1xuICAgIFxuICAgIGgxLmN1c3RvbSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuICAgIFxuICAgIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4jaW5ob3VkLm5vLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmRpZW5zdGVuLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgLyomOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9kaWVuc3Rlbi1pbGx1c3RyYXRpb24uc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMjY1cHg7XG4gICAgICAgIGhlaWdodDogMjI5cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfSovXG4gICAgXG4gICAgLmRpZW5zdGVuLXBhcnRpY2xlcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogOSUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMzBweCAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICAgIFxuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhlYWRlciAuaW50cm8ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIG1hcmdpbjogMTBweCAwIDAgYXV0bztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMCAxMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICAgIFxuICAgIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgICAgIHRvcDogLTEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdCAudGV4dC1ob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzkzODNEO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9ncmVlbi1jaGVjay5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbn1cblxuLnByb2R1Y3RzLWhvbGRlci5saWNlbnRpZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1kaWVuc3RlbiAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9kaWVuc3QtZGV0YWlsLWlsbHVzdHJhdGlvbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICB3aWR0aDogMTUycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgXG4gICAgPiAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICBcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG5wLm5yLXJlc3VsdHMge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbn1cblxuLnJlc3VsdGF0ZW4taG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXN1bHRhdGVuIC5zZWFyY2gtaXRlbSB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4IDMwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBcbiAgICAmLmZpcnN0LXJlc3VsdCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcbiAgICB9XG4gICAgXG4gICAgPiAqIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5NzBweDtcbiAgICB9XG4gICAgXG4gICAgLnJlYWQtbW9yZSB7XG4gICAgICAgIFxuICAgIH1cbn1cblxuLnJlc3VsdGF0ZW4gLnNlYXJjaC1pdGVtIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuLnJlc3VsdGF0ZW4gLnNlYXJjaC1pdGVtIGgzICsgcCB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcblxufVxuLnJlc3VsdGF0ZW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xufVxuXG4uZm9ybS1ob2xkZXIuem9lay1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uZm9ybS1ob2xkZXIuem9lay1mb3JtIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTVweCAyMHB4IDE1cHggNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xufVxuXG4uZm9ybS1ob2xkZXIuem9lay1mb3JtIC5pbnB1dC1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvc2VhcmNoLWljb24uc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uZm9ybS1ob2xkZXIuem9lay1mb3JtIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5jb250YWN0LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMTEwcHggMDtcbn1cblxuLmNvbnRhY3QtaGVhZGVyIGgxLCAuY29udGFjdC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jb250YWN0LWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBcbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxufVxuXG4uY29udGFjdC1oZWFkZXIgLnZlc3RpZ2luZ2VuLWhvbGRlciAudWstZG90bmF2e1xuICAgIFxuICAgID4gKiA+ICoge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICB9XG4gICAgXG4gICAgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIH1cbn1cblxuLmNvbnRhY3QtaGVhZGVyIC5jb250YWN0LWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEM0Q2REY7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5jb250YWN0LWhlYWRlciAubG9jYXRpb24taG9sZGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIFxuICAgIGxpIGEge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDRCNkNFO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTBtcztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFjdC1oZWFkZXIgLmxvY2F0aW9uLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICBcbiAgICBcbiAgICAmLm9kZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICB9XG4gICAgXG4gICAgLnZlc3RpZ2luZ25hYW0ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICBcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG59XG5cbi5jb250YWN0LWhlYWRlciAuYmxva2tlbi1ob2xkZXIgLmJsb2sge1xuICAgIHBhZGRpbmc6IDE1cHggMCAzMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDNENkRGO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgXG4gICAgJi5sYXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XG4gICAgfVxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uY29udGFjdC1oZWFkZXIgLmJsb2trZW4taG9sZGVyIC5idXR0b24taG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIFxuICAgIC5maXJzdC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgIC51bmRlcmxpbmUge1xuICAgICAgICBjb2xvcjogIzc3N0I4NjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MG1zO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vZm9ybXVsaWVyXG4uY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG59XG5cbi5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMDBweDtcbiAgICBsZWZ0OiA3MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMzBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAkZ3JleTtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB6LWluZGV4OiA1O1xufVxuXG4uY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbiB7XG4gICAgcGFkZGluZzogOTBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDMwMDAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTIwMHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICBcbiAgICAmLm5vLWltYWdlOjpiZWZvcmUge1xuICAgICAgICByaWdodDogLTc1cHg7XG4gICAgfVxufVxuXG4uY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5hY2h0ZXJncm9uZC10aXRlbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAucmlnaHQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDE4MHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAxODBweCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXJcbiAgICB9XG59XG5cbi5uby1pbWFnZS1oZWFkZXItaG9sZGVyLndpdGgtaWxsdXN0cmF0aW9uIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5pdGVtcy1jb250YWluZXIgLml0ZW0ge1xuICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpub3QoLnBhcnRuZXItaXRlbSk6aG92ZXIge1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLml0ZW0tY29sdW1uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5pdGVtLWNvbHVtbi5oaWRlIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLmxvYWQtbW9yZS1idXR0b24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgXG4gICAgJi5jdXN0b20ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB9XG59XG5cbi5sb2FkLW1vcmUtYnV0dG9uLWNvbnRhaW5lciAuYW1vdW50LXZpc2libGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogJGdyZXk7XG59XG5cbi5sb2FkLW1vcmUtYnV0dG9uLWhvbGRlci5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXRlbXMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDAgMTIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG59XG5cbi5pdGVtcy1jb250YWluZXIgLml0ZW0ub3ZlcnppY2h0LWN0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxuICAgIC51ay1ncmlkIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9zbWFsbC1jdGEtaWxsdXN0cmF0aW9uLnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDE0OXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi53aXRoLWltYWdlOjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jdGEtdGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzVweCA1NXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIFxuICAgICAgICAmLm5vLWltYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggNTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pdGVtcy1jb250YWluZXIgLml0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMzVweCAzNXB4IDExMHB4O1xuICAgICAgICBcbiAgICAgICAgLnRleHQtYm90dG9tIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIGxlZnQ6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbi5pdGVtcy1jb250YWluZXIgLml0ZW0gLnRleHQtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIFxuICAgIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYnV0dG9uLWhvbGRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIC5yZWFkLW1vcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLm5vLWltYWdlLWhlYWRlcixcbi5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyLFxuLnNlY3Rpb24tcGFydG5lcnNPdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTAwcHggMCAyODBweDtcbn1cblxuLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubG9hZC1tb3JlLWNvbnRhaW5lcixcbi5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAubG9hZC1tb3JlLWNvbnRhaW5lcixcbi5zZWN0aW9uLXBhcnRuZXJzT3ZlcnppY2h0IC5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIG1hcmdpbi10b3A6IC0xNDBweDtcbn1cblxuLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbiAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIsXG4uc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyLFxuLnNlY3Rpb24tcGFydG5lcnNPdmVyemljaHQgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDYxMHB4O1xuICAgIG1hcmdpbjogNTBweCAtMTQ1cHggMCBhdXRvO1xuICAgIHBhZGRpbmc6IDYwcHggNjBweCA3MHB4IDcwcHg7XG59XG5cbi5zZWN0aW9uLXBhcnRuZXJzT3ZlcnppY2h0IC5pdGVtcy1jb250YWluZXIgLml0ZW0gLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAzNXB4O1xufVxuXG4uc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLml0ZW1zLWNvbnRhaW5lciAuaXRlbSAudGV4dC1ib3R0b20gLmJ1dHRvbi1ob2xkZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgXG4gICAgLnJlYWQtbW9yZSB7XG4gICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAuaXRlbXMtY29udGFpbmVyIC5pdGVtIC5kYXRlIHtcbiAgICBjb2xvcjogJGdyZXk7XG59XG5cbi5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAuaXRlbXMtY29udGFpbmVyIC5pdGVtIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4vL2RvdHMgYW5pbWF0aW9uXG5cbi5kb3RzLWFuaW1hdGlvbiBzdmcgY2lyY2xlIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uZG90cy1hbmltYXRpb24gc3ZnIHBvbHlnb24ge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5ob21lcGFnZS1oZWFkZXIgLmRvdHMtYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi5jdGEtcmlnaHQtaW1hZ2UubGVmdCAuZG90cy1hbmltYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5uby1pbWFnZS1oZWFkZXItaG9sZGVyIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuXG4uY3RhLXJpZ2h0LWltYWdlOm5vdCgubGVmdCkgLmRvdHMtYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDBweDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLmhlYWRlci00MDQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMDBweCAyMHB4O1xufVxuXG5cbi5oZWFkZXItNDA0IC5jb250ZW50LTQwNCB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn0gXG5cbi5oZWFkZXItNDA0IHN2ZyB7XG4gICAgd2lkdGg6IDMyOXB4O1xuICAgIGhlaWdodDogMzUwcHg7XG4gICAgY3Vyc29yOiBub25lO1xufVxuXG4uaGVhZGVyLTQwNCBoMSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uaGVhZGVyLTQwNCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jYmlnLXYsIFxuI3NlYXJjaCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbn1cblxuLmhlYWRlci00MDQgc3ZnLmluYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5oZWFkZXItNDA0IHN2Zy5pbmFjdGl2ZSAjYmlnLXYsXG4uaGVhZGVyLTQwNCBzdmcuaW5hY3RpdmUgI3NlYXJjaHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uc2VjdGlvbi1jb250YWN0RW5TdXBwb3J0IGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4udmlkZW8tcG9wdXAge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDEwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWF4LXdpZHRoOiA3NzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIHotaW5kZXg6IDEwMDAwMDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi52aWRlby1wb3B1cCAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxufVxuXG4udmlkZW8tcG9wdXAtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcGVzdC1ibGFjaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB0b3A6IC0zMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgLmZvcm0taG9sZGVyIHtcbiAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0MjQ2O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDM0MjQ2O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLm5pY2Utc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDI0NiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDM0MjQ2ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5vcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZnVpLWxhYmVsLCAuZnVpLWVycm9yIC5mdWktbGFiZWwge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICBcbiAgICAuZnVpLWVycm9yIC5mdWktaW5wdXQtY29udGFpbmVyIGlucHV0OmZvY3VzLCAuZnVpLWVycm9yIC5mdWktaW5wdXQtY29udGFpbmVyIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDI0NiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnRcbiAgICB9XG4gICAgXG4gICAgLmZ1aS1lcnJvciAuZnVpLWlucHV0LWNvbnRhaW5lciBpbnB1dCwgLmZ1aS1lcnJvciAuZnVpLWlucHV0LWNvbnRhaW5lciB0ZXh0YXJlYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbn1cblxuLmN0YS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgIFxuICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxufVxuXG4udmljdGEtZGllbnN0ZW4ge1xuICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgXG4gICAgLmludHJvLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDcwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmN1c3RvbS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLy93aWR0aDogOTN2dztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIFxuICAgIC51ay1zbGlkZXItY29udGFpbmVyIHtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDQwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgXG4gICAgLml0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9hcnJvd3Muc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xNnB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIFxuICAgICAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogOTVweCAyMHB4IDcwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuc3RlcC1ob2xkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5idXR0b24taG9sZGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gLTc1cHg7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udmljdGEtZGllbnN0ZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAuZGllbnN0ZW4tZG90cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLnVrLWRvdG5hdiB7XG4gICAgICAgICYudWstbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiAqID4gKiB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+ICogPiA6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuc3dpcGUtY2lya2VsXG57XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDgwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMsIHZpc2liaWxpdHkgMzAwbXMsIHRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC42NCwgMC41NywgMC42NywgMS4yKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9zd2lwZS1pY29uLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuc2xpZGVyLWhvbGRlcjpob3ZlciAuc3dpcGUtY2lya2VsXG57XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5zd2lwZS1jaXJrZWxcbntcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmlsbHVzdHJhdGlvbi1ob2xkZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA0dncgMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJpYm9uLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgXG4gICAgLnJpYm9uLWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5yaWJvbi1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgJi5jdXN0b20ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweDtcbiAgICAgICAgXG4gICAgICAgIC5taWNyb3NvZnQtaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgN3B4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubGlua2VkaW4taG9sZGVyIGEge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICAubGlua2VkaW4taG9sZGVyIGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgICAgXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbGlua2VkSW4td2hpdGUuc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0taG9sZGVyIC5mdWktYWxlcnQtc3VjY2VzcyB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDkwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2hlY2stb3V0bGluZS5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxufVxuXG4udmljdGEtZGllbnN0ZW4uZGV0YWlsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIFxuICAgIC5pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgICBtYXgtd2lkdGg6IDI1NXB4O1xuICAgICAgICBcbiAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAudWstc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXI6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogNDAlO1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciAuc2Nyb2xsZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdG9wOiA2MCU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpZGUtcG9wdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgcGFkZGluZzogNTBweCA0MHB4IDIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvcG9wdXAtZGVjb3JhdGlvbi5zdmcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIFxuICAgIC5zaWRlLXBvcHVwLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICsgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi5ob21lLXBhcnRpY2xlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogMzUwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTIlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyNjBweCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIFxuICAgICYuc21hbGwge1xuICAgICAgICB3aWR0aDogNyUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmxhbmRpbmctcGFydGljbGVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWF4LXdpZHRoOiAzNTBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA3JSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAuMztcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ucHJvZHVjdC1sYWJlbHMtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgXG4gICAgLnByb2R1Y3QtbGFiZWxzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3QtbGFiZWxzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBcbiAgICAgICAgPiBkaXYgPiBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIFxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgcGFkZGluZzogNXB4IDI1cHggNXB4IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuaWNvbi1ob2xkZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IC5uaWV1d3MtZ3JpZC1ob2xkZXIgLm5pZXV3cy1pdGVtIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5vbXNjaHJpanZpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbn1cblxuLm5pZXV3c2JyaWVmLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY2Rjg7XG4gICAgXG4gICAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNTMwcHg7XG4gICAgfVxufVxuXG4ucGF5bWVudC1mb3JtIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBheW1lbnQtZm9ybSB7XG4gICAgbWFyZ2luOiA4MHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICBcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG59XG5cbi5wb2RjYXN0cy1ob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIFxuICAgIC5pdGVtIHtcbiAgICAgICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjVweCAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucG9kY2FzdC1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDg3MHB4O1xuICAgIG1hcmdpbjogNzVweCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICBhdWRpbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xvc3VyZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiW2NsYXNzKj11ay1hbmltYXRpb24tXSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHRDdXN0b207XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHRDdXN0b207XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodEN1c3RvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7XG4gICAgfVxuICAgIFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIH1cbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tQ3VzdG9tO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbUN1c3RvbTtcbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbUN1c3RvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgfVxuICAgIFxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgIH1cbn1cblxuLnJldmVhbC1lbGVtZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5saW5lLWFuaW1hdGlvbiwgLmxpbmUtYW5pbWF0aW9uLWRlbGF5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NhbGUtdXAge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjlzIGN1YmljLWJlemllcigwLjEsIDAuMzgsIDAuNTMsIDAuOTgpOyAgXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHRyYW5zbGF0ZVkoMTAwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmZhZGUtYm90dG9tIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC4xLCAwLjM4LCAwLjUzLCAwLjk4KTsgIFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5cbi5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMTExMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMTEwMDtcbiAgICBmb250LXNpemU6IDI1MHB4O1xufVxuXG4ubGFyZ2Utb3V0bGluZS10ZXh0LnNob3cgdGV4dCB7XG4gICAgYW5pbWF0aW9uOiBmaWxsT3V0bGluZSAzcyBsaW5lYXIgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmlsbE91dGxpbmUge1xuICB0byB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbn0iLCIvKiBJRSAxMCBhbGVydCAqL1xuLmJsb2NrZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjkwKTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjNzO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9ja2VyIC5ibG9ja19ob2xkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAxNSUgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcbn1cblxuLmJsb2NrZXIgLmJsb2NrX2hvbGRlciBhIHtcbiAgICBjb2xvcjogIzRCQUU0Nztcbn1cblxuLmJsb2NrZXIuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn0iLCJhLmJ1dHRvbiwgYnV0dG9uLmJ1dHRvbiwgc3Bhbi5idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgIFxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTA1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjcsIDAsIDAuMiwgMSk7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMzUlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDElLDAsMCk7XG4gICAgfVxuICAgIFxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgICA+IHNwYW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4yLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiBzcGFuID4gc3BhbiB7XG4gICAgICAgICAgICBhbmltYXRpb246IE1vdmVSaWdodEluaXRpYWwgMC4zcyBmb3J3YXJkcywgTW92ZVJpZ2h0RW5kIDAuM3MgZm9yd2FyZHMgMC4ycztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wMXMgMC4zcyBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjIsIDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYub3V0bGluZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3NzdCODY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuZ3JleSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5kb3dubG9hZCB7XG4gICAgICAgIFxuICAgICAgICA+IHNwYW4gPiBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2Rvd25sb2FkLWljb24uc3ZnJyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYub3JhbmdlLXJldmVhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmJsYWNrLm9yYW5nZS1yZXZlYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmEucmVhZC1tb3JlLCBzcGFuLnJlYWQtbW9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjUwbXM7XG4gICAgfVxuICAgIFxuICAgID4gc3BhbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LWdyZWVuLXJpZ2h0LnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmJsYWNrIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+IHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2Fycm93LWJsYWNrLXJpZ2h0LnN2ZycpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBrZXlmcmFtZXMgTW92ZVJpZ2h0SW5pdGlhbCB7XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA1JSwwLDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBNb3ZlUmlnaHRFbmQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxufSIsIi5jb21wb25lbnQtZ3JpZCB7XG4gICAgbWFyZ2luOiA4MHB4IGF1dG87XG59XG5cbi5jb21wb25lbnQtZ3JpZC0xIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLnVrLWdyaWQtZGl2aWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBvbmVudC1ncmlkIC5jb21wb25lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb21wb25lbnQtZ3JpZCAuY29tcG9uZW50Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLmNvbXBvbmVudC1ncmlkIC5mbGV4LWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY29tcG9uZW50LWdyaWQgLmZsZXgtY29sdW1uLmNvbHVtbi0yID4gZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yLmdyaWpzOmZpcnN0LWNoaWxkID4gLmNvbXBvbmVudC1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAxNzBweDtcbn1cblxuI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yLmdyaWpzOmZpcnN0LWNoaWxkID4gLmNvbXBvbmVudC1ncmlkLmNvbnRhaW5lci1mb3JtdWxpZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbiNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvci53aXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yLm5vLXRvcC1tYXJnaW4gPiAuY29tcG9uZW50LWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgXG4gICAgJi5ncmlqcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIH1cbiAgICBcbiAgICAmLndpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cblxuLy90ZWtzdFxuLmNvbXBvbmVudC10ZWtzdCwgLmNvbXBvbmVudC1odG1sIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA5NzBweDtcbn1cblxuLmNvbnRhaW5lci10ZWtzdCB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xufVxuLmNvbXBvbmVudC10ZWtzdCBoMywgIHtcbiAgICBjb2xvcjogJGdyZWVuO1xufVxuXG4uY29tcG9uZW50LXRla3N0IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmNvbXBvbmVudC10ZWtzdCB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWFnZXMvZ3JlZW4tY2hlY2suc3ZnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICB9XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC5jb21wb25lbnQtdGVrc3Qge1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC51ay1ncmlkLWRpdmlkZXIgLmNvbXBvbmVudC10ZWtzdCB7XG4gICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLmNvbHVtbi0yIC5jb21wb25lbnQtdGVrc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vL21lZGlhXG4uY29tcG9uZW50LWdyaWQuY29udGFpbmVyLW1lZGlhIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5jb21wb25lbnQtbWVkaWEgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC1tZWRpYSBpbWcuZnVsbC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAuY29tcG9uZW50LW1lZGlhIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC51ay1ncmlkLWRpdmlkZXIgLmNvbXBvbmVudC1tZWRpYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLnVrLWdyaWQtZGl2aWRlciAuY29tcG9uZW50LW1lZGlhIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMzcwcHg7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC51ay1ncmlkLWRpdmlkZXIgLmNvbHVtbi0xIC5jb21wb25lbnQtbWVkaWEge1xuICAgICAgZmxvYXQ6IG5vbmU7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC5jb2x1bW4tMSAuY29tcG9uZW50LW1lZGlhIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8vYnV0dG9uXG4uY29tcG9uZW50LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogOTcwcHg7XG59XG5cbi5jb250YWluZXItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG59XG5cbi5jb21wb25lbnQtYnV0dG9uOm5vdCguY29tcG9uZW50LWluZGV4LTEpIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLmNvbHVtbi0yIC5jb21wb25lbnQtYnV0dG9uIHtcbiAgbWF4LXdpZHRoOiA0NzBweDtcbn1cblxuLy9xdW90ZVxuLmNvbnRhaW5lci1xdW90ZSB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIG1heC13aWR0aDogMTI1MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb21wb25lbnQtcXVvdGUge1xuICBwYWRkaW5nLWxlZnQ6IDE0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL3F1b3RlLnN2Zyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAtMnB4O1xuICB9XG4gIFxufVxuXG4uY29tcG9uZW50LXF1b3RlIGJsb2NrcXVvdGUge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMTtcbn1cblxuLmNvbXBvbmVudC1xdW90ZSAucXVvdGVzIGltZyB7XG4gICAgd2lkdGg6IDU2cHg7XG59XG5cbi5jb21wb25lbnQtcXVvdGUgLmF1dGV1ciB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIH1cbn1cblxuLmNvbXBvbmVudC1xdW90ZSAuYXV0ZXVyID4gZGl2IHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4vL0NhbGwgdG8gYWN0aW9uXG4uY29tcG9uZW50LWdyaWQuY29udGFpbmVyLWNhbGxUb0FjdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgcGFkZGluZzogMjAwcHggMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICB9XG59XG5cbi5jdGEtZnVsbC1iYWNrZ3JvdW5kIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uY3RhLWZ1bGwtYmFja2dyb3VuZCBoMiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmN0YS1mdWxsLWJhY2tncm91bmQgaDQge1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG5cbi5jdGEtZnVsbC1iYWNrZ3JvdW5kIC5jdGEtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbi5jdGEtZnVsbC1iYWNrZ3JvdW5kIC5jdGEtZGVzY3JpcHRpb24gLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmN0YS1yaWdodC1pbWFnZSB7XG4gICAgcGFkZGluZzogMjAwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjAwcHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB6LWluZGV4OiAtMjtcbiAgICB9XG59XG5cbi5jdGEtcmlnaHQtaW1hZ2UgLmN0YS1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDAgMTAwcHggMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIFxuICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMCAyNXB4IDI1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmFycm93LWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2N0YS1hcnJvdy5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgXG4gICAgICAgIC5hcnJvdy1ob2xkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN0YS1mdWxsLW5vLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBwYWRkaW5nOiAxMDBweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jdGEtZG90cy1sZWZ0LWNvcm5lci5zdmcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWFnZXMvY3RhLWRvdHMtcmlnaHQtY29ybmVyLnN2Zyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi5jdGEtZnVsbC1uby1iYWNrZ3JvdW5kIC5jdGEtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jdGEtZnVsbC1uby1iYWNrZ3JvdW5kIGgyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4uY3RhLWZ1bGwtbm8tYmFja2dyb3VuZCBoNCB7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuLmNvbHVtbi0xIC5jdGEtMS0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG59XG5cbi5jb2x1bW4tMiAuY3RhLTEtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xufVxuXG4uY3RhLTEtMiB7XG4gICAgcGFkZGluZzogNjBweCA1MHB4IDEyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN0YS0xLTIgaDMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLmN0YS0xLTIgYS5yZWFkLW1vcmUsIC5jdGEtMS0yIHNwYW4ucmVhZC1tb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1MHB4O1xufVxuXG4uY29sdW1uLTIgLmN0YS0xLTIgYS5yZWFkLW1vcmUsIC5jb2x1bW4tMiAuY3RhLTEtMiBzcGFuLnJlYWQtbW9yZSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cblxuLmNvbHVtbi0yIC5jdGEtMS0yIGEucmVhZC1tb3JlID4gc3Bhbjo6YmVmb3JlLCAuY29sdW1uLTIgLmN0YS0xLTIgc3Bhbi5yZWFkLW1vcmUgPiBzcGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYXJyb3ctYmxhY2stcmlnaHQuc3ZnKTtcbn1cblxuLy9VaXRnZWxpY2h0ZSBpdGVtc1xuLmNvbXBvbmVudC1ncmlkLmNvbnRhaW5lci11aXRnZWxpY2h0ZUl0ZW1zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgXG4gICAgLml0ZW0taG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybyB7XG4gICAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTMwMHB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgICAgd2lkdGg6IDMwMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB6LWluZGV4OiAtMjtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0zMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybyA+ICoge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvIGgyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLWhvbGRlciA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0taG9sZGVyIC5pdGVtLXRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIFxuICAgICYud2l0aC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0taG9sZGVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0tdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0tdGV4dC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0tdGV4dCBwIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4vL2Zvcm11bGllclxuLmNvbXBvbmVudC1mb3JtdWxpZXIge1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29tcG9uZW50LWZvcm11bGllciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC01MHB4OztcbiAgICBsZWZ0OiA3MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMzBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAkZ3JleTtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbn1cblxuLmNvbXBvbmVudC1mb3JtdWxpZXIgLmFjaHRlcmdyb25kLXRpdGVsIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29tcG9uZW50LWdyaWQuY29udGFpbmVyLWZvcm11bGllciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vL3NsaWRlclxuLmNvbXBvbmVudC1ncmlkLmNvbnRhaW5lci1zbGlkZXIge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmNvbXBvbmVudC1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDE1MHB4IDAgMTUwcHg7XG59XG5cbi5zbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3ICsgNTAwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjUwcHg7XG59XG5cbi5zbGlkZXIgLnNsaWRlci1pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2xpZGVyIC5zbGlkZXItaW1hZ2UgLmxhbmRzY2FwZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGlkZXIgLnNsaWRlci1pbWFnZSAucG9ydHJhaXQge1xuICAgIHdpZHRoOiA2NSU7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuLmtvbG9tLXRpdGVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgICBcbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuLnZyYWdlbi1jb21wb25lbnQge1xuICAgIC52cmFnZW4taW50cm8taG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAudnJhZ2VuLWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogOTgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAudnJhYWc6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIFxuICAgIC52cmFhZy1oZWFkZXIgeyAgICBcbiAgICAgICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0zO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDc1cHggMjBweCAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1kb3duLWJsYWNrLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudnJhYWctYW50d29vcmQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC52cmFhZy1oZWFkZXIub3BlbiAge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgKyAudnJhYWctYW50d29vcmQge1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNzAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjdzICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgXG59XG5cbi52aWRlby1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTMxMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vL3Jlc3BvbnNpdmVcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTg1MHB4KSB7XG4gICAgLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm8ge1xuICAgIFxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogLTk3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1mb3JtdWxpZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDcwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgLmNvbXBvbmVudC11aXRnZWxpY2h0ZUl0ZW1zOjpiZWZvcmUge1xuICAgICAgbGVmdDogLTY3cHg7XG4gICAgICB0b3A6IDM4cHg7XG4gICAgICB3aWR0aDogMjE0cHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtdWl0Z2VsaWNodGVJdGVtczo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC04NXB4O1xuICAgICAgYm90dG9tOiAxOHB4O1xuICAgICAgd2lkdGg6IDIyNXB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAxMjBweCAwO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAuY29tcG9uZW50LXVpdGdlbGljaHRlSXRlbXM6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXVpdGdlbGljaHRlSXRlbXM6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvOjpiZWZvcmUsIFxuICAgIC5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvOjphZnRlciB7XG4gICAgICByaWdodDogLTYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZm9ybXVsaWVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzIwcHgpIHtcbiAgICAuY29tcG9uZW50LWdyaWQtMiAuY29tcG9uZW50LW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAuY29tcG9uZW50LWdyaWQge1xuICAgICAgbWFyZ2luOiA3MHB4IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtcXVvdGUgLnF1b3RlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNjVweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1xdW90ZSAucXVvdGVzIGltZyB7XG4gICAgICB3aWR0aDogMTEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogNzBweCAwO1xuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5jb21wb25lbnQtZm9ybXVsaWVyIHtcbiAgICAgIHBhZGRpbmc6IDEydncgMCA4MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXVpdGdlbGljaHRlSXRlbXMge1xuICAgICAgcGFkZGluZzogNzBweCAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY3RhLXJpZ2h0LWltYWdlIC5jdGEtYnV0dG9uIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDI1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2UgLmN0YS1idXR0b24gLmFycm93LWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlIC5jdGEtYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMCA4MHB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICBcbiAgICAudnJhZ2VuLWNvbXBvbmVudCAudnJhZ2VuLWludHJvLWhvbGRlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC52cmFnZW4tY29tcG9uZW50IC52cmFhZy1oZWFkZXIgeyAgICBcbiAgICAgICAgcGFkZGluZzogMjBweCA2MHB4IDIwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC52cmFnZW4tY29tcG9uZW50IC52cmFhZy1hbnR3b29yZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY29tcG9uZW50LWdyaWQge1xuICAgICAgbWFyZ2luOiA1MHB4IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ3JpZC5jb21wb25lbnQtZ3JpZC0xIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ3JpZCAuY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1ncmlkLTIgLmNvbXBvbmVudC10ZWtzdCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ3JpZC0yIC5jb21wb25lbnQtbWVkaWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgICNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvci5ncmlqczpmaXJzdC1jaGlsZCA+IC5jb21wb25lbnQtZ3JpZFxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1ncmlkLmNvbXBvbmVudC1ncmlkLTEuY29udGFpbmVyLXRla3N0LFxuICAgIC5jb21wb25lbnQtZ3JpZC5jb21wb25lbnQtZ3JpZC0xLmNvbnRhaW5lci1idXR0b24sXG4gICAgLmNvbXBvbmVudC1ncmlkLmNvbXBvbmVudC1ncmlkLTEuY29udGFpbmVyLXF1b3RlXG4gICAge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtcXVvdGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtcXVvdGUgLmF1dGV1ciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZm9ybXVsaWVyIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXVpdGdlbGljaHRlSXRlbXMge1xuICAgICAgcGFkZGluZzogMzVweCAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5zbGlkZXIgLnNsaWRlci1pbWFnZSAucG9ydHJhaXQge1xuICAgICAgd2lkdGg6IDU4LjUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS1ob2xkZXIgPiBkaXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuY3RhLWZ1bGwtYmFja2dyb3VuZCAuY3RhLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmN0YS1mdWxsLWJhY2tncm91bmQgLmN0YS1kZXNjcmlwdGlvbiAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2U6OmJlZm9yZSxcbiAgICAuY3RhLXJpZ2h0LWltYWdlOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuY3RhLWZ1bGwtbm8tYmFja2dyb3VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMjBweDtcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyLCAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuY3RhLTEtMiB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHggODVweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS0xLTIgYS5yZWFkLW1vcmUge1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlIC5jdGEtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLnZyYWdlbi1jb21wb25lbnQgLnZyYWFnLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDIwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudnJhZ2VuLWNvbXBvbmVudCAudnJhZ2VuLWludHJvLWhvbGRlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgfVxufSIsImJvZHkge1xuICAubmljZS1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcblxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBoZWlnaHQ6IDU4cHg7XG4gIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiB9XG4gXG4gLmZ1aS1pICosIC5mdWktaSA6OmFmdGVyLCAuZnVpLWkgOjpiZWZvcmUge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZ1aS1pbnB1dDpmb2N1cywgLmZ1aS1zZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubmljZS1zZWxlY3Qgc3BhbiB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuICAubmljZS1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2Q4MTExMTsgfVxuICAubmljZS1zZWxlY3Q6YWN0aXZlLCAubmljZS1zZWxlY3Qub3BlbiwgLm5pY2Utc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkODExMTE7IH1cbiAgLm5pY2Utc2VsZWN0OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIyMjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMjIyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogOXB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHRvcDogNDUlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNjYlIDY2JTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNjYlIDY2JTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogOXB4O1xuIH1cbiAgLm5pY2Utc2VsZWN0Lm9wZW46YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpOyB9XG4gIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOyB9XG4gIC5uaWNlLXNlbGVjdC5kaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWRlZGVkO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLm5pY2Utc2VsZWN0LmRpc2FibGVkOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuICAubmljZS1zZWxlY3Qud2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubmljZS1zZWxlY3Qud2lkZSAubGlzdCB7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5uaWNlLXNlbGVjdC5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm5pY2Utc2VsZWN0LnJpZ2h0IC5saXN0IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDsgfVxuICAubmljZS1zZWxlY3Quc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7IH1cbiAgICAubmljZS1zZWxlY3Quc21hbGw6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB3aWR0aDogNHB4OyB9XG4gICAgLm5pY2Utc2VsZWN0LnNtYWxsIC5vcHRpb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICBtaW4taGVpZ2h0OiAzNHB4OyB9XG4gIC5uaWNlLXNlbGVjdCAubGlzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLypib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSg2OCwgNjgsIDY4LCAwLjExKTsqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSkgdHJhbnNsYXRlWSgtMjFweCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjUsIDAsIDAsIDEuMjUpLCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjUsIDAsIDAsIDEuMjUpLCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0O1xuICAgIHotaW5kZXg6IDk7IFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICB9XG4gICAgLm5pY2Utc2VsZWN0IC5saXN0OmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAubmljZS1zZWxlY3QgLm9wdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb246aG92ZXIsIC5uaWNlLXNlbGVjdCAub3B0aW9uLmZvY3VzLCAubmljZS1zZWxlY3QgLm9wdGlvbi5zZWxlY3RlZC5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XG4gICAgLyoubmljZS1zZWxlY3QgLm9wdGlvbi5zZWxlY3RlZCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfSovXG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb24uZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3QgLmxpc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbn0iLCIjbG9hZGVyXG57XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNTB2aDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4gNTAwbXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG4gICAgXG4gICAgLyomOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTUwdmg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDQwMG1zO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICAgICovXG4gICAgJi5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNsb2FkZXIubG9hZGVkXG57XG4gICAgbGVmdDogMTAwJTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbn1cblxuI2xvYWRlci5maW5pc2hlZFxue1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBtcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxufVxuXG4jbG9hZGVyLnVubG9hZHBhZ2VcbntcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSA2MDBtcztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4gNTAwbXM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICAgIH1cbn1cblxuI3BhZ2Utd3JhcHBlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNwYWdlLXdyYXBwZXIubG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4iLCIkdGhlbWVDb2xvcjogJGdyZWVuO1xuXG5Aa2V5ZnJhbWVzIHBseXItcHJvZ3Jlc3N7XG4gICAgdG97XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MjVweCAwXG4gICAgfVxufVxuQGtleWZyYW1lcyBwbHlyLXBvcHVwe1xuICAgIDAle1xuICAgICAgICBvcGFjaXR5Oi41O1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KVxuICAgIH1cbiAgICB0b3tcbiAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcGx5ci1mYWRlLWlue1xuICAgIGZyb217XG4gICAgICAgIG9wYWNpdHk6MFxuICAgIH1cbiAgICB0b3tcbiAgICAgICAgb3BhY2l0eToxXG4gICAgfVxufVxuLnBseXJ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6YXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOnN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgIGRpcmVjdGlvbjpsdHI7XG4gICAgZm9udC1mYW1pbHk6QXZlbmlyLFwiQXZlbmlyIE5leHRcIixcIkhlbHZldGljYSBOZXVlXCIsXCJTZWdvZSBVSVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDo1MDA7XG4gICAgbGluZS1oZWlnaHQ6MS43O1xuICAgIG1heC13aWR0aDoxMDAlO1xuICAgIG1pbi13aWR0aDoyMDBweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzpub25lO1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZVxufVxuLnBseXIgYXVkaW8sLnBseXIgdmlkZW97XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIGhlaWdodDphdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5ciBidXR0b257XG4gICAgZm9udDppbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG4gICAgd2lkdGg6YXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4ucGx5ciBidXR0b246OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyOmZvY3Vze1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWl7XG4gICAgYm94LXNpemluZzpib3JkZXItYm94XG59XG4ucGx5ci0tZnVsbC11aSAqLC5wbHlyLS1mdWxsLXVpIDo6YWZ0ZXIsLnBseXItLWZ1bGwtdWkgOjpiZWZvcmV7XG4gICAgYm94LXNpemluZzppbmhlcml0XG59XG4ucGx5ci0tZnVsbC11aSBhLC5wbHlyLS1mdWxsLXVpIGJ1dHRvbiwucGx5ci0tZnVsbC11aSBpbnB1dCwucGx5ci0tZnVsbC11aSBsYWJlbHtcbiAgICB0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uXG59XG4ucGx5cl9fYmFkZ2V7XG4gICAgYmFja2dyb3VuZDojNGY1YjVmO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGNvbG9yOiNmZmY7XG4gICAgZm9udC1zaXplOjlweDtcbiAgICBsaW5lLWhlaWdodDoxO1xuICAgIHBhZGRpbmc6M3B4IDRweFxufVxuLnBseXItLWZ1bGwtdWkgOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stY29udGFpbmVye1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXJfX2NhcHRpb25ze1xuICAgIGFuaW1hdGlvbjpwbHlyLWZhZGUtaW4gLjNzIGVhc2U7XG4gICAgYm90dG9tOjA7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGVmdDowO1xuICAgIHBhZGRpbmc6MTBweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXJfX2NhcHRpb25zIC5wbHlyX19jYXB0aW9ue1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazpjbG9uZTtcbiAgICBib3gtZGVjb3JhdGlvbi1icmVhazpjbG9uZTtcbiAgICBsaW5lLWhlaWdodDoxODUlO1xuICAgIHBhZGRpbmc6LjJlbSAuNWVtO1xuICAgIHdoaXRlLXNwYWNlOnByZS13cmFwXG59XG4ucGx5cl9fY2FwdGlvbnMgLnBseXJfX2NhcHRpb24gZGl2e1xuICAgIGRpc3BsYXk6aW5saW5lXG59XG4ucGx5cl9fY2FwdGlvbnMgc3BhbjplbXB0eXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjQ4MHB4KXtcbiAgICAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICBwYWRkaW5nOjIwcHhcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7XG4gICAgLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MThweFxuICAgIH1cbn1cbi5wbHlyLS1jYXB0aW9ucy1hY3RpdmUgLnBseXJfX2NhcHRpb25ze1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOm5vdCgucGx5ci0taGlkZS1jb250cm9scykgLnBseXJfX2NvbnRyb2xzOm5vdCg6ZW1wdHkpfi5wbHlyX19jYXB0aW9uc3tcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNDBweClcbn1cbi5wbHlyX19jb250cm9se1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgIGNvbG9yOmluaGVyaXQ7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgZmxleC1zaHJpbms6MDtcbiAgICBvdmVyZmxvdzp2aXNpYmxlO1xuICAgIHBhZGRpbmc6N3B4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlXG59XG4ucGx5cl9fY29udHJvbCBzdmd7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmaWxsOmN1cnJlbnRDb2xvcjtcbiAgICBoZWlnaHQ6MThweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHdpZHRoOjE4cHhcbn1cbi5wbHlyX19jb250cm9sOmZvY3Vze1xuICAgIG91dGxpbmU6MFxufVxuLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3Vze1xuICAgIG91dGxpbmU6MFxufVxuYS5wbHlyX19jb250cm9se1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lXG59XG5hLnBseXJfX2NvbnRyb2w6OmFmdGVyLGEucGx5cl9fY29udHJvbDo6YmVmb3Jle1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tcHJlc3NlZCAuaWNvbi0tbm90LXByZXNzZWQsLnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tcHJlc3NlZCAubGFiZWwtLW5vdC1wcmVzc2VkLC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmljb24tLXByZXNzZWQsLnBseXJfX2NvbnRyb2w6bm90KC5wbHlyX19jb250cm9sLS1wcmVzc2VkKSAubGFiZWwtLXByZXNzZWR7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzLC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbDpob3ZlciwucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXXtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZUNvbG9yO1xuICAgIGNvbG9yOiNmZmZcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbCBzdmd7XG4gICAgZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4xNSkpXG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzLC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbDpob3ZlciwucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXXtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZUNvbG9yO1xuICAgIGNvbG9yOiNmZmZcbn1cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZHtcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWVDb2xvcjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgZGlzcGxheTpub25lO1xuICAgIGxlZnQ6NTAlO1xuICAgIHBhZGRpbmc6MTVweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZCBzdmd7XG4gICAgbGVmdDoycHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZDpmb2N1cywucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6aG92ZXJ7XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvclxufVxuLnBseXItLXBsYXlpbmcgLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke1xuICAgIG9wYWNpdHk6MDtcbiAgICB2aXNpYmlsaXR5OmhpZGRlblxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS1jb250cm9sc3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jb250cm9sc3tcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDpmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlclxufVxuLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51LC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3MsLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lLC5wbHlyX19jb250cm9scyAucGx5cl9fdm9sdW1lLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbHtcbiAgICBtYXJnaW4tbGVmdDo1cHhcbn1cbi5wbHlyX19jb250cm9scyAucGx5cl9fbWVudSsucGx5cl9fY29udHJvbCwucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzKy5wbHlyX19jb250cm9sLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbCsucGx5cl9fY29udHJvbCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2wrLnBseXJfX21lbnV7XG4gICAgbWFyZ2luLWxlZnQ6MnB4XG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkK1tkYXRhLXBseXI9cGF1c2Vde1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgbWFyZ2luLXJpZ2h0OmF1dG9cbn1cbi5wbHlyX19jb250cm9sczplbXB0eXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjQ4MHB4KXtcbiAgICAucGx5cl9fY29udHJvbHMgLnBseXJfX21lbnUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcywucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX192b2x1bWUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9se1xuICAgICAgICBtYXJnaW4tbGVmdDoxMHB4XG4gICAgfVxufVxuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sc3tcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgcGFkZGluZzoxMHB4XG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xze1xuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNykpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6aW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czppbmhlcml0O1xuICAgIGJvdHRvbTowO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgbGVmdDowO1xuICAgIHBhZGRpbmc6MjBweCA1cHggNXB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjA7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlLWluLW91dCx0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuICAgIHotaW5kZXg6M1xufVxuQG1lZGlhIChtaW4td2lkdGg6NDgwcHgpe1xuICAgIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7XG4gICAgICAgIHBhZGRpbmc6MzVweCAxMHB4IDEwcHhcbiAgICB9XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY29udHJvbHN7XG4gICAgb3BhY2l0eTowO1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSlcbn1cbi5wbHlyIFtkYXRhLXBseXI9YWlycGxheV0sLnBseXIgW2RhdGEtcGx5cj1jYXB0aW9uc10sLnBseXIgW2RhdGEtcGx5cj1mdWxsc2NyZWVuXSwucGx5ciBbZGF0YS1wbHlyPXBpcF17XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tYWlycGxheS1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1haXJwbGF5XSwucGx5ci0tY2FwdGlvbnMtZW5hYmxlZCBbZGF0YS1wbHlyPWNhcHRpb25zXSwucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9ZnVsbHNjcmVlbl0sLnBseXItLXBpcC1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1waXBde1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrXG59XG4ucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgaGVpZ2h0OjA7XG4gICAgcGFkZGluZy1ib3R0b206NTYuMjUlO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1le1xuICAgIGJvcmRlcjowO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGxlZnQ6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGwtdWkgLnBseXJfX3ZpZGVvLWVtYmVkPi5wbHlyX192aWRlby1lbWJlZF9fY29udGFpbmVye1xuICAgIHBhZGRpbmctYm90dG9tOjI0MCU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTM4LjI4MTI1JSlcbn1cbi5wbHlyX19tZW51e1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2wgc3Zne1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlXG59XG4ucGx5cl9fbWVudSAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVdIHN2Z3tcbiAgICB0cmFuc2Zvcm06cm90YXRlKDkwZGVnKVxufVxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSAucGx5cl9fdG9vbHRpcHtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXJ7XG4gICAgYW5pbWF0aW9uOnBseXItcG9wdXAgLjJzIGVhc2U7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3JkZXItcmFkaXVzOjRweDtcbiAgICBib3R0b206MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6LTNweDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIHotaW5kZXg6M1xufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lcj5kaXZ7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHRyYW5zaXRpb246aGVpZ2h0IC4zNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjM1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lcjo6YWZ0ZXJ7XG4gICAgYm9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgaGVpZ2h0OjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MTVweDtcbiAgICB0b3A6MTAwJTtcbiAgICB3aWR0aDowXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVde1xuICAgIHBhZGRpbmc6N3B4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtXSwucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtcmFkaW9de1xuICAgIG1hcmdpbi10b3A6MnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtXTpmaXJzdC1jaGlsZCwucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtcmFkaW9dOmZpcnN0LWNoaWxke1xuICAgIG1hcmdpbi10b3A6MFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbHtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgcGFkZGluZzo0cHggMTFweDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbD5zcGFue1xuICAgIGFsaWduLWl0ZW1zOmluaGVyaXQ7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2w6OmFmdGVye1xuICAgIGJvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJke1xuICAgIHBhZGRpbmctcmlnaHQ6MjhweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDo6YWZ0ZXJ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6cmdiYSg3OSw5MSw5NSwuOCk7XG4gICAgcmlnaHQ6NXB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkLnBseXJfX3RhYi1mb2N1czo6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDpob3Zlcjo6YWZ0ZXJ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6Y3VycmVudENvbG9yXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNre1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBtYXJnaW46N3B4O1xuICAgIG1hcmdpbi1ib3R0b206M3B4O1xuICAgIHBhZGRpbmctbGVmdDoyOHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHdpZHRoOmNhbGMoMTAwJSAtIDE0cHgpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOjphZnRlcntcbiAgICBib3JkZXItcmlnaHQtY29sb3I6cmdiYSg3OSw5MSw5NSwuOCk7XG4gICAgbGVmdDo3cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOiNiN2M1Y2Q7XG4gICAgYm94LXNoYWRvdzowIDFweCAwICNmZmY7XG4gICAgY29udGVudDonJztcbiAgICBoZWlnaHQ6MXB4O1xuICAgIGxlZnQ6MDtcbiAgICBtYXJnaW4tdG9wOjRweDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MDtcbiAgICB0b3A6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjay5wbHlyX190YWItZm9jdXM6OmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6aG92ZXI6OmFmdGVye1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjpjdXJyZW50Q29sb3Jcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXXtcbiAgICBwYWRkaW5nLWxlZnQ6N3B4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3Jle1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKTtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZmxleC1zaHJpbms6MDtcbiAgICBoZWlnaHQ6MTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZTtcbiAgICB3aWR0aDoxNnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVye1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBoZWlnaHQ6NnB4O1xuICAgIGxlZnQ6MTJweDtcbiAgICBvcGFjaXR5OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZSxvcGFjaXR5IC4zcyBlYXNlO1xuICAgIHdpZHRoOjZweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6JHRoZW1lQ29sb3Jcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmFmdGVye1xuICAgIG9wYWNpdHk6MTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dLnBseXJfX3RhYi1mb2N1czo6YmVmb3JlLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTpob3Zlcjo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX21lbnVfX3ZhbHVle1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6LTVweDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OjI1cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoyOHB4O1xuICAgIGNvbG9yOiR0aGVtZUNvbG9yO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgaGVpZ2h0OjIwcHg7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsY3VycmVudENvbG9yIHZhcigtLXZhbHVlLDApLHRyYW5zcGFyZW50IHZhcigtLXZhbHVlLDApKVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIG1hcmdpbi10b3A6LTVweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzc3tcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgY29sb3I6dHJhbnNwYXJlbnRcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlcntcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvclxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweDtcbiAgICBtYXJnaW4tdG9wOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdG9vbHRpcHtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOmZvY3Vze1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtb3V0ZXJ7XG4gICAgYm9yZGVyOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1vei1yYW5nZS10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotbXMtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyX19wb3N0ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojMDAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbGVmdDowO1xuICAgIG9wYWNpdHk6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTAwJTtcbiAgICB6LWluZGV4OjFcbn1cbi5wbHlyLS1zdG9wcGVkLnBseXJfX3Bvc3Rlci1lbmFibGVkIC5wbHlyX19wb3N0ZXJ7XG4gICAgb3BhY2l0eToxXG59XG4ucGx5cl9fdGltZXtcbiAgICBmb250LXNpemU6MTRweFxufVxuLnBseXJfX3RpbWUrLnBseXJfX3RpbWU6OmJlZm9yZXtcbiAgICBjb250ZW50OidcXDIwNDQnO1xuICAgIG1hcmdpbi1yaWdodDoxMHB4XG59XG5AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7XG4gICAgLnBseXJfX3RpbWUrLnBseXJfX3RpbWV7XG4gICAgICAgIGRpc3BsYXk6bm9uZVxuICAgIH1cbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fdGltZXtcbiAgICB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpXG59XG4ucGx5cl9fdG9vbHRpcHtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgIGJvdHRvbToxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBjb2xvcjojNGY1YjVmO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBsZWZ0OjUwJTtcbiAgICBsaW5lLWhlaWdodDoxLjM7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICBwYWRkaW5nOjVweCA3LjVweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgLjFzIGVhc2Usb3BhY2l0eSAuMnMgLjFzIGVhc2U7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOjRweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3R0b206LTRweDtcbiAgICBjb250ZW50OicnO1xuICAgIGhlaWdodDowO1xuICAgIGxlZnQ6NTAlO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOjA7XG4gICAgei1pbmRleDoyXG59XG4ucGx5ciAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX3Rvb2x0aXAtLXZpc2libGV7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKSBzY2FsZSgxKVxufVxuLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXB7XG4gICAgei1pbmRleDozXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwe1xuICAgIGxlZnQ6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46MCAxMDAlXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBsZWZ0OjE2cHhcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwe1xuICAgIGxlZnQ6YXV0bztcbiAgICByaWdodDowO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCVcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgbGVmdDphdXRvO1xuICAgIHJpZ2h0OjE2cHg7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXB7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApIHNjYWxlKDEpXG59XG4ucGx5ci0tdmlkZW97XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIG92ZXJmbG93OmhpZGRlblxufVxuLnBseXItLXZpZGVvLnBseXItLW1lbnUtb3BlbntcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjBcbn1cbi5wbHlyX19wcm9ncmVzc3tcbiAgICBmbGV4OjE7XG4gICAgbGVmdDo3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXSwucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBtYXJnaW4tbGVmdDotN3B4O1xuICAgIG1hcmdpbi1yaWdodDotN3B4O1xuICAgIHdpZHRoOmNhbGMoMTAwJSArIDE0cHgpXG59XG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fcHJvZ3Jlc3MgLnBseXJfX3Rvb2x0aXB7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGVmdDowXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbi10b3A6LTJweDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJVxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZyAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7XG4gICAgY29udGVudDonJztcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgaGVpZ2h0OjE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgdHJhbnNpdGlvbjphbGwgLjNzIGVhc2U7XG4gICAgd2lkdGg6MTZweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlcntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgaGVpZ2h0OjZweDtcbiAgICBsZWZ0OjEycHg7XG4gICAgb3BhY2l0eTowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTtcbiAgICB3aWR0aDo2cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZUNvbG9yXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOjphZnRlcntcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXS5wbHlyX190YWItZm9jdXM6OmJlZm9yZSwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106aG92ZXI6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19tZW51X192YWx1ZXtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgbWFyZ2luLXJpZ2h0Oi01cHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDoyNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2Vde1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MjhweDtcbiAgICBjb2xvcjokdGhlbWVDb2xvcjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGhlaWdodDoyMHB4O1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6MDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LGN1cnJlbnRDb2xvciB2YXIoLS12YWx1ZSwwKSx0cmFuc3BhcmVudCB2YXIoLS12YWx1ZSwwKSlcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBtYXJnaW4tdG9wOi01cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGNvbG9yOnRyYW5zcGFyZW50XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2Vye1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3Jcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHg7XG4gICAgbWFyZ2luLXRvcDowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXB7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LWZvY3VzLW91dGVye1xuICAgIGJvcmRlcjowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1zLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5cl9fcG9zdGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IzAwMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGxlZnQ6MDtcbiAgICBvcGFjaXR5OjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgei1pbmRleDoxO1xufVxuLnBseXItLXN0b3BwZWQucGx5cl9fcG9zdGVyLWVuYWJsZWQgLnBseXJfX3Bvc3RlcntcbiAgICBvcGFjaXR5OjE7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5wbHlyX190aW1le1xuICAgIGZvbnQtc2l6ZToxNHB4XG59XG4ucGx5cl9fdGltZSsucGx5cl9fdGltZTo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6J1xcMjA0NCc7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHhcbn1cbkBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXtcbiAgICAucGx5cl9fdGltZSsucGx5cl9fdGltZXtcbiAgICAgICAgZGlzcGxheTpub25lXG4gICAgfVxufVxuLnBseXItLXZpZGVvIC5wbHlyX190aW1le1xuICAgIHRleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSlcbn1cbi5wbHlyX190b29sdGlwe1xuICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgYm9yZGVyLXJhZGl1czozcHg7XG4gICAgYm90dG9tOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgIGxlZnQ6NTAlO1xuICAgIGxpbmUtaGVpZ2h0OjEuMztcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgb3BhY2l0eTowO1xuICAgIHBhZGRpbmc6NXB4IDcuNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyAuMXMgZWFzZSxvcGFjaXR5IC4ycyAuMXMgZWFzZTtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6NHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvdHRvbTotNHB4O1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgaGVpZ2h0OjA7XG4gICAgbGVmdDo1MCU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6MDtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fdG9vbHRpcC0tdmlzaWJsZXtcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApIHNjYWxlKDEpXG59XG4ucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcHtcbiAgICB6LWluZGV4OjNcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXB7XG4gICAgbGVmdDowO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjowIDEwMCVcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGxlZnQ6MTZweFxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXB7XG4gICAgbGVmdDphdXRvO1xuICAgIHJpZ2h0OjA7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBsZWZ0OmF1dG87XG4gICAgcmlnaHQ6MTZweDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcHtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCkgc2NhbGUoMSlcbn1cbi5wbHlyLS12aWRlb3tcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuXG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbWVudS1vcGVue1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOmluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLnBseXJfX3Byb2dyZXNze1xuICAgIGZsZXg6MTtcbiAgICBsZWZ0OjdweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2VdLC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIG1hcmdpbi1sZWZ0Oi03cHg7XG4gICAgbWFyZ2luLXJpZ2h0Oi03cHg7XG4gICAgd2lkdGg6Y2FsYygxMDAlICsgMTRweClcbn1cbi5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXXtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX19wcm9ncmVzcyAucGx5cl9fdG9vbHRpcHtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBsZWZ0OjBcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICBsZWZ0OjA7XG4gICAgbWFyZ2luLXRvcDotMnB4O1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LXdlYmtpdC1wcm9ncmVzcy1iYXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZVxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICBtaW4td2lkdGg6NHB4XG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LW1vei1wcm9ncmVzcy1iYXJ7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICBtaW4td2lkdGg6NHB4O1xuICAgIHRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Vcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotbXMtZmlsbHtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIHRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Vcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tYXVkaW8gLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBhbmltYXRpb246cGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLHJnYmEoNDcsNTIsNjEsLjYpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoNDcsNTIsNjEsLjYpIDUwJSxyZ2JhKDQ3LDUyLDYxLC42KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6MjVweCAyNXB4O1xuICAgIGNvbG9yOnRyYW5zcGFyZW50XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWF1ZGlvLnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyX192b2x1bWV7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4OjE7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX192b2x1bWUgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgbWFyZ2luLWxlZnQ6NXB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MlxufVxuQG1lZGlhIChtaW4td2lkdGg6NDgwcHgpe1xuICAgIC5wbHlyX192b2x1bWV7XG4gICAgICAgIG1heC13aWR0aDo5MHB4XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpe1xuICAgIC5wbHlyX192b2x1bWV7XG4gICAgICAgIG1heC13aWR0aDoxMTBweFxuICAgIH1cbn1cbi5wbHlyLS1pcy1pb3MgLnBseXJfX3ZvbHVtZXtcbiAgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50XG59XG4ucGx5ci0taXMtaW9zLnBseXItLXZpbWVvIFtkYXRhLXBseXI9bXV0ZV17XG4gICAgZGlzcGxheTpub25lIWltcG9ydGFudFxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOmZ1bGxzY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6ZnVsbHNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG4gICAgLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxuICAgIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG4gICAgLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2t7XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBib3R0b206MDtcbiAgICBsZWZ0OjA7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgcmlnaHQ6MDtcbiAgICB0b3A6MDtcbiAgICB6LWluZGV4OjEwMDAwMDAwXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjay5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpe1xuICAgIC5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG59XG4ucGx5cl9fYWRze1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBib3R0b206MDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICBsZWZ0OjA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOjA7XG4gICAgei1pbmRleDotMVxufVxuLnBseXJfX2Fkcz5kaXYsLnBseXJfX2Fkcz5kaXYgaWZyYW1le1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19hZHM6OmFmdGVye1xuICAgIGJhY2tncm91bmQ6cmdiYSg0Nyw1Miw2MSwuOCk7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgYm90dG9tOjEwcHg7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBjb250ZW50OmF0dHIoZGF0YS1iYWRnZS10ZXh0KTtcbiAgICBmb250LXNpemU6MTFweDtcbiAgICBwYWRkaW5nOjJweCA2cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDoxMHB4O1xuICAgIHotaW5kZXg6M1xufVxuLnBseXJfX2Fkczo6YWZ0ZXI6ZW1wdHl7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cl9fY3Vlc3tcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGhlaWdodDo0cHg7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbjotMnB4IDAgMDtcbiAgICBvcGFjaXR5Oi44O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgd2lkdGg6M3B4O1xuICAgIHotaW5kZXg6M1xufVxuLnBseXItLW5vLXRyYW5zaXRpb257XG4gICAgdHJhbnNpdGlvbjpub25lIWltcG9ydGFudFxufVxuLnBseXJfX3NyLW9ubHl7XG4gICAgY2xpcDpyZWN0KDFweCwxcHgsMXB4LDFweCk7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGJvcmRlcjowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MXB4IWltcG9ydGFudDtcbiAgICBwYWRkaW5nOjAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtcbiAgICB3aWR0aDoxcHghaW1wb3J0YW50XG59XG4ucGx5ciBbaGlkZGVuXXtcbiAgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50XG59XG4iLCIubmlldXdzYnJpZWYge1xuICAgIHBhZGRpbmc6IDEyMHB4IDAgMDtcbiAgICBtYXJnaW4tdG9wOiAtMTIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpY2h0a3JhbnQtaG9sZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGljaHRrcmFudCB7XG4gICAgZm9udC1zaXplOiAzdnc7XG4gICAgbGluZS1oZWlnaHQ6IDV2dztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNzFweDtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgXG4gICAgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NC41dnc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgXG4gICAgLm91dGxpbmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJHdoaXRlOyAvKiBXaWxsIG92ZXJyaWRlIGNvbG9yIChyZWdhcmRsZXNzIG9mIG9yZGVyKSAqL1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6ICRncmV5O1xuICAgIH1cbiAgICBcbiAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHZ3O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2xpY2h0a3JhbnQtYXJyb3cuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEuMnZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxdnc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMS4ydnc7XG4gICAgICAgICAgICB0b3A6IDEuN3Z3O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5pZXV3c2JyaWVmLWhvbGRlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDEyMHB4O1xufVxuXG4ubmlldXdzYnJpZWYtaG9sZGVyIC5mb3JtLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA3NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgLmZ1aS1wYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5mdWktZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZnVpLWJ0bi1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5uaWV1d3NicmllZiB7XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMCAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNzVweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3c2JyaWVmLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAubGljaHRrcmFudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogNnZ3O1xuICAgIH1cbiAgICBcbiAgICAubGljaHRrcmFudCBsaSB7XG4gICAgICAgIG1heC13aWR0aDogNTcuNXZ3O1xuICAgIH1cbiAgICBcbiAgICAubGljaHRrcmFudCBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXZ3O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjZ2dztcbiAgICAgICAgICAgIGhlaWdodDogMS4zdnc7XG4gICAgICAgICAgICByaWdodDogMS4zdnc7XG4gICAgICAgICAgICB0b3A6IDIuMXZ3O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmxpY2h0a3JhbnQge1xuICAgICAgICBmb250LXNpemU6IDZ2dztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDh2dztcbiAgICB9XG4gICAgXG4gICAgLmxpY2h0a3JhbnQgbGkge1xuICAgICAgICBtYXgtd2lkdGg6IDg1LjV2dztcbiAgICB9XG4gICAgXG4gICAgLmxpY2h0a3JhbnQgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDh2dztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMy42dnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuM3Z3O1xuICAgICAgICAgICAgcmlnaHQ6IDEuOXZ3O1xuICAgICAgICAgICAgdG9wOiAyLjh2dztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubmlldXdzYnJpZWYtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3NicmllZi1ob2xkZXIgLmZvcm0taG9sZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3c2JyaWVmLWhvbGRlciAuZm9ybS1ob2xkZXIgLmZ1aS1idG4tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3c2JyaWVmIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIH1cbn0iLCIuZm9ybS1ob2xkZXIgaW5wdXQsXG4uZm9ybS1ob2xkZXIgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIFxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U3RjZGODtcbiAgICB9XG4gICAgXG59XG5cbi5mb3JtLWhvbGRlciB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uZm9ybS1ob2xkZXIgLmxpZ2h0LWdyZXkge1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmZvcm0taG9sZGVyIC5lcnJvciBpbnB1dCwgLmZvcm0taG9sZGVyIC5lcnJvciB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4vKi5mb3JtLWhvbGRlciAubGlzdCB7XG4gICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufSovXG5cbmJvZHkgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3Qge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgIG1heC1oZWlnaHQ6IDIzNXB4O1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLWJ0bi1jb250YWluZXIsXG4uZm9ybS1ob2xkZXIgLmZ1aS1idG4td3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktbGFiZWwsXG4uZm9ybS1ob2xkZXIgLmZ1aS1lcnJvciAuZnVpLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktaW5wdXQuZnVpLWVycm9yIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktYWxlcnQtZXJyb3IsIC5mb3JtLWhvbGRlciAuZnVpLWVycm9yLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mdWktZXJyb3IgLmZ1aS1pbnB1dC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Vycm9yLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gICAgXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1yZXF1aXJlZCB7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktdHlwZS1jaGVja2JveGVzIHtcbiAgICAuZnVpLWxlZ2VuZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICBcbiAgICAuZnVpLWNoZWNrYm94IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cblxuLmZvcm0taG9sZGVyIGZvcm0gLmZ1aS1mb3JtLWNvbnRhaW5lciBkaXYubmljZS1zZWxlY3Qge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGRlZXBlc3QtYmxhY2s7XG59XG5cbi5mb3JtLWhvbGRlciBmb3JtIC5mdWktZm9ybS1jb250YWluZXIgLmZ1aS1lcnJvciBkaXYubmljZS1zZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZCAhaW1wb3J0YW50O1xufVxuXG4ubm8taW1hZ2UtaGVhZGVyIC5mb3JtLWhvbGRlciAuZnVpLXR5cGUtY2hlY2tib3hlcyB7XG4gICAgLmZ1aS1sZWdlbmQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICBcbiAgICAuZnVpLWNoZWNrYm94IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5mdWktZXJyb3IuZnVpLXR5cGUtZHJvcGRvd24gLmZ1aS1pbnB1dC1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDM1cHg7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1sZWdlbmQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4uZm9ybS1ob2xkZXIgaW5wdXQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktcmFkaW8gaW5wdXQ6Y2hlY2tlZCtsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXJhZGlvIHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS10eXBlLXJhZGlvLWJ1dHRvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXR5cGUtcmFkaW8ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uZm9ybS1ob2xkZXIgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5yZUNhcHRjaGFUZXh0XG57XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcbn1cblxuLnJlQ2FwdGNoYVRleHQgYVxue1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuLmdyZWNhcHRjaGEtYmFkZ2UgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZvcm0taG9sZGVyIC5mb3JtLWludHJvLnNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xufVxuXG4uZm9ybS13aWR0aC1ob2xkZXIge1xuICAgIG1heC13aWR0aDogODcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mb3JtLWhvbGRlciAuU3RyaXBlRWxlbWVudCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQjFCOEM3O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn0iLCJAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgIC5pbWFnZS1oZWFkZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg1MHZ3IC0gNzRweCk7XG4gICAgfVxuICAgIFxuICAgIC5pbWFnZS1oZWFkZXIgLmltYWdlLWhvbGRlcjo6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYyg1MHZ3IC0gNDAwcHgpO1xuICAgICAgdG9wOiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgICBib3R0b206IDE1MHB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC5zY3JvbGxlciB7XG4gICAgICBsZWZ0OiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzLWhvbGRlciB7XG4gICAgICBtYXJnaW46IDUwcHggMDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgICAgYm90dG9tOiAzNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5yaWdodC1jb2x1bW4gaW1nIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA5MHB4KTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgOTBweCk7XG4gICAgfVxuICAgIFxuICAgIC5ob21lcGFnZS1oZWFkZXIgLmRvdHMtYW5pbWF0aW9uIHN2ZyB7XG4gICAgICB3aWR0aDogMjI5cHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2UubGVmdCAuZG90cy1hbmltYXRpb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxOTdweDtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuLmRldGFpbCAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLnByb2R1Y3Rlbi1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuICBcbiAgLnByb2R1Y3Rlbi1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA3NXB4IDAgMDsgIFxuICB9XG4gIFxuICAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgbGVmdDogMjBweDtcbiAgICBcbiAgICAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgZm9udC1zaXplOiAxNzBweDtcbiAgICB9XG4gIH1cbiAgXG4gIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciAge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgXG4gICAgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTcwcHg7XG4gICAgfVxuICB9XG4gIFxuICAuc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMjAwcHg7XG4gIH1cbiAgXG4gICAgLm5vLWltYWdlLWhlYWRlci1ob2xkZXIud2l0aC1pbGx1c3RyYXRpb24gLmRvdHMtYW5pbWF0aW9uIHN2ZyB7XG4gICAgICB3aWR0aDogMjIwcHg7XG4gICAgfVxuICAgIFxuICAuaG9tZXBhZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXIgLmhlYWRlci1pbGx1c3RyYXRpb24ge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgfVxuICBcbiAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLmRpZW5zdCAudGV4dC1ob2xkZXIgLnRleHQge1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gIH1cbiAgXG4gIC52aWN0YS1kaWVuc3RlbiB7XG4gICAgcGFkZGluZzogNzVweCAwO1xuICB9XG4gIFxuICAuaG9tZS1wYXJ0aWNsZXMge1xuICAgICAgd2lkdGg6IDglICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDIxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC5zY3JvbGxlciB7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuaG9tZXBhZ2UtaGVhZGVyIC5kb3RzLWFuaW1hdGlvbiBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLml0ZW06OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAudWstc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tcGFydGljbGVzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5ob21lLXBhcnRpY2xlcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAubGFuZGluZy1wYXJ0aWNsZXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNjVweCkge1xuICAgIC5zY3JvbGxlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciAuaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmRlbW8taG9sZGVyIC5pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgIG1hcmdpbjogNTBweCAtNDBweCAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLnJpZ2h0LWNvbHVtbiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAgIC5uby1pbWFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA3MHB4IDAgOTBweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfSAgIFxuICAgIFxuICAgIC5uby1pbWFnZS1oZWFkZXItaG9sZGVyLndpdGgtaWxsdXN0cmF0aW9uIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjYwcHgpIHtcbiAgICAucHJvZHVjdGVuLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAuaW1hZ2UtaGVhZGVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbi5uby1pbWFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbi5uby1pbWFnZTo6YmVmb3JlIHtcbiAgICByaWdodDogMHB4O1xuICB9XG4gIFxuICAucmlib24tYmFyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgXG4gIC5yaWJvbi1iYXIgLnJpYm9uLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5ob21lcGFnZS1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCA3NXB4IDQwcHg7XG4gICAgICBtYXJnaW46IDAgNzVweCAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNzVweCAwO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIC5wcm9kdWN0ZW4taW50cm8taG9sZGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5ob21lcGFnZS1jdGEtaG9sZGVyIHtcbiAgICAgIG1hcmdpbjogNzVweCAwIDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5ob21lcGFnZS1jdGEtaG9sZGVyIC5jb2x1bW4ge1xuICAgICAgcGFkZGluZzogNDVweCA0MHB4O1xuICAgIH1cbiAgXG4gICAgLmhvbWVwYWdlLWN0YS1ob2xkZXIgLmNvbHVtbiBoMiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgICB9XG4gICAgXG4gICAgLmRlbW8taG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCAwO1xuICAgIH1cbiAgICBcbiAgICAuZGVtby1ob2xkZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gICAgfVxuICAgIFxuICAgIC5kZW1vLWhvbGRlciAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIge1xuICAgICAgcGFkZGluZzogODBweCAwIDA7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuICAgIH1cbiAgICBcbiAgICAua2xhbnRlbi1ob2xkZXIge1xuICAgICAgbWFyZ2luOiA3NXB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5rbGFudGVuLWhvbGRlciAua2xhbnRlbi1pbnRyby1ob2xkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24tdmljdGFRbGlrSG9tZXBhZ2UgLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogNzVweCAwO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgICAgdG9wOiAtNzVweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgc3ZnIHtcbiAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEzMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLXByb2R1Y3Rlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDE1OHB4O1xuICAgICAgaGVpZ2h0OiAyNzhweDtcbiAgICB9XG4gICAgXG4gICAgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIG1hcmdpbjogNTBweCAtMTAwcHggMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgICB0b3A6IC01MHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgc3ZnIHtcbiAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciAge1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogLTIwcHg7XG4gICAgICBcbiAgICAgIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4ge1xuICAgICAgcGFkZGluZzogMCAwIDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLWRpZW5zdGVuIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiA5MnB4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgIH1cbiAgICBcbiAgICBwLm5yLXJlc3VsdHMge1xuICAgICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICB9XG4gICAgXG4gICAgLnJlc3VsdGF0ZW4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICB9XG4gICAgXG4gICAgLm5vLWltYWdlLWhlYWRlci1ob2xkZXIud2l0aC1pbGx1c3RyYXRpb246OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgIGhlaWdodDogMTQ5cHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWhlYWRlciBoMSwgLmNvbnRhY3QtaGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWhlYWRlciAuYmxva2tlbi1ob2xkZXIgLmJsb2sgaDMge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNkY4O1xuICAgICAgcGFkZGluZzogNzVweCAwO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbiB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIgLml0ZW0ub3ZlcnppY2h0LWN0YSAuY3RhLXRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCAzNXB4IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIgLml0ZW0ub3ZlcnppY2h0LWN0YSBoMyB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciAuaXRlbSAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMzBweCAyNXB4IDEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIC5pdGVtIC50ZXh0LWhvbGRlciAudGV4dC1ib3R0b20ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgbGVmdDogMjVweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciAuaXRlbS5vdmVyemljaHQtY3RhIC5jdGEtdGV4dC1ob2xkZXIubm8taW1hZ2Uge1xuICAgICAgcGFkZGluZzogMzVweCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogNzVweCAwIDIwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAucmVzb3VyY2VzLWhvbGRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24tcmVzb3VyY2VzT3ZlcnppY2h0LCAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCB7XG4gICAgICAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICAuc2VjdGlvbi1yZXNvdXJjZXNPdmVyemljaHQsIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0ICB7XG4gICAgICAubm8taW1hZ2UtaGVhZGVyLWhvbGRlci53aXRoLWlsbHVzdHJhdGlvbjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZmlsdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5ob21lcGFnZS1oZWFkZXIgLmltYWdlLWhvbGRlciAuaGVhZGVyLWlsbHVzdHJhdGlvbiB7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4gLmludHJvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4gLmRpZW5zdGVuLWRvdHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlci5jdXN0b20tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0LWxhYmVscy1ob2xkZXIgLnByb2R1Y3QtbGFiZWxzLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3QtbGFiZWxzLWhvbGRlciAucHJvZHVjdHMtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgXG4gICAgLmltYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyOjpiZWZvcmUsXG4gICAgLmltYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAjaW5ob3VkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgXG4gICAgI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yID4gLmNvbXBvbmVudC1ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgfVxuICAgIFxuICAgIC5ob21lcGFnZS1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDUwcHggNDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHggMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWdyaWQubW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1ncmlkLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWdyaWQubW9iaWxlID4gZGl2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXItZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlci1tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBcbiAgICAgID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jb3Jwb3JhdGUgLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyIC5sYWJlbCAuaW5uZXItbGFiZWwgeyAgICBcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgXG4gICAgLmNvcnBvcmF0ZSAuZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIgLmxhYmVsIC5pbm5lci1sYWJlbCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAyN3B4O1xuICAgICAgbWF4LWhlaWdodDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciAuZGllbnN0ZW4tdGFicy1pbm5lciB7XG4gICAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgICBcbiAgICAgIC5zbGlkZXItaG9sZGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubG9nby1zbGlkZXIgLnNxdWFyZSB7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzLWdyaWQtaG9sZGVyIC5uaWV1d3MtaXRlbSAudGV4dC1ob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNkY4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDE1cHggMTBweDtcbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgIH1cbiAgICB9IFxuICAgIFxuICAgIC5uaWV1d3MtZ3JpZC1ob2xkZXIgLmJ1dHRvbi1ob2xkZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXIgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLnByb2R1Y3QgLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW0ub3ZlcnppY2h0LWN0YSAuaW1hZ2UtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtLm92ZXJ6aWNodC1jdGEgLnRleHQtY29sdW1uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIC5pdGVtLm92ZXJ6aWNodC1jdGEgLmN0YS10ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC52aWRlby1wb3B1cCB7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICAucmlib24tYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5zd2lwZS1jaXJrZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSogMSAvIDMuMDAxKTtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZGVtby1ob2xkZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICAgIHRvcDogLTg1cHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICB9XG4gICAgXG4gICAgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIG1hcmdpbjogMzBweCAtMTQwcHggMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjVweCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgMDtcbiAgICB9XG4gIFxuICAgIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgdG9wOiAtNjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1oZWFkZXIgLnRleHQtaG9sZGVyLnJpZ2h0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtaGVhZGVyIC5sb2NhdGlvbi1ob2xkZXIge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY29udGFpbmVyLCAubGFyZ2UtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cblxuICAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNTBweDtcbiAgfVxuICBcbiAgLm5vLWltYWdlLWhlYWRlciAuaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWhlYWRlciAudGV4dC1jb2x1bW4ge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtaGVhZGVyIC5pbWFnZS1jb2x1bW4ge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgIG1hcmdpbiA6IDA7XG4gIH1cblxuICAuaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWhvbGRlciAudGV4dCB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWhlYWRlciBoMSB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgfVxuICBcbiAgLnByb2R1Y3RzLWhvbGRlciB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtY3RhLWhvbGRlciA+IGRpdiwgLmhvbWVwYWdlLWN0YS1vbmUtY29sdW1uID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmhvbWVwYWdlLWN0YS1ob2xkZXIge1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmhvbWVwYWdlLWN0YS1ob2xkZXIgLmNvbHVtbiB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIFxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuICBcbiAgLmhvbWVwYWdlLWN0YS1ob2xkZXI6OmJlZm9yZSwgLmhvbWVwYWdlLWN0YS1ob2xkZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtY3RhLWhvbGRlciAuY29sdW1uIC5pY29uLWhvbGRlciBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAyMnB4O1xuICAgICAgbWF4LWhlaWdodDogMjJweDtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWN0YS1ob2xkZXIgYS5yZWFkLW1vcmUsIC5ob21lcGFnZS1jdGEtaG9sZGVyIHNwYW4ucmVhZC1tb3JlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgXG4gICAgPiBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmRlbW8taG9sZGVyOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICBcbiAgLmRlbW8taG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMDtcbiAgfVxuICBcbiAgLmRlbW8taG9sZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbiAgXG4gIC5kZW1vLWhvbGRlciAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIH1cbiAgXG4gIC5kaWVuc3Rlbi1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDc1cHggMCAwO1xuICB9XG4gIFxuICAuZGllbnN0ZW4taG9sZGVyIC5kaWVuc3Rlbi1pbnRyby1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICB9XG4gIFxuICAua2xhbnRlbi1ob2xkZXIge1xuICAgIG1hcmdpbjogNTBweCAwO1xuICB9XG4gIFxuICAubG9nby1zbGlkZXIgLnNxdWFyZSB7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICB3aWR0aDogMTEwcHg7XG4gIH1cbiAgXG4gIC5sb2dvLXNsaWRlciAuc3F1YXJlIGltZyB7XG4gICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgIG1heC1oZWlnaHQ6IDMwcHg7XG4gIH1cbiAgXG4gIC5zZWN0aW9uLXZpY3RhUWxpa0hvbWVwYWdlIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbiAgXG4gIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICBmb250LXNpemU6IDExMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuICBcbiAgLnBvcHVwIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG4gIFxuICAucG9wdXAgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG4gIFxuICAucG9wdXAgLnRleHQtaG9sZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbiAgXG4gIC5wb3B1cCAudGV4dC1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTRweDtcbiAgfVxuICBcbiAgLnByb2R1Y3Rlbi1oZWFkZXIgLmltYWdlLWNvbHVtbiB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgXG4gIC5wcm9kdWN0ZW4taGVhZGVyIC50ZXh0LWNvbHVtbiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgXG4gIC5wcm9kdWN0ZW4taGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgfVxuICBcbiAgLnByb2R1Y3Rlbi1oZWFkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICBcbiAgLnByb2R1Y3Rlbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gIC5zZWN0aW9uLXByb2R1Y3Rlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA3NXB4IDAgNTBweDtcbiAgfVxuICBcbiAgLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXIgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAuZGV0YWlsLWhlYWRlciAudGV4dC1jb2x1bW4ge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi10b3A6IC01MHB4XG4gIH1cbiAgXG4gIC5kZXRhaWwtaGVhZGVyIC5pbWFnZS1jb2x1bW4ge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIFxuICAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIG1hcmdpbjogMCAwIDAgMjBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgcGFkZGluZzogNDBweCAyNXB4IDMwcHg7XG4gIH1cbiAgXG4gIC5kZXRhaWwtaGVhZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLmRldGFpbC1oZWFkZXI6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIFxuICAucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgbGVmdDogMDtcbiAgfSAgXG4gIFxuICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgIGxlZnQ6IDQwO1xuICAgIHRvcDogLTQwcHg7XG4gIH1cbiAgXG4gIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgfVxuICBcbiAgLmRpZW5zdGVuLWhlYWRlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDMwcHg7XG4gIH1cbiAgXG4gIC5kaWVuc3Rlbi1oZWFkZXIgLmludHJvIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG4gIFxuICAucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIHtcbiAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgfVxuICBcbiAgLmZvcm0taG9sZGVyLnpvZWstZm9ybSAuaW5wdXQtaG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIFxuICAuZm9ybS1ob2xkZXIuem9lay1mb3JtIGJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgfVxuICBcbiAgLmZvcm0taG9sZGVyLnpvZWstZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICBcbiAgcC5uci1yZXN1bHRzIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG4gIFxuICAucmVzdWx0YXRlbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICBcbiAgLmZvcm0taG9sZGVyIC5mdWktcm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgLnNlY3Rpb24tb3Bsb3NzaW5nZW5PdmVyemljaHQgLmRpZW5zdGVuLWhlYWRlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDBweDtcbiAgfVxuICBcbiAgLnNlY3Rpb24tb3Bsb3NzaW5nZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAuY29udGFjdC1oZWFkZXIgLmNvbnRhY3QtaW5uZXI6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLmNvbnRhY3QtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbiAgXG4gIC5jb250YWN0LWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC5jb250YWN0LWhlYWRlciAudGV4dC1ob2xkZXIucmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtaGVhZGVyIC52ZXN0aWdpbmdlbi1ob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgXG4gIC5jb250YWN0LWhlYWRlciAuYmxva2tlbi1ob2xkZXIgLmJsb2sgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgXG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbiAgXG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbiAgXG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG4gIFxuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAucmlnaHQtY29sdW1uIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICB9XG4gIFxuICAuc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxMjVweDtcbiAgfVxuICBcbiAgLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICB9XG4gIFxuICAuaXRlbXMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgfVxuICBcbiAgLmxvYWQtbW9yZS1idXR0b24tY29udGFpbmVyLmN1c3RvbSB7XG4gICAgcGFkZGluZzogMjVweDtcbiAgfVxuICBcbiAgLmxvYWQtbW9yZS1idXR0b24tY29udGFpbmVyIC5hbW91bnQtdmlzaWJsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cbiAgXG4gICAgLmZpbHRlciAuY2F0LWxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZmlsdGVyIC5jYXQtbGFiZWwgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZTpub3QoLmxlZnQpIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1rbGFudHZlcmhhbGVuIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciwgXG4gICAgLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlcixcbiAgICAuc2VjdGlvbi1wYXJ0bmVyc092ZXJ6aWNodCAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXJ7XG4gICAgICBtYXJnaW46IDBweCBhdXRvIDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAzMHB4IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5oZWFkZXItNDA0IHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaGVhZGVyLTQwNCBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICAgIFxuICAgIC52aWRlby1wb3B1cCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMjBweDtcbiAgICB9XG4gIFxuICAgIC52aWRlby1wb3B1cCAuY2xvc2Uge1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG4gICAgXG4gICAgLm5vLWltYWdlLWhlYWRlciAuZm9ybS1ob2xkZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbi5uby1pbWFnZTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3RlbiB7XG4gICAgICBwYWRkaW5nOiA0NXB4IDA7XG4gICAgfVxuICBcbiAgICAudmljdGEtZGllbnN0ZW4gLmludHJvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4gLmludHJvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaWxsdXN0cmF0aW9uLWhvbGRlciB7XG4gICAgICAgcGFkZGluZzogMzBweCAwIDA7IFxuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIsIC5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyLCAuc2VjdGlvbi1wYXJ0bmVyc092ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAxODBweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuZGllbnN0IC5pbWFnZS1ob2xkZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIC00NXB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuZGllbnN0IC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA2NXB4IDIwcHggNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLmRpZW5zdCAudGV4dC1ob2xkZXIgLnN0ZXAtaG9sZGVyIHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuZGllbnN0IC50ZXh0LWhvbGRlciBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3Rlbi5kZXRhaWwgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuLmRldGFpbCAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogNDYlO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyLmN1c3RvbS1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuLmN1c3RvbS1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3QtbGFiZWxzLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/