@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: #117865;
}

* [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: #117865;
}

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: #117865;
}

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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
    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: #117865;
  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: #117865;
  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: #117865;
  margin-bottom: 15px;
  font-size: 14px;
}

.footer-holder .location-holder li {
  margin-bottom: 10px;
}

.footer-holder .location-holder a > span {
  color: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
}

.no-image-header h2.custom {
  color: #FFFFFF;
}

.no-image-header h4 {
  color: #117865;
  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: #117865;
  height: 3px;
  width: 25px;
}

.no-image-header .scroller {
  top: 195px;
}

.image-header {
  position: relative;
}

.image-header h4 {
  color: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
}
.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: #117865;
  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: #117865;
}
.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: #117865;
  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: #117865;
  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: #117865;
}
.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: #117865;
}
.detail-header .text-holder .label {
  color: #117865;
  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: #117865;
}
.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: #117865;
  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: #117865;
}

.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 #117865;
  background-color: #117865;
}

.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: #117865;
}

.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: #117865;
}
.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: #117865;
  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: #117865;
}
.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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
  color: #FFFFFF;
  border: 1px solid #117865;
}
.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: #117865;
  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: #117865;
  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 #117865;
}
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: #117865;
}
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: #117865;
  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: #117865;
}

.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: #117865;
  position: relative;
}
.component-quote .auteur::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 1px;
  background-color: #117865;
}

.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: #117865;
}

.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: #117865;
}

.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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
}

.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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
  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: #117865;
  color: #fff;
}

.plyr__control--overlaid {
  background: #117865;
  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: #117865;
}

.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: #117865;
}

.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: #117865;
  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: #117865;
}

.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: #117865;
  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: #117865;
  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: #117865;
}

.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: #117865;
  border-color: #117865;
  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: #117865;
}

.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-dark-green-right.svg);
}

.section-productenOverzicht .products-holder::before {
  background-image: url(/assets/images/products-decoration.svg);
}

.component-tekst ul li::before {
  content: url(/assets/images/dark-green-check.svg);
}

.products-holder.diensten .product .text-holder ul li::before {
  background-image: url("/assets/images/lightblue-check.svg");
}

.diensten-holder .tabs-holder .text-holder ul li::before {
  background-image: url("/assets/images/dark-green-check.svg");
}

.component-quote::before {
  content: url(/assets/images/quote-dark-green.svg);
}

header .top-menu-holder li .vacature-count {
  background-color: #FFFFFF;
  color: #117865;
}

@media only screen and (max-width: 767px) {
  header .logo-holder img {
    max-width: 160px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzaGVldHMvYXBwLWZhYnJpYy5jc3MiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDa0ZoQjs7NkVBQUE7QUFJQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQSxrTUNkaUI7RURlakIsZUNaZTtFRGFmLG1CQ2RvQjtFRGVwQixnQkNaaUI7RURhakI7RUFDQTtFQUNBO0VBQ0EsZ0JDekNnQjtFRDBDaEIsV0NoR1c7QUZjZjs7QUNzRkE7O0VBQUE7QUFJQTtFQUFPO0FEbkZQOztBQ3NGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQ1U7QURwRlY7O0FDc0ZBOztFQUFBO0FBSUE7O0VBRUksY0N6Q2dCO0VEMENoQixxQkN4Q3dCO0VEeUN4QjtBRHBGSjs7QUN3RkE7Ozs7RUFJSSxjQ2hEc0I7RURpRHRCLDBCQy9DOEI7QUZ0Q2xDOztBQzBGQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtVQUFBO0VBQ0E7RUFDQTtBRHpGSjs7QUM0RkE7O0VBQUE7QUFJQTs7RUFDUyxtQkN2RWlCO0FGbEIxQjs7QUMyRkE7Ozs7RUFBQTtBQU1BOzs7RUFHSTtFQUNBLHdDQ2pGb0I7RURrRnBCO0VBQ0EsbUJDOUhxQjtFRCtIckI7RUFDQSxjQ3JKdUI7RURzSnZCO0VFMURBO0VBQ0EsbUJEM0dzQjtBRjZFMUI7O0FDMkZBOztFQUFBO0FBSUE7RUFBSyxjQzlKc0I7QUZzRTNCOztBQzBGQTs7RUFBQTtBQUlBO0VBQ0ksZ0JDbEdrQjtFRG1HbEIsV0NoTVc7RURpTVg7QUR4Rko7O0FDMkZBOztFQUFBO0FBSUE7RUFDSSxnQkMxR21CO0VEMkduQixXQzFNVztBRmlIZjs7QUM0RkE7O0VBQUE7QUFJQTtFQUFJLGtCQ2hIb0I7QUZ1QnhCOztBQzJGQTs7RUFBQTtBQUlBO0VBQVEsY0NySGU7QUY2QnZCOztBQzBGQTs7RUFBQTtBQUlBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FEeEZKOztBQzJGQTtFQUFNO0FEdkZOOztBQ3dGQTtFQUFNO0FEcEZOOztBQ3VGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7OztFQUtRO0FEckZSOztBQ3VGQTs7Ozs7RUFBQTtBQU9BOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURyRko7O0FDd0ZBO0FBQ0E7RUFFRztJQUNLO0lBQ0E7SUFDQTtFRHRGTjtBQUNGO0FDMEZBOztFQUFBO0FBSUE7RUFBaUI7QUR4RmpCOztBQzBGQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRHhGSjs7QUMyRkE7OztFQUFBO0FBS0E7RUFBUztBRHhGVDs7QUMyRkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOzs7Ozs7OztFQU9TO0FEekZUOztBQzJGQTtBQUNBOzs7Ozs7OztFQU9hLGdCQzlVRztBRnVQaEI7O0FDMEZBOzZFQUFBO0FBR0E7Ozs7Ozs7Ozs7O0VBV0k7RUFDQSxrTUMvUWlCO0VEZ1JqQixtQkNyUHVCO0VEc1B2QixXQzdWb0I7RUQ4VnBCLG9CQ3JQMEI7QUY2SjlCOztBQzRGQTtBQUNBOzs7Ozs7Ozs7OztFQVUwQixnQkNuUUg7QUYyS3ZCOztBQzBGQTs7RUFBQTtBQUlBO0VBQ0kscUJDdlFnQjtFRHdRaEIsZ0JDdlFrQjtBRitLdEI7O0FDNEZBO0VBQ0ksaUJDelFnQjtFRDBRaEIsZ0JDelFrQjtBRmdMdEI7O0FDNkZBO0VBQ0ksaUJDN1FxQjtFRDhRckIsZ0JDNVFrQjtBRmtMdEI7O0FDOEZBO0VBQ0ksa0JDellzQjtFRDBZdEIsZ0JDaFJrQjtBRnFMdEI7O0FDK0ZBO0VBQ0ksZUM3VGU7RUQ4VGYsZ0JDcFJrQjtBRndMdEI7O0FDZ0dBO0VBQ0ksbUJDaldxQjtFRGtXckIsZ0JDeFJrQjtBRjJMdEI7O0FDaUdBO0FBQ0E7RUFFSTtJQUFhLG1CQzdXVTtFRitRekI7O0VDK0ZFO0lBQWEsZUM1U1M7RUZpTnhCO0FBQ0Y7QUMrRkE7NkVBQUE7QUFHQTs7RUFDSyxrQkN4U29CO0FGMk16Qjs7QUMrRkE7O0VBQUE7QUFJQTs7OztFQUdlO0FENUZmOztBQytGQTs2RUFBQTtBQUdBO0VBQUs7QUQ1Rkw7O0FDNkZBO0VBQUs7QUR6Rkw7O0FDNEZBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRDNGSjs7QUMrRkE7QUFDQTs7RUFDYSxnQkNuZEc7QUZ3WGhCOztBQzhGQTs2RUFBQTtBQUdBO0VBQVU7QUQzRlY7O0FDOEZBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGtCQy9kc0I7RURnZXRCLGdCQzFWMEI7RUQyVjFCLGtCQzFWeUI7RUNBekIsV0RwSW9CO0FGbVl4Qjs7QUMrRkE7QUFDQTtFQUFpQixnQkN4ZUQ7QUY2WWhCOztBQzZGQTs7RUFBQTtBQUlBO0VBQTRCO0FEMUY1Qjs7QUM0RkE7RUFDSSxnQkN0V2tCO0VEdVdsQixtQkM1YnFCO0VENmJyQixnQkNyV2lDO0VDRGpDLFdEdElXO0FGb1pmO0FHNVFJO0VBQVk7QUgrUWhCOztBQzBGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFdDMWZXO0VEMmZYO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7RUVsWEEsYUQwNUJlO0VDejVCZjtFQUNBLGtCRDQ1QnFCO0VDMzVCckIsZ0JEekZnQjtBRm1YcEI7O0FDeUZBO0VBQVcsd0NDeGFhO0FGbVZ4Qjs7QUN3RkE7NkVBQUE7QUFHQTtFQUNJLGdCQzdYd0I7RUQ4WHhCLFdDdmdCbUI7RUR3Z0JuQjtBRHRGSjtBQ21GQTtFQUNJLGdCQzdYd0I7RUQ4WHhCLFdDdmdCbUI7RUR3Z0JuQjtBRHRGSjs7QUMwRkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFDTztFQUNIO0FEeEZKOztBQzJGQTs7RUFBQTtBQUlBO0VBQVU7QUR4RlY7O0FDMEZBOztFQUFBO0FBSUE7RUFBVztBRHZGWDs7QUMwRkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQTRCO0FEeEY1Qjs7QUN5RkE7RUFBNEI7QURyRjVCOztBQ3NGQTtFQUE0QjtBRGxGNUI7O0FDbUZBO0VBQTRCO0FEL0U1Qjs7QUNpRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRDlFSjs7QUl6ZEE7OzZFQUFBO0FBS0E7NkVBQUE7QUFHQTs7RUFFSSxXRnNCaUI7QUZtY3JCOztBSXJkQTs7OztFQUlJLFdGcENXO0FGNGZmOztBSW5kQTs2RUFBQTtBQUdBOztFQUVJO0FKcWRKOztBSWpkQTs7OztFQUlJLFdGSmlCO0FGd2RyQjs7QUkvY0E7NkVBQUE7QUFHQTs7RUFFSTtBSmlkSjs7QUk3Y0E7Ozs7RUFJSSxjRnZEd0I7RUV3RHhCLHFCRjBmaUM7QUYxQ3JDOztBSTNjQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBRUk7RUFDQTtBSjRjSjs7QUl2Y0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QUp5Y0o7O0FJdGNBO0VBQXdCO0FKMGN4Qjs7QUs5ZkE7OzZFQUFBO0FBSUE7RUFDSSxpQkgyWnNCO0VHMVp0QixnQkhzYXdCO0FGMEY1Qjs7QUs1ZkE7RUFDSSxvQkh1WnVCO0VHdFp2QixnQkhpYXlCO0FGOEY3Qjs7QUszZkE7RUFDSSxpQkhtWnNCO0VHbFp0QixnQkg0WndCO0FGa0c1Qjs7QUsxZkE7RUFDSSxlSHVZeUI7RUd0WXpCLGNIdVp5QjtBRnNHN0I7O0FLemZBO0VBQ0ksZUh5WXdCO0VHeFl4QixjSGtaMEI7QUYwRzlCOztBS3hmQTtBQUNBO0VBRUk7SUFBb0Isa0JIMFhJO0VGaUkxQjs7RUsxZkU7SUFBcUIsaUJIMlhJO0VGbUkzQjs7RUs3ZkU7SUFBb0IsZUh1WEs7RUYwSTNCOztFS2hnQkU7SUFBcUIsZUg4WEc7RUZzSTFCOztFS25nQkU7SUFBc0IsZUhnWUc7RUZ1STNCO0FBQ0Y7QUtwZ0JBO0FBQ0E7RUFFSTtJQUFxQixlSDhXSTtFRndKM0I7O0VLcmdCRTtJQUFvQixlSHFYSTtFRm9KMUI7O0VLeGdCRTtJQUFxQixlSHVYSTtFRnFKM0I7O0VLM2dCRTtJQUFzQixnQkh3WEk7RUZ1SjVCO0FBQ0Y7QUszZ0JBOzs2RUFBQTtBQW9CQTtBQVNBO0FBYUE7OzZFQUFBO0FBcUJBO0FBWUE7QUFhQTs2RUFBQTtBQUdBO0VBQ0ksaUNINlI2QjtFRzVSN0I7QUw4Yko7O0FLemJBOzZFQUFBO0FBR0E7RUFBcUI7QUw0YnJCOztBSzFiQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJIeVFpQjtFR3hRakI7RUFDQTtFQUNBLHlCSHVRb0I7RUd0UXBCLCtCSHVRMEI7RUd0UTFCO0FMNGJKOztBS3ZiQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBbUI7QUx5Ym5COztBS3ZiQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBTHliSjs7QUt0YkE7Ozs7RUFBQTtBQU1BOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhSHdPaUI7RUd2T2pCO0VBQ0E7QUx3Yko7O0FLcGJBO0VBQ0k7RUFDQSwrQkhrTzZCO0FGcU5qQzs7QUtyYkE7RUFDSTtFQUNBLDhCSDhONkI7QUYwTmpDOztBTTlxQkE7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxtQkovQ1k7QUY4dEJoQjs7QU01cUJBO0FBQ0E7RUFBNEIsZ0JKbkRaO0FGbXVCaEI7O0FNN3FCQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQSxZSmtSa0I7RUsvU2xCO0VEK0JBO0VBQ0E7QU4rcUJKOztBTTNxQkE7O0VBRUk7RUFDQTtFQUNBLFFKeVFvQjtFSXhRcEI7RUFDQTtBTjhxQko7O0FNMXFCQTtFQUNJO0VBQ0EsV0prUXNCO0FGMmExQjs7QU16cUJBO0VBQ0k7RUFDQSxXSjRQc0I7QUZnYjFCOztBTXZxQkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtBQUNBO0VBQW9CO0FOeXFCcEI7O0FNdnFCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBLFlKNE9rQjtFSTNPbEI7RUFDQTtFQUNBO0FOMHFCSjs7QU1ycUJBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGFKa09zQjtFSWpPdEI7RUFDQTtFQUNBO0FOdXFCSjs7QVF4dUJBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtBUjB1Qko7O0FRdnVCQTs7RUFBQTtBQUlBO0VBQTZCO0FSMHVCN0I7O0FReHVCQTs7RUFBQTtBQUlBOztFQUNvQixnQk5nRUU7QUYycUJ0Qjs7QVF4dUJBOzs7NkVBQUE7QUFLQTs7Ozs7RUFJc0Isa0JOeWZGO0FGa1BwQjs7QVF6dUJBOztFQUFBO0FBSUE7RUFBbUI7QVI0dUJuQjs7QVEzdUJBO0VBQXVCO0FSK3VCdkI7O0FRN3VCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFdONGVnQjtFTTNlaEIsYU40ZWlCO0VNM2VqQjtFQUNBO0VBQ0E7RUFDQTtBUmd2Qko7O0FRN3VCQTtFQUEyQjtBUml2QjNCOztBUWh2QkE7RUFBNkI7QVJvdkI3Qjs7QVFudkJBO0VBQTZCO0FSdXZCN0I7O0FRdHZCQTtFQUE4QjtBUjB2QjlCOztBUXp2QkE7RUFBNkI7QVI2dkI3Qjs7QVEzdkJBOztFQUFBO0FBSUE7RUFBNEI7QVI4dkI1Qjs7QVE3dkJBO0VBQStCO0FSaXdCL0I7O0FRaHdCQTtFQUE4QjtBUm93QjlCOztBUW53QkE7RUFBZ0M7QVJ1d0JoQzs7QVFwd0JBOzZFQUFBO0FBR0E7RUFBc0Isa0JOaWRGO0FGc1RwQjs7QVFyd0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsV04yY2dCO0VNMWNoQixhTjJjaUI7RU0xY2pCO0VEekdBO0VDMkdBO0VBQ0E7QVJ3d0JKOztBUXB3QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksZ0JOWGtCO0VNWWxCLGlCTlprQjtFTWFsQjtBUnF3Qko7O0FRandCQTs7RUFBQTtBQUlBO0VBQ0k7QVJtd0JKO0FHMnNCSTtFQUNJO0VBQ0E7QUh6c0JSOztBUW53QkE7RUFBdUMsbUJObEpiO0FGeTVCMUI7O0FRcndCQTtFQUFxQztBUnl3QnJDOztBUXR3QkE7NkVBQUE7QUFHQTs7RUFDMEIsZ0JOOUtWO0FGdTdCaEI7O0FRdndCQTs7RUFDNkI7QVIyd0I3Qjs7QVF6d0JBOztFQUFBO0FBSUE7RUFDSSxnQk54TFk7RU15TFosaUJOekxZO0FGbzhCaEI7O0FReHdCQTtFQUNJO0VBQ0E7QVIyd0JKOztBUXh3QkE7O0VBQUE7QUFJQTtFQUFxQztBUjJ3QnJDOztBUXp3QkE7RUFDSTtFQUNBO0FSNHdCSjs7QVF6d0JBOztFQUNzRDtBUjZ3QnREOztBU3I4QkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJLFdQekJvQjtFQzJzQnBCLG1CRDFwQnFCO0VDMnBCckIsbUJEd1hnQztFQ3ZYaEMseUJEd1htQztBRm5HdkM7O0FTcjhCQTtFQUNJLGdCUG5DWTtBRjIrQmhCOztBU3I4QkE7O0VBQUE7QUFTQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQlB2RFk7RU93RFosaUJQeERZO0VPeURaO0FUZzhCSjs7QVVqOEJBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CUnpFWTtBRjJnQ2hCOztBVTk3QkE7QUFDQTtFQUFnQixnQlI5RUE7QUZnaENoQjs7QVUvN0JBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJSdkNxQjtFUXdDckIsbUJSdzBCNEI7RVF2MEI1QixXUnRDaUI7RUN1NURZO0FIaDdCakM7O0FVNTdCQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBVjg3Qko7O0FVMTdCQTs7RUFBQTtBQUlBO0VBQTZCO0FWNjdCN0I7O0FVMTdCQTs2RUFBQTtBQUdBO0VBQ0ksbUJSbEVxQjtBRjgvQnpCOztBVXY3QkE7NkVBQUE7QUFHQTtFQUNJLG1CUjNFcUI7RVE0RXJCO0VBQ0EsV1IxRWlCO0FGbWdDckI7O0FVcDdCQTs2RUFBQTtBQUdBOztFQUNzQjtBVnU3QnRCOztBVXA3QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOzs7RUFHSTtBVnE3Qko7O0FVajdCQTs7RUFBQTtBQUlBOztFQUVJLG1CUmhKc0I7RUNtOER0QjtFQUNBO0FILzNCSjs7QVVqN0JBOztFQUFBO0FBSUE7O0VBRUksZ0JSOHZCMEI7QUZxTDlCOztBVTk2QkE7NkVBQUE7QUFHQTs7RUFFSSxnQlJvdkIwQjtBRjRMOUI7O0FVNTZCQTs2RUFBQTtBQUdBOztFQUVJO0FWODZCSjs7QVUxNkJBOztFQUVJO0FWNjZCSjs7QVV4NkJBOzZFQUFBO0FBR0E7O0VBQ21DO0FWMjZCbkM7O0FVejZCQTs7RUFDa0M7QVY2NkJsQzs7QVUxNkJBOzZFQUFBO0FBR0E7RUFBbUI7QVY2NkJuQjs7QVU1NkJBO0VBQW1CLGdCUjJ0Qk07QUZxTnpCOztBVTc2QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0FWKzZCakI7O0FVNzZCQTtFQUNJO0VBQ0E7QVZnN0JKOztBVTc2QkE7RUFBcUM7QVZpN0JyQzs7QVU5NkJBOzZFQUFBO0FBSUE7QUFDQTtFQUVJOzs7OztJQUkwQjtFVis2QjVCOztFVTc2QkU7SUFBNkI7RVZpN0IvQjs7RVUvNkJFOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVZrN0JOOztFVS82QkU7OztJQUU0RDtFVm03QjlEOztFVWo3QkU7OztJQUUyRDtFVnE3QjdEOztFVW43QkU7O0lBRUk7SUFDQTtFVnM3Qk47QUFDRjtBR3d4Qkk7RUFBcUI7QUhyeEJ6Qjs7QVd2cUNBOzs2RUFBQTtBQUlBOzs7Ozs7Ozs7Ozs7RUFBQTtBQWNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVh3cUNKOztBV3JxQ0E7QUFDQTtFQUFnQztBWHlxQ2hDOztBV3ZxQ0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QVh5cUNKOztBV3RxQ0E7O0VBQUE7QUFJQTtFQUEyRDtBWHlxQzNEOztBV3hxQ0E7RUFBNkQ7QVg0cUM3RDs7QVcxcUNBOztFQUFBO0FBSUE7RUFBZTtBWDZxQ2Y7O0FXMXFDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxXVHdaYztFU3ZaZCxZVHVaYztFU3RaZDtFQUNBO0VBQ0E7RUFDQTtBWDJxQ0o7O0FXdnFDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxXVHhFaUI7QUZndkNyQjs7QVdwcUNBOztFQUVJLFdUaElXO0VTaUlYO0FYdXFDSjs7QVducUNBO0FBQ0E7O0VBRUksY1Q0WHFCO0FGMHlCekI7O0FXbHFDQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0EsV1RrWGU7RVNqWGYsWVRpWGU7RVNoWGYsb0JUaVh3QjtFU2hYeEIsbUJUMUlzQjtFUzJJdEIsV1RyR2lCO0VTc0dqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VSMjJCQTtFQUNBO0FIMFRKOztBV2xxQ0E7QUFDQTs7RUFFSSx5QlRzVzJCO0VTclczQixXVHBLVztFU3FLWDtBWHFxQ0o7O0FXanFDQTtBQUNBOztFQUVJLHlCVCtWNEI7RVM5VjVCLFdUN0tXO0FGaTFDZjs7QVlwMENBOzs2RUFBQTtBQUlBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpxMENKOztBWWowQ0E7QUFDQTtFQUFrQjtBWnEwQ2xCOztBWXAwQ0E7RUFBOEI7QVp3MEM5Qjs7QVl0MENBO0FBQ0E7RUFDSSxZVm1Vc0I7RVVsVXRCO0VBQ0E7RUFDQTtBWnkwQ0o7O0FZdDBDQTs7RUFBQTtBQUlBO0VBQWlEO0FaeTBDakQ7O0FZeDBDQTtFQUE2QztBWjQwQzdDOztBWTMwQ0E7RUFBc0M7QVorMEN0Qzs7QVk1MENBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVZzU3NCO0VVclN0QixXVnFTc0I7RVVwU3RCLG9CVnFTNkI7RVVwUzdCLGdCVjVCZ0I7RUN1dkJZO0FIbW5CaEM7O0FZMTBDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWVYwUnNCO0VVelJ0QixXVnlSc0I7RVV4UnRCLG9CVnlSNkI7RVV4UjdCLGdCVnhDZ0I7RUN1dkJZO0FIK25CaEM7O0FZMTBDQTtBQUNBO0VBQ0k7RUFDQTtBWjYwQ0o7O0FZMTBDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWVZ3UXNCO0VVdlF0QixXVnVRc0I7RVV0UXRCLG9CVnVRNkI7RVV0UTdCLGdCVjFEZ0I7RUN1dkJZO0FIaXBCaEM7O0FZMTBDQTtBQUNBO0VBQXlCO0FaODBDekI7O0FZMzBDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7QUFDQTtFQUNJLFdWdVBzQjtFVXRQdEIsbUJWdVAwQjtFQ3FiRSxvQkQrUkM7QUZrWWpDOztBWXowQ0E7O0VBR0ksbUJWaVBnQztBRjBsQ3BDOztBWXYwQ0E7QUFDQTtFQUNJLFdWeU9zQjtFVXhPdEIsbUJWeU8wQjtFQ3FiRSxvQkQrUkM7QUY4WWpDOztBWXYwQ0E7RUFDSSxtQlZxT2dDO0FGcW1DcEM7O0FZdDBDQTtBQUNBOztFQUVJLFdWNE5zQjtFVTNOdEIsbUJWNE4wQjtFQ3FiRSxvQkQrUkM7QUYwWmpDOztBWXQwQ0E7O0VBRUksbUJWdU5nQztBRmtuQ3BDOztBYW40Q0E7OzZFQUFBO0FBSUE7Ozs7Ozs7OztFQUFBO0FBV0E7Ozs7O0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYm80Q0o7O0FhajRDQTs7RUFBQTtBQUlBO0VBQVk7QWJvNENaOztBYWw0Q0E7O0VBQUE7QUFJQTtFQUFhO0FicTRDYjs7QWFuNENBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FicTRDSjs7QWFsNENBOztFQUFBO0FBSUE7RUFBZTtBYnE0Q2Y7O0FhbjRDQTs7RUFBQTtBQUlBOztFQUNzRDtBYnM0Q3REOztBYW40Q0E7O0VBQUE7QUFJQTs7RUFDc0Q7QWJzNEN0RDs7QWFwNENBOztFQUFBO0FBSUE7O0VBQ2lDO0FidTRDakM7O0FhcjRDQTs7RUFBQTtBQUlBOztFQUM4QjtBYnc0QzlCOztBYXQ0Q0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBYnc0Q0o7O0FhcDRDQTs7Ozs2RUFBQTtBQU1BOztFQUFBO0FBSUE7O0VBQ2U7QWJzNENmOztBYXA0Q0E7Ozs7O0VBQUE7QUFPQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCWHZMZ0I7RVd3TGhCLFdYOU9XO0VDa3pCWDtFQUNBO0VBQ0E7QUhtMEJKOztBYXI0Q0E7Ozs7O0VBQUE7QUFPQTs7RUFFSSxZWHhGb0I7RVd5RnBCO0VBQ0E7RUFDQTtBYnU0Q0o7O0FhbjRDQTtBQUNBOztFQUN5QixpQlh5SE47QUY4d0NuQjs7QWFyNENBOztFQUFBO0FBSUE7OztFQUdJLGdCWGtIb0I7RVdqSHBCLG1CWGlIb0I7RVdoSHBCO0FidTRDSjs7QWFuNENBOztFQUNtQjtBYnU0Q25COztBYXI0Q0E7QUFDQTs7O0VBR0k7RUFDQSxzQlhyT2dCO0VXc09oQixXWDVSVztFQ3d6QlcscUJEdnlCRTtBRm9wRDVCOztBYXI0Q0E7QUFDQTs7O0VBR0kseUJYeFJzQjtFV3lSdEIsV1huUGlCO0VDdXdCUSxxQkQzckJiO0FGZ2pEaEI7O0FhcjRDQTs7RUFBQTs7QUFLQTtFQUF5QixXWDVQSjtBRnVvRHJCOztBYTM0Q0E7RUFBeUIsV1g1UEo7QUZ1b0RyQjs7QWEzNENBO0VBQXlCLFdYNVBKO0FGdW9EckI7O0FheDRDQTtFQUE0QixXWC9QUDtBRitvRHJCOztBYWg1Q0E7RUFBNEIsV1gvUFA7QUYrb0RyQjs7QWFoNUNBO0VBQTRCLFdYL1BQO0FGK29EckI7O0FhNzRDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBaUIsbUJYNVFRO0FGMnBEekI7O0FhNzRDQTtFQUNJLFlYeEowQjtFV3lKMUIsaUJYeUU0QjtFV3hFNUIsa0JYd0U0QjtBRncwQ2hDOztBYTc0Q0E7RUFBc0QsaUJYc0U3QjtBRjIwQ3pCOztBYS80Q0E7O0VBQUE7QUFJQTtFQUFpQixrQlg5VVM7QUZndUQxQjs7QWFoNUNBO0VBQ0ksWVhwSzBCO0VXcUsxQixrQlgrRDRCO0VXOUQ1QixtQlg4RDRCO0FGcTFDaEM7O0FhaDVDQTtFQUFzRCxpQlg0RDdCO0FGdzFDekI7O0FhajVDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBRUksY1huVXVCO0VDZ3lCQSxxQkRoeUJBO0FGc3REM0I7O0FhLzRDQTs7RUFBQTtBQUlBOztFQUVJLGNYblZ3QjtFQ3V5QkEscUJEdnlCQTtBRnF1RDVCOztBYTk0Q0E7O0VBQUE7QUFJQTtFQUNJO0VWNGNzQjtBSHE4QjFCOztBYTc0Q0E7RVYwY0kscUJEaHNCWTtFQ2lzQlosb0JEcVI0QjtBRmtyQmhDOztBYTc0Q0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUE2QixXWGdCVDtBRiszQ3BCOztBYTc0Q0E7RUFBOEI7QWJpNUM5Qjs7QWEvNENBO0VBQXVCLFlYYUo7QUZzNENuQjs7QWFqNUNBO0VBQXdCLFlYWUo7QUZ5NENwQjs7QWFuNUNBO0VBQXVCLFlYV0o7QUY0NENuQjs7QWFwNUNBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJYTndCO0VLOVh4QjtFTXNZQTtFQUNBO0FicTVDSjs7QWFsNUNBO0FBQ0E7RUFBcUQ7QWJzNUNyRDs7QWFwNUNBO0FBQ0E7RUFBZ0QsV1hkckI7QUZzNkMzQjs7QWF0NUNBOztFQUFBO0FBSUE7RU5wWkk7QVA2eURKOztBYXQ1Q0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlDO0VBQ0csbUJYN0IwQjtFVzhCMUI7RUFDQTtBYnU1Q0o7O0FhcDVDQTs7RU5wYUk7QVA2ekRKOztBYXQ1Q0E7QUFDQTtFQUFxRDtBYjA1Q3JEOztBYXY1Q0E7OzZFQUFBO0FBSUE7Ozs7Ozs7RUFBQTtBQVNBOztFQUVJO0VBQ0E7RUFDQSxZWHhEYztFV3lEZCxXWHpEYztFVzBEZDtFQUNBO0VBQ0E7RUFDQSxnQlg1RG9CO0VXNkRwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkJYakVvQjtFV2tFcEI7RUFDQTtFQUNBO0VWaVdBO0VBQ0E7RUFDQTtBSHdqQ0o7O0FhdjVDQTtFQUFZO0FiMjVDWjs7QWF6NUNBO0FBQ0E7O0VBRUk7RVY0VjRCLHFCRHJ6Qko7QUZzM0Q1Qjs7QWF6NUNBOztFQUFBO0FBSUE7OztFQUdJLHlCWHBld0I7RUNzekJNLHlCRGlSTjtBRnl6QjVCOztBYXg1Q0E7QUFDQTs7O0VBR0kseUJYN0ZrQztBRncvQ3RDOztBYXY1Q0E7O0VBQUE7QUFJQTtFTjllSTtBUHc0REo7O0FhejVDQTtFTi9lSTtBUDQ0REo7O0FhNTVDQTtFTmhmSTtBUGc1REo7O0FhOTVDQTs7RUFBQTtBQUlBOztFQUVJLHlCWG5nQnNCO0VDNnpCUyxxQkQzc0JuQjtBRmt6RGhCOztBYTc1Q0E7RU41Zkk7QVA2NURKOztBYWg2Q0E7RU43Zkk7QVBpNkRKOztBYW42Q0E7RU45Zkk7QVBxNkRKOztBYXA2Q0E7NkVBQUE7QUFHQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsaUJYMWJxQjtFVzJickIsZ0JYeElzQjtBRjZpRDFCOztBYWg2Q0E7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmk2Q0o7O0FhOTVDQTs7Ozs7OztFQUFBO0FBU0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJnNkNKOztBYTc1Q0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYmc2Q0o7O0FhNTVDQTs2RUFBQTtBQUdBO0VWaU9JLFdEOTBCb0I7RUMrMEJwQixtQkQ5eEJxQjtBRjQ5RHpCOztBYTM1Q0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxrQlhwTnlCO0FGZ25EN0I7O0FheDVDQTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtFQUNBO0lBQ0k7SUFDQSxrQlhsT3FCO0VGMm5EM0I7QUFDRjtBYXA1Q0E7QUFDQTtFQUVJO0lBQ0ksWVgzT3NCO0lXNE90QixlWDNPMkI7SVc0TzNCO0VicTVDTjs7RWFqNUNFO0lBQXdDLGtCWC9PTDtFRm9vRHJDOztFYW41Q0U7RUFDQTtJQUE2QyxnQlhqUEw7RUZ3b0QxQztBQUNGO0FhbjVDQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXWDdnQm9CO0VXOGdCcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdYcG9CaUI7QUZ1aEVyQjs7QWFoNUNBOztFQUFBO0FBSUE7RUFBc0IsV1g3ckJQO0FGZ2xFZjs7QWFqNUNBOztFQUFBO0FBSUE7RUFBOEM7QWJvNUM5Qzs7QWFsNUNBOztFQUFBO0FBSUE7RUFBb0Q7QWJxNUNwRDs7QWFuNUNBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FicTVDSjs7QWFsNUNBO0VBQWlDO0FiczVDakM7O0FjbGlFQTs7NkVBQUE7QUFJQTs7Ozs7Ozs7Ozs7O0VBQUE7QUFjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJaL0RxQjtFWWdFckI7RUFDQSxpQlpxRGlCO0VZcERqQjtFQUNBO0VBQ0E7RUFDQTtFWHNNQSx5QkRtdkJvQjtFQ2x2QnBCO0VBQ0E7QUg4MURKOztBY2xpRUE7RUFBNEI7QWRzaUU1Qjs7QWNwaUVBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0Fkc2lFSjs7QWNuaUVBO0FBQ0E7RUFDSTtFQUNBO0Fkc2lFSjs7QWNsaUVBO0FBQ0E7RUFDSTtBZHFpRUo7O0FjamlFQTtBQU9BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLDZCWmlCd0I7RVloQnhCLFdabEtvQjtFQ21VTTtBSDQzRDlCOztBY3poRUE7QUFDQTs7RUFFSSw2QlpXOEI7RVlWOUIsV1oxS29CO0VDb1VZLHFCRDZ1Qk47QUZzcEM5Qjs7QWN6aEVBO0FBQ0E7O0VBRUksNkJaSytCO0VZSi9CLFdabExvQjtFQ3FVYSxxQkQ2dUJOO0FGNnBDL0I7O0FjemhFQTs7RUFBQTtBQUlBO0VBQ0kseUJaeEt3QjtFWXlLeEIsV1p2TG1CO0VDaVVPO0FIazVEOUI7O0FjeGhFQTtBQUNBOztFQUVJLHlCWlQ4QjtFWVU5QixXWi9MbUI7QUYwdEV2Qjs7QWN2aEVBO0FBQ0E7O0VBRUkseUJaZitCO0VZZ0IvQixXWnZNbUI7QUZpdUV2Qjs7QWN0aEVBOztFQUFBO0FBSUE7RUFDSSxzQlp6SjBCO0VZMEoxQixXWmpObUI7RUNvVVM7QUhzNkRoQzs7QWNyaEVBO0FBQ0E7O0VBRUkseUJaN0JnQztFWThCaEMsV1p6Tm1CO0FGaXZFdkI7O0FjcGhFQTtBQUNBOztFQUVJLHlCWm5DaUM7RVlvQ2pDLFdaak9tQjtBRnd2RXZCOztBY25oRUE7O0VBQUE7QUFJQTtFQUNJLHlCWm5OdUI7RVlvTnZCLFdaM09tQjtFQ3VVTTtBSDA3RDdCOztBY2xoRUE7QUFDQTs7RUFFSSx5QlpqRDZCO0VZa0Q3QixXWm5QbUI7QUZ3d0V2Qjs7QWNqaEVBO0FBQ0E7O0VBRUkseUJadkQ4QjtFWXdEOUIsV1ozUG1CO0FGK3dFdkI7O0FjaGhFQTs7O0VBQUE7QUFLQTs7OztFQUlJLDZCWm5FeUI7RVlvRXpCLFdaMU5pQjtFQzJSVSxxQkQvTWY7QUZpcUVoQjs7QWM5Z0VBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGlCWi9HdUI7RVlnSHZCLG1CWnhPcUI7QUZ3dkV6Qjs7QWM1Z0VBO0VBQ0k7RUFDQSxpQlpwSHVCO0VZcUh2QixtQlovT3FCO0FGOHZFekI7O0FjMWdFQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQSxnQlpoT2lCO0VZaU9qQjtFQUNBO0VBQ0EsV1pwVG9CO0VDb1ZwQjtBSDQrREo7QUcxK0RJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUg0K0RSOztBY2poRUE7QUFDQTs7RUFFSSxXWjNUb0I7QUYrMEV4QjtBRzUrREk7O0VBQVk7QUhnL0RoQjs7QWNwaEVBO0FBQ0E7RUFDSSxXWjdRaUI7QUZveUVyQjtBR2gvREk7RUFBWTtBSG0vRGhCOztBY3RoRUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBLGdCWjdQaUI7RVk4UGpCO0VBQ0E7RUFDQSxjWjdQZ0I7QUZxeEVwQjs7QWNwaEVBO0FBQ0E7O0VBRUksY1pqUXNCO0VZa1F0QiwwQlp0SWdDO0FGNnBFcEM7O0FjcGhFQTtBQUNBO0VBQ0ksV1oxU2lCO0VZMlNqQjtBZHVoRUo7O0FjbmhFQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG9oRUo7O0FHeGhFSTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQ21EO0FIMGhFdkQ7O0FHeGhFSTs7Ozs7RUFBQTtBQU9BOzs7O0VBSUk7RUFDQTtBSDBoRVI7O0FlajVFQTs7NkVBQUE7QUFJQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJieEJzQjtFYXlCdEI7RUFDQSxtQmI3Q1k7RWE4Q1osWWI4dkJjO0VDc2dDZCxvQkQzckJxQjtFQzRyQnJCO0FIK29CSjs7QWVoNUVBO0FBQ0E7RUFBbUIsZ0JibkRIO0FGdThFaEI7O0FlbDVFQTs7RUFBQTtBQUlBO0VBQTZCO0FmcTVFN0I7O0FlbjVFQTs7O0VBQUE7QUFLQTtFQUNFLHlCYjlDd0I7RUMreER0QixvQkQzckJxQjtFQzRyQnJCO0FIcXFCSjs7QWVuNUVBO0FBQ0E7RUFBZ0Q7QWZ1NUVoRDs7QWVyNUVBOzs7RUFBQTtBQUtBO0VBQ0kseUJidER3QjtFYXVEeEI7RUFBQTtBZnU1RUo7O0FlbjVFQTtFQUNJLHlCYjVEd0I7QUZrOUU1Qjs7QWVsNUVBO0VBQ0kseUJiakV3QjtFYWtFeEI7RUFBQTtFQUNBO0VBQ0E7QWZxNUVKOztBZ0JsOEVBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQXdCO0VBQ3hCLGlCZHFEbUI7RWNwRG5CLG9CZG9EbUI7QUZnNUV2Qjs7QWdCaDhFQTtBQUNBO0VBRUk7SUFDSSxpQmRuQmM7SWNvQmQsb0JkcEJjO0VGczlFcEI7QUFDRjtBZ0I5N0VBOztFQUFBO0FBSUE7RUFBNEI7QWhCZzhFNUI7O0FnQjc3RUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksaUJkeEZZO0VjeUZaLG9CZHpGWTtBRnVoRmhCOztBZ0IzN0VBOztFQUFBO0FBSUE7RUFDSSxpQmRjbUI7RWNibkIsb0JkYW1CO0FGZzdFdkI7O0FnQjE3RUE7O0VBQUE7QUFJQTtFQUNJLGlCZDFEa0I7RWMyRGxCLG9CZDNEa0I7QUZ1L0V0Qjs7QWdCejdFQTtBQUNBO0VBRUk7SUFDSSxrQmQ2ZmU7SWM1ZmYscUJkNGZlO0VGKzdEckI7QUFDRjtBZ0J0N0VBOztFQUFBO0FBSUE7RUFDSSxrQmRpZm1CO0VjaGZuQixxQmRnZm1CO0FGdThEdkI7O0FnQnA3RUE7QUFDQTtFQUVJO0lBQ0ksa0JkK3NCNEI7SWM5c0I1QixxQmQ4c0I0QjtFRnd1RGxDO0FBQ0Y7QWdCajdFQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQmR4RmdCO0FGeWdGcEI7O0FnQjc2RUE7O0VBQUE7QUFJQTtFQUNJLG1CZDNJc0I7QUYwakYxQjs7QWdCMzZFQTs7RUFBQTtBQUlBO0VBQ0ksbUJkL0l3QjtBRjRqRjVCOztBZ0JyNkVBOztFQUFBO0FBSUE7RUFDSSxnQmRuSDBCO0FGMGhGOUI7O0FnQi81RUE7NkVBQUE7QUFHQTs7O0VBQUE7QUNqS0E7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxpQmYyUWtCO0VlMVFsQjtFQUNBO0VBQ0Esa0JmNlEyQjtFZTVRM0IsbUJmNFEyQjtBRnd6RS9COztBaUJqa0ZBO0FBQ0E7RUFFSTtJQUNJLGtCZmxCUTtJZW1CUixtQmZuQlE7RUZzbEZkO0FBQ0Y7QWlCL2pGQTtBQUNBO0VBRUk7SUFDSSxrQmZ6QmU7SWUwQmYsbUJmMUJlO0VGMGxGckI7QUFDRjtBaUI1akZBOztFQUFBO0FBSUE7RUFBOEI7QWpCOGpGOUI7O0FpQjVqRkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWpCOGpGSjs7QWlCMWpGQTs2RUFBQTtBQUdBO0VBQXVCLGdCZjhOTTtBRisxRTdCOztBaUIzakZBO0VBQXNCLGdCZjZOTTtBRmsyRTVCOztBaUI3akZBO0VBQXNCLGlCZjROTTtBRnEyRTVCOztBaUIvakZBO0VBQXVCLGlCZjJOTTtBRncyRTdCOztBaUJqa0ZBO0VBQXVCO0FqQnFrRnZCOztBaUJsa0ZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUE0QjtBakJva0Y1Qjs7QWlCbmtGQTtFQUE2QjtBakJ1a0Y3Qjs7QWlCcmtGQTtBQUNBO0VBRUk7O0lBQ2lEO0VqQndrRm5EOztFaUJ0a0ZFOztJQUNnRDtFakIwa0ZsRDtBQUNGO0FpQnZrRkE7QUFDQTtFQUVJOztJQUM2QjtFakJ5a0YvQjs7RWlCdmtGRTs7SUFDaUQ7RWpCMmtGbkQ7O0VpQnprRkU7O0lBQ2dEO0VqQjZrRmxEOztFaUIza0ZFOztJQUNnRDtFakIra0ZsRDs7RWlCN2tGRTs7SUFDaUQ7RWpCaWxGbkQ7QUFDRjtBaUI3a0ZBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7O0VBQzBDO0FqQjhrRjFDOztBaUI1a0ZBO0VBQXlDO0FqQmdsRnpDOztBaUIva0ZBO0VBQTBDO0FqQm1sRjFDOztBaUJqbEZBO0FBQ0E7RUFFSTs7SUFDMEM7RWpCb2xGNUM7O0VpQmxsRkU7SUFBeUM7RWpCc2xGM0M7O0VpQnJsRkU7SUFBMEM7RWpCeWxGNUM7QUFDRjtBaUJ0bEZBO0FBQ0E7RUFFSTs7SUFDMEM7RWpCd2xGNUM7O0VpQnRsRkU7SUFBeUM7RWpCMGxGM0M7O0VpQnpsRkU7SUFBMEM7RWpCNmxGNUM7QUFDRjtBa0IzdEZBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JoQjQ1QnNCO0VnQjM1QnRCLG1CaEIyNUJzQjtFZ0IxNUJ0QixpQmhCb0RtQjtFZ0JuRG5CLG9CaEJtRG1CO0FGeXFGdkI7O0FrQnh0RkE7QUFDQTtFQUVJO0lBQ0ksa0JoQmhDUTtJZ0JpQ1IsbUJoQmpDUTtFRjJ2RmQ7QUFDRjtBa0J0dEZBO0FBQ0E7RUFFSTtJQUNJLGtCaEJ2Q2U7SWdCd0NmLG1CaEJ4Q2U7SWdCeUNmLGlCaEJoQ2M7SWdCaUNkLG9CaEJqQ2M7RUZ3dkZwQjtBQUNGO0FrQm50RkE7O0VBQUE7QUFJQTtFQUF5QjtBbEJxdEZ6Qjs7QWtCbHRGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxpQmhCckdZO0VnQnNHWixvQmhCdEdZO0FGeXpGaEI7O0FrQmh0RkE7O0VBQUE7QUFJQTtFQUNJLGlCaEJDbUI7RWdCQW5CO0FsQmt0Rko7O0FrQi9zRkE7O0VBQUE7QUFJQTtFQUNJLGlCaEJ2RWtCO0VnQndFbEIsb0JoQnhFa0I7QUZ5eEZ0Qjs7QWtCOXNGQTtBQUNBO0VBRUk7SUFDSSxrQmhCZ2ZlO0lnQi9lZixxQmhCK2VlO0VGaXVFckI7QUFDRjtBa0Izc0ZBOztFQUFBO0FBSUE7RUFDSSxrQmhCb2VtQjtFZ0JuZW5CLHFCaEJtZW1CO0FGeXVFdkI7O0FrQnpzRkE7QUFDQTtFQUVJO0lBQ0ksa0JoQjQwQnlCO0lnQjMwQnpCLHFCaEIyMEJ5QjtFRmc0RC9CO0FBQ0Y7QWtCdHNGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQmhCckdnQjtBRjJ5RnBCOztBa0Jsc0ZBOztFQUFBO0FBSUE7RUFDSSxtQmhCeEpzQjtBRjQxRjFCOztBa0Joc0ZBOztFQUFBO0FBSUE7RUFDSSxtQmhCNUp3QjtBRjgxRjVCOztBa0IxckZBOztFQUFBO0FBSUE7RUFDSSxnQmhCaEkwQjtBRjR6RjlCOztBbUJueUZBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtFaEJ3YWdCO0FIODNFcEI7O0FtQmp5RkE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QW5CbXlGSjs7QW1CL3hGQTtFQUNJO0VBQ0E7QW5Ca3lGSjs7QW1COXhGQTtFQUNJO0VBQ0E7QW5CaXlGSjs7QW1CN3hGQTtBQUNBO0VBRUk7SUFBZ0I7RW5CZ3lGbEI7O0VtQjl4RkU7SUFBa0I7RW5Ca3lGcEI7O0VtQmh5RkU7SUFBa0I7RW5Cb3lGcEI7QUFDRjtBbUJqeUZBOztFQUFBO0FBSUE7OztFQUVnQztBbkJteUZoQzs7QW1CaHlGQTs2RUFBQTtBQUdBOzs7RUFBQTtBQTRCQTs2RUFBQTtBQUdBO0VBQ0ksaUJqQnpEcUI7RWlCMERyQixnQmpCNEVxQjtBRjZyRnpCOztBbUJwd0ZBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQSxTakIyRGE7RWlCMURiLFdqQjJEZTtFaUIxRGY7RUFDQTtFQUNBLFlqQnlEZ0I7RWlCeERoQixrQmpCeUQ0QjtFaUJ4RDVCLG1CakJ3RDRCO0VpQnZENUI7RUFDQSxtQmpCcEx3QjtFaUJxTHhCLFdqQm5NbUI7RWlCb01uQixtQmpCeEpxQjtFaUJ5SnJCO0VBQ0E7RUFDQTtFQUNBO0FuQnF3Rko7O0FtQmp3RkE7O0VBQUE7QUFJQTtFQUFpQztBbkJvd0ZqQzs7QW1CandGQTs2RUFBQTtBQUdBO0VBQ0ksZ0JqQnBLZ0I7RUNzZE0sMkNEc2dCQTtBRjQ4RDFCOztBbUIvdkZBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSSxnQmpCbExnQjtFaUJtTGhCLFdqQnpPVztFQzZnQmEsMENEb2dCRDtBRnk5RDNCOztBbUI3dkZBO0VBQ0ksV2pCaFBvQjtBRmcvRnhCOztBbUI1dkZBO0VBQ0ksc0JqQjdMZ0I7RUN5ZGMsMkNEbWdCUjtBRmkrRDFCOztBbUI1dkZBO0VoQnlSbUM7QUh1K0VuQzs7QW1CNXZGQTtFaEJzUm1DO0FIMCtFbkM7O0FtQjV2RkE7O0VBQUE7QUFJQTtFQUNJLG1CakJuUHdCO0VpQm9QeEIsV2pCbFFtQjtFQytnQkssMENEK2ZEO0FGbS9EM0I7O0FtQjN2RkE7RUFDSSxXakJ2UW1CO0FGcWdHdkI7O0FtQjF2RkE7RUFDSSx5QmpCOVB3QjtFQ21nQk0sMkNEOGZSO0FGMi9EMUI7O0FtQnB2RkE7O0VBQUE7QUFJQTtFQUNJLGdCakJwTzBCO0VpQnFPMUIsV2pCNVJtQjtFQ2toQk8sMENENGZIO0FGcWdFM0I7O0FtQm52RkE7RUFDSSxXakJqU21CO0FGdWhHdkI7O0FtQmx2RkE7RUFDSSxzQmpCL08wQjtFQzZkTSwyQ0QyZlY7QUY2Z0UxQjs7QW1CM3VGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQytCO0FuQjZ1Ri9COztBbUIzdUZBO0VBQWlDO0FuQit1RmpDOztBbUI5dUZBO0VBQWlDO0FuQmt2RmpDOztBbUJodkZBOztFQUFBO0FBSUE7QUFDQTtFQUVJOztJQUMrQjtFbkJrdkZqQzs7RW1CaHZGRTtJQUFpQztFbkJvdkZuQzs7RW1CbnZGRTtJQUFpQztFbkJ1dkZuQztBQUNGO0FHMWlGSTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBSDJpRlI7O0FHemlGSTtFQUNJO0VBQ0E7QUg0aUZSOztBR3ppRkk7OztFQUdJLGtCRDdnQlE7RUM4Z0JSLG1CRDlnQlE7QUYwakdoQjs7QUd6aUZJO0VBQThDO0FINmlGbEQ7O0FHMWlGSTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VINGlGVjs7RUcxaUZNO0lBQ0k7SUFDQTtFSDZpRlY7O0VHMWlGTTs7O0lBR0ksa0JEaGlCVztJQ2lpQlgsbUJEamlCVztFRjhrR3JCOztFRzFpRk07SUFBOEM7RUg4aUZwRDtBQUNGO0FHM2lGSTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBSDRpRlI7O0FHMWlGSTtFQUNJO0VBQ0E7QUg2aUZSOztBRzFpRkk7OztFQUdJLGtCRC9sQlE7RUNnbUJSLG1CRGhtQlE7QUY2b0doQjs7QUcxaUZJO0VBQStDO0FIOGlGbkQ7O0FHNWlGSTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtJQUFtQztFSDhpRnpDOztFRzdpRk07SUFBOEM7RUhpakZwRDs7RUcvaUZNOzs7SUFHSTtJQUNBO0VIa2pGVjs7RUcvaUZNO0lBQStDLGtCRGdDckI7RUZtaEZoQztBQUNGO0FvQjNwR0E7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJLFdsQmlDaUI7RUM2a0JqQjtFQUNBO0FIOGlGSjs7QW9CenBHQTtBQUNBOztFQUVJLFdsQnhCVztFa0J5Qlg7QXBCNHBHSjs7QXFCMXFHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQVNBOzZFQUFBO0FBR0E7RUFBa0I7VUFBQTtBckJzcUdsQjs7QXFCcHFHQTtFQUNJO0lBQUs7RXJCd3FHUDtFcUJ2cUdFO0lBQU87RXJCMHFHVDtBQUNGOztBcUI3cUdBO0VBQ0k7SUFBSztFckJ3cUdQO0VxQnZxR0U7SUFBTztFckIwcUdUO0FBQ0Y7QXFCeHFHQTs7RUFBQTtBQUlBO0VBQ0ksc0JuQmswQm9CO0VtQmowQnBCO0VBQ0E7RUFDQTtVQUFBO0VBQ0EsZW5CNHpCbUI7RW1CM3pCbkI7QXJCeXFHSjs7QXFCdHFHQTtFQUNJO0lBQUssdUJuQnl6QmU7RUZpM0V0QjtFcUJ6cUdFO0lBQ0k7SUFDQTtFckIycUdOO0VxQnpxR0U7SUFDSSx1Qm5CbXpCZ0I7SW1CbHpCaEI7RXJCMnFHTjtBQUNGOztBcUJwckdBO0VBQ0k7SUFBSyx1Qm5CeXpCZTtFRmkzRXRCO0VxQnpxR0U7SUFDSTtJQUNBO0VyQjJxR047RXFCenFHRTtJQUNJLHVCbkJtekJnQjtJbUJsekJoQjtFckIycUdOO0FBQ0Y7QXNCdnRHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0ksWXBCbTlCWTtFb0JsOUJaLFdwQjRCaUI7RUM0aEVBO0FIZ3FDckI7O0FzQnB0R0E7QUFDQTs7RUFFSSxXcEI3Qlc7RW9COEJYO0F0QnV0R0o7O0FzQm50R0E7QUFDQTtFQUNJLFdwQnRDb0I7QUY0dkd4Qjs7QXVCL3VHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0ksWXJCc2xCYTtFcUJybEJiLGdCckJxQzBCO0VxQnBDMUIsV3JCbkJtQjtFQ3VuRG5CO0FINm9ESjs7QXVCN3VHQTtBQUNBOztFQUVJLFdyQjFCbUI7RXFCMkJuQjtBdkJndkdKOztBd0I3dUdBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxtQnRCOUNZO0VzQitDWjtFQUNBLG1CdEI3QnNCO0VzQjhCdEIsV3RCMUNXO0FGeXhHZjs7QXdCM3VHQTtBQUNBO0VBQWdCLGdCdEJ0REE7QUZxeUdoQjs7QXdCN3VHQTs7RUFBQTtBQUlBO0VBQTBCO0F4Qmd2RzFCOztBd0I3dUdBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxTdEIvQ2M7RXNCZ0RkLFd0QnREa0I7RUNtQmxCO0VBQ0EsWURnZ0NrQjtBRm14RXRCOztBd0I3dUdBOztFQUFBO0FBSUE7RUFBa0M7QXhCZ3ZHbEM7O0F3Qjl1R0E7O0VBQUE7QUFJQTs7RXJCN0NJO0VBQ0EsWUQ2L0J3QjtBRmt5RTVCOztBd0I3dUdBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLG1CdEJ6RXVCO0VzQjBFdkIsY3RCM0V3QjtBRnl6RzVCOztBd0IxdUdBOztFQUFBO0FBSUE7RUFDSSxtQnRCaEZ1QjtFc0JpRnZCLGN0QmxGd0I7QUY4ekc1Qjs7QXdCeHVHQTs7RUFBQTtBQUlBO0VBQ0ksbUJ0QnZGdUI7RXNCd0Z2QixjdEJ6RndCO0FGbTBHNUI7O0F3QnR1R0E7O0VBQUE7QUFJQTtFQUNJLG1CdEI5RnNCO0VzQitGdEIsY3RCaEd1QjtBRncwRzNCOztBR3p6R0k7O0VBQUE7QUFJQTs7Ozs7O0VBS2U7QUg0ekduQjs7QUcxekdJO0VBQ0k7RUFDQTtBSDZ6R1I7O0FHMXpHSTtFQUNJO0VBQ0E7QUg2ekdSOztBeUI5MkdBOzs2RUFBQTtBQUlBO0VBQ0ksbUJ2QnRCWTtFdUJ1Qlo7RUFDQSx1QnZCK3dCcUI7RUNzZ0NFO0FINGxEM0I7O0F5QjcyR0E7QUFDQTtFQUFzQixnQnZCN0JOO0FGODRHaEI7O0F5Qi8yR0E7O0VBQUE7QUFJQTtFQUFnQztBekJrM0doQzs7QTBCLzNHQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0EsZXhCa0NTO0V3QmpDVCxZeEJpQ1M7RXdCaENUO0VBQ0Esb0J4QmtDa0I7RXdCakNsQjtFQUNBO0VBQ0EsbUJ4QmZ3QjtFd0JnQnhCLFd4QjlCbUI7RXdCK0JuQixtQnhCYXFCO0V3QlpyQjtFQUNBO0VBQ0E7RUFDQTtBMUJnNEdKOztBMEI1M0dBOztFQUFBO0FBSUE7O0VBRUksV3hCN0NtQjtFd0I4Q25CO0VBQ0E7QTFCODNHSjs7QTJCejVHQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQSxtQnpCYndCO0V5QmN4QixnQnpCZ0RpQjtFeUIvQ2pCLG1CekJlcUI7RXlCZHJCLFd6QjlCbUI7RXlCK0JuQjtFQUNBO0V4QjJoREEsa0JEamVrQjtFQ2tlbEIseUJEamVtQjtBRmsyRXZCOztBMkJ4NUdBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLHlCekI1QndCO0V5QjZCeEIsV3pCOUNtQjtBRnU4R3ZCOztBMkJyNUdBOztFQUFBO0FBSUE7RUFDSSx5QnpCbkN3QjtFeUJvQ3hCLFd6QnhEbUI7QUYrOEd2Qjs7QTJCbjVHQTs7RUFBQTtBQUlBO0VBQ0kseUJ6QjFDdUI7RXlCMkN2QixXekJsRW1CO0FGdTlHdkI7O0E0Qng4R0E7OzZFQUFBO0FBSUE7RUFDSTtBNUIwOEdKOztBNEJ0OEdBOztFQUFBO0FBSUE7RUFBNEI7QTVCeThHNUI7O0E0QnQ4R0E7NkVBQUE7QUFRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxvQzFCdXRCeUI7QUYwdUY3Qjs7QTRCNzdHQTs7RUFBQTtBQUlBO0VBQ0ksaUMxQitzQnlCO0FGZ3ZGN0I7O0E2QngrR0E7OzZFQUFBO0FBSUE7RUFDSTtBN0IwK0dKOztBNkJ0K0dBOztFQUFBO0FBSUE7RUFBNEI7QTdCeStHNUI7O0E2QnQrR0E7NkVBQUE7QUFHQTtFQUNJLGdCM0JHa0I7QUZxK0d0Qjs7QTZCbitHQTs2RUFBQTtBQUdBO0VBQ0kscUIzQkZzQjtFMkJHdEIsZ0IzQkZ3QjtBRnUrRzVCOztBNkJqK0dBO0FBQ0E7RUFFSTtJQUFvQixtQjNCWkc7RUZnL0d6QjtBQUNGO0E2QmgrR0E7NkVBQUE7QUFHQTtFQUNJLG1CM0JqQnFCO0UyQmtCckIsZ0IzQmhCdUI7RTJCaUJ2QixXM0JoQmlCO0FGaS9HckI7QUc3OUdJO0VBQUksV0RwQmE7QUZvL0dyQjtBRzk5R0k7RUFDSSxXRHpFTztFQzBFUDtBSGcrR1I7O0E4Qi9nSEE7OzZFQUFBO0FBU0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtBOUIyZ0hKOztBOEJ2Z0hBO0VBQ0k7RUFDQSxtQjVCdkRZO0FGaWtIaEI7O0E4QnRnSEE7O0VBQUE7QUFJQTs7RUFDbUM7QTlCeWdIbkM7O0E4QnRnSEE7NkVBQUE7QUFHQTtFQUNJLGtCNUJyRXNCO0U0QnNFdEIsZ0I1QnVPd0I7QUZpeUc1Qjs7QThCbmdIQTs2RUFBQTtBQUdBO0VBQ0ksbUI1QjNCcUI7RTRCNEJyQixnQjVCK051QjtFNEI5TnZCLFc1QjFCaUI7QUYraEhyQjs7QThCaGdIQTs2RUFBQTtBQVFBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0E5QjQvR0o7O0E4QnovR0E7QUFDQTtFQUNJLGdCNUIxRGtCO0FGc2pIdEI7O0E4QngvR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGtCNUIrTHdCO0U0QjlMeEI7QTlCMC9HSjs7QThCdC9HQTtBQUNBO0VBRUk7SUFBb0MsbUI1QndMVjtFRmkwRzVCO0FBQ0Y7QThCdC9HQTtBQUNBO0VBQ0ksZ0I1Qm5Ga0I7QUYya0h0Qjs7QThCbi9HQTs2RUFBQTtBQUdBO0UzQmdpQkksYUR2b0JZO0VDd29CWix5QkR6cEJzQjtBRittSDFCOztBK0Iva0hBOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQmdsSEo7O0ErQjVrSEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOztFQUM4QztBL0I4a0g5Qzs7QStCNWtIQTs7RUFBQTtBQUlBO0VBQXFDO0EvQitrSHJDOztBK0I3a0hBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFc3QmxIVztBRmlzSGY7O0ErQjNrSEE7RUFBeUI7QS9CK2tIekI7O0ErQjdrSEE7QUFDQTtFQUF5QztBL0JpbEh6Qzs7QStCaGxIQTtFQUFnQyxXN0J4RVg7QUY0cEhyQjs7QStCcGxIQTtFQUFnQyxXN0J4RVg7QUY0cEhyQjs7QStCamxIQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBd0I7QS9CbWxIeEI7O0ErQmpsSEE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzdCdEdpQjtBRnlySHJCOztBK0JobEhBOztFQUFBO0FBSUE7RUFBbUMsVzdCN0dkO0FGZ3NIckI7O0ErQmpsSEE7O0VBQUE7QUFJQTtFQUEyRDtBL0JvbEgzRDs7QStCbGxIQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBL0JvbEhKOztBK0JobEhBOzZFQUFBO0FBR0E7RUFBcUIsWTdCd25CRTtBRjI5RnZCOztBK0JqbEhBOztFQUFBO0FBSUE7RUFDSSxZN0J4Qm9CO0U2QnlCcEIsaUI3QmtuQmdDO0U2QmpuQmhDLGtCN0JpbkJnQztFNkJobkJoQyx1QjdCaW5Cd0I7RUNrZ0NRO0FIaStEcEM7O0ErQmhsSEE7QUFDQTtFQUNJLDZCN0IybUJ3QjtBRncrRjVCOztBK0Iva0hBOztFQUFBO0FBSUE7RUFBcUMsVzdCekNiO0FGMm5IeEI7O0ErQmhsSEE7RUFBa0Y7QS9Cb2xIbEY7O0ErQm5sSEE7RUFBNkQ7QS9CdWxIN0Q7O0ErQnBsSEE7NkVBQUE7QUFHQTtFQUFvQixZN0I2bEJFO0FGMC9GdEI7O0ErQnJsSEE7O0VBQUE7QUFJQTtFQUNJLFk3QnVsQm1CO0U2QnRsQm5CLHVCN0J1bEJ1QjtFNkJ0bEJ2QixpQjdCN0dxQjtBRm9zSHpCOztBK0JubEhBOztFQUFBO0FBSUE7RUFBb0MsVzdCZ2xCVDtBRnNnRzNCOztBK0JwbEhBO0VBQWlGO0EvQndsSGpGOztBK0J2bEhBO0VBQTREO0EvQjJsSDVEOztBK0J4bEhBOzZFQUFBO0FBR0E7RUFBbUIsWTdCd2tCRTtBRm1oR3JCOztBK0J6bEhBOztFQUFBO0FBSUE7RUFDSSxZN0Jra0JrQjtFNkJqa0JsQix1QjdCa2tCc0I7RTZCamtCdEIsbUI3QjdNdUI7QUZ3eUgzQjs7QStCdmxIQTs7RUFBQTtBQUlBO0VBQW1DLFc3QjJqQlQ7QUYraEcxQjs7QStCeGxIQTtFQUFnRjtBL0I0bEhoRjs7QStCM2xIQTtFQUEyRDtBL0IrbEgzRDs7QStCNWxIQTs2RUFBQTtBQUdBO0VBQ0ksVzdCeE5pQjtBRnN6SHJCOztBK0IxbEhBO0FBQ0E7O0VBRUksVzdCalJXO0FGODJIZjs7QWdDMzFIQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7QWhDNjFISjs7QWdDeDFIQTs2RUFBQTtBQUdBO0VBQ0ksZ0I5QnpDWTtBRm00SGhCOztBZ0NyMUhBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGtCOUJqRHNCO0U4QmtEdEIsZ0I5QmhEMEI7RThCaUQxQixXOUJoRG9CO0VDRHBCO0FIeTRISjtBR3Y0SEk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxpQkRzaENxQjtFQ3JoQ3JCO0VJbUJKO0VKakJJO0VBQ0E7QUh5NEhSO0FHdDRISTtFSWFBO0FQNDNISjs7QWdDajJIQTtBQUNBOztFQUVJLFc5QnJEVztFOEJzRFg7RUFDQTtBaENvMkhKOztBZ0MvMUhBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGdCOUJ4RVk7QUZ5NkhoQjs7QWdDNzFIQTs7RUFBQTtBQUlDO0VBQXNDO0FoQ2cySHZDOztBaUNyNUhBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYS9Ca1VXO0UrQmpVWDtFQUNBO0VBQ0EsWS9CZ1VTO0FGc2xIYjs7QWlDbjVIQTtBQUNBO0VBQW1CO0FqQ3U1SG5COztBaUNwNUhBOzZFQUFBO0FBR0E7QUFDQTtFQUF5QjtBakN1NUh6Qjs7QWlDdDVIQTtFQUE0QixnQi9CekRaO0FGbTlIaEI7O0FpQ3o1SEE7RUFBMEI7QWpDNjVIMUI7O0FpQzU1SEE7RUFBMkIsaUIvQjNEWDtBRjI5SGhCOztBaUM3NUhBOzZFQUFBO0FBR0E7RUFBbUM7QWpDZzZIbkM7O0FrQzM3SEE7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWhDeVRlO0VnQ3hUZjtFQUNBO0VBQ0EsZ0JoQ3VUaUI7RWdDdFRqQjtFQUNBLGFoQ3NUZTtFZ0NyVGYsZ0JoQ0NnQjtFZ0NBaEIsV2hDdERXO0VDb3lCUywwQ0RzU0Y7QUZ5NkZ0Qjs7QWtDejdIQTtBQUNBO0VBQXVCO0FsQzY3SHZCOztBa0MxN0hBOzs2RUFBQTtBQUlBO0VBQ0k7RS9Ca3VCd0IsbUJEdHZCSDtBRmk5SHpCOztBa0N6N0hBOztFQUFBO0FBSUE7RUFDSSxXaEMxQmlCO0FGcTlIckI7O0FrQ3Y3SEE7QUFDQTs7O0VBR0ksV2hDcEZXO0FGOGdJZjs7QWtDdDdIQTs7RUFBQTtBQUlBO0VBQ0ksV2hDL0ZvQjtBRnVoSXhCOztBa0NwN0hBOztFQUFBO0FBSUE7RUFDSTtBbENzN0hKOztBa0NsN0hBOztFQUFBO0FBSUE7RUFBaUMsV2hDNURaO0FGaS9IckI7O0FrQ243SEE7OztFQUVnRCxXaENsSGpDO0FGeWlJZjs7QWtDcDdIQTs2RUFBQTtBQUdBO0FBQ0E7RUFBNkI7QWxDdTdIN0I7O0FrQ3Q3SEE7RUFBZ0MsZ0JoQ1VWO0FGZzdIdEI7O0FrQ3o3SEE7RUFBOEI7QWxDNjdIOUI7O0FrQzU3SEE7RUFBK0IsaUJoQ1FUO0FGdzdIdEI7O0FrQzc3SEE7NkVBQUE7QUFHQTtFQUEyQztBbENnOEgzQzs7QW1DeGdJQTs7NkVBQUE7QUFJQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWpDaWlCWTtFaUNoaUJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDhCakMyaEJlO0VpQzFoQmY7RUFDQTtFQUNBO0FuQ3lnSUo7O0FtQ3JnSUE7QUFDQTtFQUVJO0lBQVk7RW5Dd2dJZDtBQUNGO0FtQ3JnSUE7QUFDQTtFQUVJO0lBQ0ksa0JqQ3pFZTtJaUMwRWYsbUJqQzFFZTtFRmdsSXJCO0FBQ0Y7QW1DbGdJQTs7RUFBQTtBQUlBO0VBQW9CO0FuQ29nSXBCOztBbUNqZ0lBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQjtBbkNtZ0lqQjs7QW1DaGdJQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZakNzZWlCO0VpQ3JlakI7RUFDQTtFQUNBO0VBQ0EsZ0JqQ2hHZ0I7RWlDaUdoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ2lnSUo7O0FtQzcvSEE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QW5DKy9ISjs7QW1DMy9IQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQXVDLGFqQ3ljZjtBRm9qSHhCOztBbUMzL0hBOzs7O0VBQUE7QUFNQTtBQUNBO0VBQ0k7RUFDQTtBbkM2L0hKOztBbUMxL0hBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbkM2L0hKOztBbUN4L0hBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0FuQzAvSEo7O0FtQ3QvSEE7RUFDSTtFQUNBO0VBQ0EsZ0JqQy9KZ0I7RUM2bERRO0FINGpGNUI7O0FtQ3QvSEE7RUFDSTtFQUNBO0VBQ0EsZ0JqQ3RLZ0I7RUM4bERRO0FIa2tGNUI7O0FtQ3QvSEE7O0VBQUE7QUFJQTs7O0VBRWlDO0FuQ3kvSGpDOztBbUN0L0hBOzZFQUFBO0FBR0E7RUFDSSxlakNoSXNCO0VpQ2lJdEIsZ0JqQ3Nac0I7QUZrbUgxQjs7QW1Dbi9IQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0EsYWpDd1hZO0VpQ3ZYWixTakN0SGtCO0VpQ3VIbEIsV2pDdkhrQjtFaUN3SGxCLFlqQzBZa0I7QUYybUh0Qjs7QW1Dai9IQTs7RUFBQTtBQUlBO0VBQTZDO0FuQ28vSDdDOztBbUNsL0hBOztFQUFBO0FBUUE7O0VBQUE7QUFZQTs7O0VBQUE7QUFLQTtFQUNJLE1qQ3VXMkI7RWlDdFczQjtFQUNBO0VBQ0E7RUFDQSxZakNxV3dCO0FGaW9INUI7O0FtQ2wrSEE7RUFDSSxXakN0U21CO0FGMndJdkI7O0FtQ2orSEE7QUFDQTtFQUVJO0VBQ0E7SUFDSSxRakNxVnVCO0lpQ3BWdkI7RW5DbStITjtBQUNGO0FtQy85SEE7O0VBQUE7QUFJQTtFaENpMkNJO0VBQ0E7RUFDQSxhRHRxRFk7RUN1cURaLGdCRDFtRGdCO0FGMHVJcEI7O0FvQzN4SUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXBDNHhJSjs7QW9DdnhJQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ3d4SUo7O0FvQ3B4SUE7NkVBQUE7QUFHQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcENxeElKOztBb0NseElBO0FBQ0E7RUFBK0I7QXBDc3hJL0I7O0FvQ3B4SUE7O0VBQUE7QUFJQTtFQUF5QztBcEN1eEl6Qzs7QXFDeDFJQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBckN5MUlKOztBcUNwMUlBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUF1QjtBckNzMUl2Qjs7QXFDcDFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBckNzMUlKOztBcUNuMUlBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckNvMUlKOztBcUNqMUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDbTFJSjs7QXFDaDFJQTtFQUEyQjtBckNvMUkzQjs7QXFDajFJQTs2RUFBQTtBQUdBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDazFJSjs7QXFDLzBJQTtBQUNBO0VBQTRCO0FyQ20xSTVCOztBc0M1NklBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxZcENvMUJhO0VvQ24xQmI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM2NklKOztBc0MxNklBOztFQUFBO0FBSUE7RUFBcUMsZ0NwQ3kwQlQ7VW9DejBCUyx3QnBDeTBCVDtBRm9tSDVCOztBc0MzNklBO0VBQWtDLGdDcEN3MEJFO1VvQ3gwQkYsd0JwQ3cwQkU7QUZ1bUhwQzs7QXVDaDdJQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXJDK1NhO0FGa29JakI7O0F1Qzk2SUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXZDZzdJSjs7QXVDNTZJQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWXJDeXFCa0I7RXFDeHFCbEI7RUFDQSxnQnJDM0IwQjtFcUM0QjFCO0VBQ0E7RUFDQTtBdkM2NklKOztBdUN6NklBO0FBQ0E7RUFFSTtJQUNJO0lBQ0EsWXJDZ3FCZ0I7SXFDL3BCaEI7RXZDMjZJTjtBQUNGO0F1Q242SUE7QUFDQTtFQUNJO0VBQ0E7QXZDcTZJSjs7QXVDbDZJQTtBQUNBO0VBRUk7SUFBdUM7RXZDcTZJekM7QUFDRjtBdUNsNklBOztFQUFBO0FBSUE7RUFBK0I7QXZDbzZJL0I7O0F1Q242SUE7RUFDSTtFQUNBO0F2Q3M2SUo7O0F1Q242SUE7O0VBQUE7QUFJQTtFQUE4QjtBdkNzNkk5Qjs7QXVDcjZJQTtFQUFpRDtBdkN5NklqRDs7QXVDdjZJQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q3k2SUo7O0F1Q3Q2SUE7RUFDSTtFQUNBO0F2Q3k2SUo7O0F1Q3Q2SUE7RUFDSTtFQUNBO0VBQ0E7QXZDeTZJSjs7QXVDdDZJQTtFQUFrQyxZckNtbEJaO0FGdTFIdEI7O0F1Q3g2SUE7QUFDQTtFQUVJO0lBQWtDLFlyQ21sQmQ7RUZ3MUh0QjtBQUNGO0F1Q3g2SUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXZDeTZJSjs7QXVDcjZJQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0EsYXJDa0thO0VxQ2pLYixTckNpa0J1QjtFcUNoa0J2QixXckNna0J1QjtFcUMvakJ2QixZckNna0JzQjtBRnUySDFCOztBdUNsNklBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZDbTZJSjs7QXVDaDZJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsOEJyQytoQjJCO0VxQzloQjNCO0VBQ0E7RUFDQTtBdkNrNklKOztBdUM5NUlBO0VBQXdDO0F2Q2s2SXhDOztBdUMvNUlBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7O0VBQzBCO0F2Q2k2STFCOztBdUM5NUlBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkMrNUlKOztBdUM1NUlBOztFQUFBO0FBSUE7RUFBNEQsV3JDd2V0QztBRnU3SHRCOztBdUM3NUlBO0VBQXNEO0F2Q2k2SXREOztBdUMvNUlBO0FBQ0E7RUFFSTtJQUE0RCxXckNzZXhDO0VGNDdIdEI7O0V1Q2g2SUU7SUFBc0Q7RXZDbzZJeEQ7QUFDRjtBd0MvckpBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QXhDK3JKSjs7QXdDM3JKQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBa0M7QXhDNnJKbEM7O0F3QzNySkE7O0VBQUE7QUFJQTtFQUFpQztBeEM4ckpqQzs7QXlDcnRKQTs7NkVBQUE7QUFJQTtFQUFhO0F6Q3d0SmI7O0F5Q3R0SkE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQSxpQnZDZmtCO0V1Q2dCbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q3d0Sko7O0F5Q3B0SkE7O0VBQUE7QUFJQTtFQUF3QztBekN1dEp4Qzs7QXlDcnRKQTs7RUFBQTtBQUlBO0VBQWtDO0F6Q3d0SmxDOztBeUN2dEpBO0VBQVE7QXpDMnRKUjs7QTBDbHVKQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQSxTeEMwckJvQjtFd0N6ckJwQixVeEN5ckJvQjtFd0N4ckJwQixheEN5ckJtQjtFd0N4ckJuQjtFQUNBO0VBQ0EsWXhDdXJCaUI7QUY0aUlyQjs7QTBDOXRKQTs0RUFBQTtBQUdBOztFQUVJO0VBQ0EsV3hDMHFCb0I7QUZzakl4Qjs7QTBDN3RKQTs7RUFFSTtFQUNBO0ExQ2d1Sko7O0EwQzd0SkE7OztFQUdJO0VBQ0EsWXhDNnBCb0I7QUZta0l4Qjs7QTBDNXRKQTs0RUFBQTtBQUdBO0FBQ0E7RUFFSTtJQUNJLFV4Q2twQmdCO0l3Q2pwQmhCLFd4Q2lwQmdCO0l3Q2hwQmhCO0lBQ0E7RTFDNnRKTjtBQUNGO0EwQ3h0SkE7NEVBQUE7QUFHQTtFQUNJO0VBQ0EsYXhDL0ZrQjtFd0NnR2xCLG1CeEM3RnNCO0V3QzhGdEIsV3hDMUdXO0V3QzJHWCxrQnhDaEhzQjtFd0NpSHRCLGdCeEN3b0IrQjtFd0N2b0IvQjtBMUN5dEpKOztBMENydEpBO0VBQStCLGdCeEM4bkJHO0FGMmxJbEM7O0EwQ3R0SkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0EsU3hDMG5CcUI7RXdDem5CckIsV3hDbkhrQjtBRjIwSnRCOztBMENwdEpBO0VBQXdEO0ExQ3d0SnhEOztBMENydEpBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGN4QzFId0I7QUZnMUo1Qjs7QTBDbHRKQTs7RUFBQTtBQUlBO0VBQ0ksY3hDaEl3QjtBRm8xSjVCOztBMENodEpBOztFQUFBO0FBSUE7RUFDSSxjeEN0SXdCO0FGdzFKNUI7O0EwQzlzSkE7O0VBQUE7QUFJQTtFQUNJLGN4QzVJdUI7QUY0MUozQjs7QTJDMzFKQTs7NkVBQUE7QUFJQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXpDbTdCYztFeUNsN0JkO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0J6Qys2QmdCO0V5Qzk2QmhCO0VBQ0E7RUFDQSxnQnpDKzZCaUI7RXlDOTZCakIsa0J6Qys2Qm9CO0V5Qzk2QnBCLFd6Q25EbUI7RXlDb0RuQixlekMrNkJnQjtBRjY2SHBCOztBMkN4MUpBO0FBQ0E7RUFBd0I7QTNDNDFKeEI7O0EyQ3oxSkE7NkVBQUE7QUFHQTtBQUNBO0VBQTRCO0EzQzQxSjVCOztBMkMzMUpBO0VBQStCLGdCekNtNkJkO0FGNDdIakI7O0EyQzkxSkE7RUFBNkI7QTNDazJKN0I7O0EyQ2oySkE7RUFBOEIsaUJ6Q2k2QmI7QUZvOEhqQjs7QTRDeDVKQTs7NkVBQUE7QUFJQTtFQUNJO0E1QzA1Sko7O0E0Q3Q1SkE7O0VBQUE7QUFJQTtFQUE2QjtBNUN5NUo3Qjs7QTRDdDVKQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0E1Q3c1Sko7O0E0Q241SkE7NkVBQUE7QUFHQTtFQUNJLFUxQ2t6QjJCO0UwQ2p6QjNCO0E1Q3E1Sko7O0E0Q2g1SkE7NkVBQUE7QUFHQTtFQUNJLGdCMUN5eUJvQjtBRnltSXhCOztBNEM3NEpBOzZFQUFBO0FBR0E7QUFDQTtFQUE0QjtBNUNnNUo1Qjs7QTZDbDhKQTs7NkVBQUE7QUFTQTs2RUFBQTtBQVNBOzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxlM0NzUXlCO0UyQ3JRekIsZ0IzQ29RMkI7QUZpckovQjs7QTZDajdKQTtBQUNBO0VBRUk7SUFBdUIsZTNDK1BJO0VGcXJKN0I7QUFDRjtBNkNqN0pBO0FBQ0E7RUFFSTtJQUF1QixlM0N5UEk7RUYwcko3QjtBQUNGO0E2Qy82SkE7NkVBQUE7QUFHQTtFQUNJLGUzQ2tQNEI7RTJDalA1QixnQjNDZ1A4QjtBRmdzSmxDOztBNkM1NkpBO0FBQ0E7RUFFSTtJQUEwQixlM0MyT0k7RUZvc0poQztBQUNGO0E2QzU2SkE7QUFDQTtFQUVJO0lBQTBCLGUzQ3FPSTtFRnlzSmhDO0FBQ0Y7QTZDMTZKQTs2RUFBQTtBQ3JEQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q2krSko7O0E4Qzk5SkE7Ozs7RUFBQTtBQU1BO0VBQWU7QTlDaStKZjs7QThDLzlKQTs7RUFBQTtBQUlBO0VBQTZCO0E5Q2srSjdCOztBOEMvOUpBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtBQUNBO0VBQVc7QTlDaStKWDs7QThDaCtKQTtFQUFlLGtCNUN2REM7QUYyaEtoQjs7QThDbCtKQTtBQUNBOzs7RUFFc0IsZ0I1QzVETjtBRmtpS2hCOztBOENwK0pBO0FBQ0E7RUFFSTtFQUNBO0lBQVc7RTlDdStKYjs7RThDdCtKRTtJQUFlLGtCNUNoRUk7RUYwaUtyQjs7RThDeCtKRTtFQUNBOzs7SUFFc0IsZ0I1Q3JFSDtFRmlqS3JCO0FBQ0Y7QThDeitKQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3dCO0E5QzIrSnhCOztBOEMxK0pBOztFQUM2QixrQjVDeEdQO0FGc2xLdEI7O0E4QzUrSkE7QUFDQTs7Ozs7RUFJNEIsZ0I1Qy9HTjtBRitsS3RCOztBOEM5K0pBOztFQUFBO0FBSUE7QUFDQTs7RUFDeUI7QTlDaS9KekI7O0E4Q2gvSkE7O0VBQzZCLGtCNUNyR2I7QUZ5bEtoQjs7QThDbC9KQTtBQUNBOzs7OztFQUk2QixnQjVDNUdiO0FGa21LaEI7O0E4Q3AvSkE7O0VBQUE7QUFJQTtBQUNBOztFQUN3QjtBOUN1L0p4Qjs7QThDdC9KQTs7RUFDNEIsa0I1Q25ITDtBRjZtS3ZCOztBOEN4L0pBO0FBQ0E7Ozs7O0VBSTRCLGdCNUMxSEw7QUZzbkt2Qjs7QThDMS9KQTtBQUNBO0VBRUk7RUFDQTs7SUFDd0I7RTlDNi9KMUI7O0U4QzUvSkU7O0lBQzRCLGtCNUNpSFY7RUYrNEpwQjs7RThDOS9KRTtFQUNBOzs7OztJQUk0QixnQjVDMEdWO0VGdzVKcEI7QUFDRjtBOEMvL0pBOztFQUFBO0FBSUE7QUFDQTs7RUFDMkI7QTlDaWdLM0I7O0E4Q2hnS0E7O0VBQytCO0E5Q29nSy9COztBOENsZ0tBO0FBQ0E7Ozs7RUFHMEM7QTlDc2dLMUM7O0E4Q25nS0E7NkVBQUE7QUFHQTtFQUF1QjtBOUNzZ0t2Qjs7QThDcGdLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDdWdLSjs7QThDbmdLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNzZ0tKOztBOENsZ0tBOztFQUFBO0FBSUE7QUFDQTtFQUFtQjtBOUNxZ0tuQjs7QThDcGdLQTtFQUF1QjtBOUN3Z0t2Qjs7QThDdGdLQTtFQUFvRCxVNUNsTXBDO0FGNHNLaEI7O0E4Q3hnS0E7QUFDQTtFQUFtRDtBOUM0Z0tuRDs7QThDMWdLQTtFQUNJO0VBQ0E7QTlDNmdLSjs7QThDMWdLQTtBQUNBO0VBRUk7RUFDQTtJQUFtQjtFOUM2Z0tyQjs7RThDNWdLRTtJQUF1QjtFOUNnaEt6Qjs7RThDOWdLRTtJQUFvRCxVNUNoTmpDO0VGa3VLckI7O0U4Q2hoS0U7RUFDQTtJQUFtRDtFOUNvaEtyRDs7RThDbGhLRTtJQUNJO0lBQ0E7RTlDcWhLTjtBQUNGO0E4Q2poS0E7O0VBQUE7QUFJQTtBQUNBOztFQUN3QztBOUNtaEt4Qzs7QThDbGhLQTs7RUFDNEM7QTlDc2hLNUM7O0E4Q3BoS0E7O0VBQ3lFLFU1QzlQbkQ7QUZzeEt0Qjs7QThDdGhLQTtBQUNBOztFQUNxRTtBOUMwaEtyRTs7QThDeGhLQTtFQUNJO0VBQ0E7QTlDMmhLSjs7QThDeGhLQTtFQUE2RTtBOUM0aEs3RTs7QThDM2hLQTtFQUFnRjtBOUMraEtoRjs7QThDN2hLQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3lDO0E5Q2dpS3pDOztBOEMvaEtBOztFQUM2QztBOUNtaUs3Qzs7QThDamlLQTs7RUFDMEUsVTVDblExRDtBRnd5S2hCOztBOENuaUtBO0FBQ0E7O0VBQ3NFO0E5Q3VpS3RFOztBOENyaUtBO0VBQ0k7RUFDQTtBOUN3aUtKOztBOENyaUtBO0VBQThFO0E5Q3lpSzlFOztBOEN4aUtBO0VBQWlGO0E5QzRpS2pGOztBOEMxaUtBOztFQUFBO0FBSUE7QUFDQTs7RUFDd0M7QTlDNmlLeEM7O0E4QzVpS0E7O0VBQzRDO0E5Q2dqSzVDOztBOEM5aUtBOztFQUN5RSxVNUN6UmxEO0FGMjBLdkI7O0E4Q2hqS0E7QUFDQTs7RUFDcUU7QTlDb2pLckU7O0E4Q2xqS0E7RUFDSTtFQUNBO0E5Q3FqS0o7O0E4Q2xqS0E7RUFBNkU7QTlDc2pLN0U7O0E4Q3JqS0E7RUFBZ0Y7QTlDeWpLaEY7O0E4Q3ZqS0E7QUFDQTtFQUVJO0VBQ0E7O0lBQ3dDO0U5QzBqSzFDOztFOEN6aktFOztJQUM0QztFOUM2aks5Qzs7RThDM2pLRTs7SUFDeUUsVTVDN0R2RDtFRjRuS3BCOztFOEM3aktFO0VBQ0E7O0lBQ3FFO0U5Q2lrS3ZFOztFOEMvaktFO0lBQ0k7SUFDQTtFOUNra0tOOztFOEMvaktFO0lBQTZFO0U5Q21rSy9FOztFOENsa0tFO0lBQWdGO0U5Q3NrS2xGO0FBQ0Y7QThDbGtLQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7O0VBRUk7RUFDQTtFQUNBO0E5Q2trS0o7O0E4Qy9qS0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNra0tKOztBK0MxM0tBOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7QUFDQTs7RUFFSTtFQUNBO0VBQ0E7QS9DMjNLSjs7QStDeDNLQTtBQUNBO0VBQ0k7RUFDQTtBL0MyM0tKOztBK0N4M0tBO0FBQ0E7RUFBdUI7QS9DNDNLdkI7O0ErQzEzS0E7OztFQUFBO0FBS0E7RUFBbUI7QS9DNjNLbkI7O0ErQzEzS0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0EvQzIzS0o7O0ErQ3YzS0E7O0VBQUE7QUFJQTtFQUFpQixrQjdDeWhCaUI7QUZpMkpsQzs7QStDeDNLQTs7RUFBQTtBQUlBO0VBQWdCO0EvQzIzS2hCOztBK0N4M0tBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLFk3QzZnQm9CO0U2QzVnQnBCLGE3QzRnQm9CO0U2QzNnQnBCO0V4Qy9HQTtFd0NpSEE7RUFDQTtBL0MwM0tKOztBK0N0M0tBO0V4Q3RISTtBUGcvS0o7O0ErQ3YzS0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0EseUI3Q2tnQndCO0U2Q2pnQnhCLG1CN0N2R3FCO0FGZytLekI7O0ErQ3IzS0E7RUFBbUMsZ0I3Q2pLbkI7QUYwaExoQjs7QStDdDNLQTs2RUFBQTtBQUdBO0VBQ0k7QS9DdzNLSjs7QStDbjNLQTs2RUFBQTtBQUdBO0U1QysvQzJCLG1CRHpuREY7QUZnL0t6Qjs7QStDbDNLQTs7RUFBQTtBQUlBO0VBQ0ksVzdDaElpQjtBRm8vS3JCOztBK0NoM0tBO0FBQ0E7O0VBRUksVzdDekxXO0FGNGlMZjs7QStDLzJLQTtBQUNBO0VBQ0ksVzdDak1vQjtBRm1qTHhCOztBK0M5MktBOztFQUFBO0FBSUE7RUFDSSxXN0MxTW9CO0FGMGpMeEI7O0ErQzUyS0E7O0VBQUE7QUFJQTtFQUNJO0EvQzgyS0o7O0ErQzEyS0E7O0VBQUE7QUFJQTtFQUFnQyxXN0N2S1g7QUZvaExyQjs7QStDMzJLQTs7RUFDc0MsVzdDNU52QjtBRjJrTGY7O0ErQzcyS0E7RUFBK0MsVzdDaE92QjtBRmlsTHhCOztBK0M5MktBOzZFQUFBO0FBT0E7O0VBQUE7QUFJQTtFQUNJLGlCN0M1SHFCO0U2QzZIckIsZ0I3Qy9KaUI7RTZDZ0tqQixXN0M3TGlCO0FGd2lMckI7O0ErQ3YyS0E7QUFDQTs7RUFFSSxXN0N0UFc7QUZnbUxmOztBK0N0MktBO0FBQ0E7RUFDSSxXN0M5UG9CO0FGdW1MeEI7O0ErQ3IyS0E7O0VBQUE7QUFJQTtFQUNJLFc3Q3ZRb0I7QUY4bUx4Qjs7QStDbjJLQTs7RUFBQTtBQUlBO0VBQ0k7QS9DcTJLSjs7QStDajJLQTs7RUFBQTtBQUlBO0VBQWdDLFc3Q3BPWDtBRndrTHJCOztBK0NsMktBOztFQUNzQyxXN0N6UnZCO0FGK25MZjs7QStDcDJLQTtFQUErQyxXN0M3UnZCO0FGcW9MeEI7O0ErQ3IyS0E7NkVBQUE7QUFHQTtFQUFpQjtBL0N3MktqQjs7QStDdDJLQTtBQUNBOztFQUNnQztBL0MwMktoQzs7QStDeDJLQTtBQUNBO0VBQTREO0EvQzQySzVEOztBZ0R4a0xBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QWhEeWtMSjs7QWdEcGtMQTs2RUFBQTtBQUdBO0VBQ0ksbUI5Q3BGc0I7QUYwcEwxQjs7QWdEOWpMQTs7RUFBQTtBQUlBOztFQUNpQztBaERpa0xqQzs7QWdEOWpMQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7OztFQU1JO0VBQ0E7RUFDQTtBaEQ4akxKOztBZ0QzakxBOzs7Ozs7O0VBQUE7QUFTQTtFQUFtQjtBaEQ4akxuQjs7QWdENWpMQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRCtqTEo7O0FnRDVqTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0FoRCtqTEo7O0FnRDVqTEE7QUFDQTs7RUFFRztFQUNBO0FoRCtqTEg7O0FnRDVqTEE7RUFBeUI7QWhEZ2tMekI7O0FnRC9qTEE7RUFBMEI7QWhEbWtMMUI7O0FnRGprTEE7RUFDSTtFQUFBO0VBQUE7RUFDQTtBaERva0xKOztBZ0Roa0xBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEaWtMSjs7QWdEOWpMQTs7O0VBQUE7QUFLQTs7O0VBRStCO0FoRGlrTC9COztBZ0QvakxBOzs7Ozs7RUFBQTtBQVFBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjlDMGVxQjtFOEN6ZXJCO0VBQ0E7RUFDQSxtQjlDOUtxQjtFOEMrS3JCLGtNOUNwSmlCO0U4Q3FKakI7RUFDQTtBaERpa0xKOztBZ0Q5akxBOztFQUFBO0FBSUE7RUFDSSxXOUN0TGlCO0VDaXBEakIseUJEM2xCNkI7RUM0bEI3QjtFQUNBO0FIc21JSjs7QWdEL2pMQTs7O0VBQUE7QUFLQTs7O0VBR0ksVzlDcFBXO0U4Q3FQWDtBaERpa0xKOztBZ0Q3akxBO0FBQ0E7RUFDSSxXOUM3UG9CO0FGNnpMeEI7O0FnRDVqTEE7QUFDQTtFQUNJLFc5Q25Rb0I7QUZrMEx4Qjs7QWdEMWpMQTs2RUFBQTtBQUdBO0VBQ0ksVzlDMVFXO0FGczBMZjs7QWdEdmpMQTs2RUFBQTtBQUdBO0VBQ0ksVzlDak9pQjtBRjB4THJCOztBZ0RyakxBOzs7RUFHSSxXOUMxUlc7RThDMlJYO0VBQ0E7QWhEd2pMSjs7QWdEcGpMQTs7O0VBQUE7QUFTQTtBQU9BOzZFQUFBO0FBR0E7RUFDSSxtQjlDclFxQjtBRmd6THpCOztBZ0R0aUxBOzZFQUFBO0FBZ0JBOzZFQUFBO0FBR0E7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGE5Q3VYc0I7RThDdFh0QjtFQUNBO0VBQ0EsWTlDcVhvQjtFOENwWHBCO0VBQ0EsYTlDcVhzQjtFOENwWHRCLGdCOUN6U2dCO0U4QzBTaEIsVzlDaFdXO0VDbXREZ0IsMENEem1CRjtBRmd4SjdCOztBZ0R0aExBO0FBQ0E7RUFBOEI7QWhEMGhMOUI7O0FnRHhoTEE7O0VBQUE7QUFJQTtBQUNBO0VBQW9DO0FoRDJoTHBDOztBZ0QxaExBO0VBQXVDLGdCOUNxV2Q7QUZ5ckt6Qjs7QWdEN2hMQTtFQUFxQztBaERpaUxyQzs7QWdEaGlMQTtFQUFzQyxpQjlDbVdiO0FGaXNLekI7O0FnRGxpTEE7OztFQUFBO0FBS0E7QUFDQTtFQUEyQjtBaERxaUwzQjs7QWdEcGlMQTtFQUErQixrQjlDOFZVO0FGMHNLekM7O0FnRHRpTEE7QUFDQTtFQUE2QyxnQjlDMlZKO0FGK3NLekM7O0FnRHhpTEE7QUFDQTtFQUF5RDtBaEQ0aUx6RDs7QWdEMWlMQTs7RUFBQTtBQUlBO0VBQTZEO0FoRDZpTDdEOztBZ0Q1aUxBO0VBQTZEO0FoRGdqTDdEOztBZ0QvaUxBO0VBQTZEO0FoRG1qTDdEOztBZ0RsakxBO0VBQTZEO0FoRHNqTDdEOztBZ0RwakxBOztFQUFBO0FBSUE7RUFDSSxhOUMwVWlDO0U4Q3pVakMsZ0I5Q3lVaUM7RUM0L0JFO0FIa3ZJdkM7O0FnRGxqTEE7OzZFQUFBO0FBSUE7RTdDNnpDbUMsbUJEdHFEVjtBRjg1THpCOztBZ0RqakxBOztFQUFBO0FBSUE7RUFDSSxXOUMvV2lCO0FGazZMckI7O0FnRC9pTEE7QUFDQTs7RUFFSSxXOUN4YVc7QUYwOUxmOztBZ0Q5aUxBO0FBQ0E7RUFDSSxXOUNoYm9CO0FGaStMeEI7O0FnRDdpTEE7O0VBQUE7QUFJQTtFQUNJLFc5Q3pib0I7QUZ3K0x4Qjs7QWdEM2lMQTs7RUFBQTtBQUlBO0VBQ0k7QWhENmlMSjs7QWdEemlMQTs7RUFBQTtBQUlBO0VBQXdDLFc5Q3RabkI7QUZrOExyQjs7QWdEMWlMQTs7RUFDOEMsVzlDM2MvQjtBRnkvTGY7O0FnRDVpTEE7RUFBdUQsVzlDL2MvQjtBRisvTHhCOztBZ0Q3aUxBOzZFQUFBO0FBR0E7RUFDSSxnQjlDOVpnQjtBRjY4THBCOztBZ0QzaUxBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFk5Q3NRcUI7RThDclFyQjtFQUNBO0U3QzR2Q2dDLHlDRGpuQlI7QUZtNko1Qjs7QUcveUlJOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FIaXpJUjs7QUcveUlJO0VBQXdEO0FIbXpJNUQ7O0FHanpJSTs7RUFBQTtBQUlBO0VBQStCO0FIb3pJbkM7O0FHbHpJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHF6SVI7O0FHbHpJSTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsVUR2aUNpQztFQ3dpQ2pDO0VBQ0E7QUhxeklSOztBaURoaE1BOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEaWhNSjs7QWlEN2dNQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQi9DMHlCdUI7RStDenlCdkI7RUFDQTtBakQrZ01KOztBaUQzZ01BOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFcvQ3RDaUI7RUM0eURqQixtQkQveURxQjtFQ2d6RHJCLHlCRDN1QnlCO0VDNHVCekI7RUFDQTtBSHV3SUo7O0FpRDVnTUE7QUFDQTs7RUFFSSxXL0MvRlc7RStDZ0dYLHFCL0NpeEJnQztFK0NoeEJoQztBakQrZ01KOztBaUQzZ01BO0FBQ0E7RUFDSSxXL0N6R29CO0FGdW5NeEI7O0FpRHpnTUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQXFCO0FqRDJnTXJCOztBaUR6Z01BOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FqRDJnTUo7O0FpRHhnTUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGEvQyt1QjJCO0UrQzl1QjNCO0VBQ0Esa0IvQ3V1QnVCO0UrQ3R1QnZCO0FqRDBnTUo7O0FpRHZnTUE7QUFDQTtFQUNJLDBCL0NmWTtBRnloTWhCOztBaURyZ01BOzZFQUFBO0FBR0E7RUFDSTtFQUNBLHVCL0NrdUIwQjtFK0NqdUIxQixXL0N0R2lCO0FGNm1NckI7O0FpRG5nTUE7QUFDQTs7RUFFSSx5Qi9DbkpzQjtFK0NvSnRCLFcvQ2hLVztBRnNxTWY7O0FpRGxnTUE7QUFDQTtFQUNJLHlCL0MxSnNCO0UrQzJKdEIsVy9DdktXO0FGNHFNZjs7QWlEamdNQTtBQUNBO0VBQ0kseUIvQzVKd0I7RStDNkp4QixXL0MzS21CO0FGK3FNdkI7O0FpRC8vTEE7OzZFQUFBO0FBSUE7RUFDSSxXL0N0SWlCO0FGdW9NckI7O0FrRHZxTUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWxEd3FNSjs7QWtEcHFNQTs7RUFBQTtBQUlBO0VBQXFCO0FsRHVxTXJCOztBa0RwcU1BOzZFQUFBO0FBR0E7RUFDSSxtQmhESXFCO0VnREhyQixXaERNaUI7QUZncU1yQjs7QWtEbHFNQTtBQUNBOztFQUVJLFdoRG5EVztFZ0RvRFgscUJoRHFHb0M7QUZna014Qzs7QWtEanFNQTtBQUtBO0FBQ0E7O0VBRUksV2hEaEVXO0FGZ3VNZjs7QWtENXBNQTs7Ozs7RUFBQTtBQU9BO0VBQ0ksWWhEK0VpQjtFZ0Q5RWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJoRGxDcUI7RWdEbUNyQixXaERoQ2lCO0FGOHJNckI7O0FtRDN0TUE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkQ0dE1KOztBbUR4dE1BOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGVqRDR0QjJCO0VpRDN0QjNCO0VBQ0E7QW5EMHRNSjs7QW1EdHRNQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXakR0QmlCO0VDMnVEVTtBSG1nSi9COztBbURwdE1BO0FBQ0E7O0VBRUksV2pEL0VXO0VpRGdGWCxxQmpEc3NCb0M7QUZpaEx4Qzs7QW1EbnRNQTtBQUNBO0VBQ0ksV2pEdEZXO0FGNHlNZjs7QW1EbHRNQTtBQUNBO0VBQ0ksV2pEMUNpQjtBRit2TXJCOztBb0QzeE1BOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpEaTFEQTtBSDQ4SUo7QUcxOElJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsVURoL0JnQjtFQ2kvQmhCO0VBQ0E7QUg0OElSOztBb0RqeU1BOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCbER5MUJvQjtFa0R4MUJwQjtFQUNBO0FwRG15TUo7O0FvRC94TUE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV2xEekJpQjtFQ28xRGpCO0VBQ0EsbUJEeDFEcUI7RUN5MURyQix5QkQvd0JzQjtFQ2d4QnRCO0FIcytJSjs7QW9EaHlNQTtBQUNBOztFQUVJLFdsRGxGVztFa0RtRlgscUJsRGkwQjZCO0FGaytLakM7O0FvRC94TUE7QUFDQTtFQUNJLFdsRDNGb0I7RUM4NERPLHFCRDMzREg7QUYyMk01Qjs7QW9EL3hNQTtBQUNBO0VBQ0ksV2xEN0NpQjtBRiswTXJCOztBb0Q3eE1BOzZFQUFBO0FBR0E7O0VBQUE7QWpEeXlESTtFQUNJO0VBQ0E7QUh5L0lSOztBb0Q1eE1BO0VqRHd5REk7RUFDQTtBSHcvSUo7O0FvRDd4TUE7OztFQUFBO0FBS0E7O0VBRUk7RUFDQTtFQUNBO0FwRCt4TUo7O0FvRDV4TUE7QUFDQTs7RUFDb0I7QXBEZ3lNcEI7O0FHcmdKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHdnSlI7O0FHbGdKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHFnSlI7O0FvRHh5TUE7RUFDSTtFakR1eURBO0VBQ0E7QUhxZ0pKOztBb0R6eU1BO0VBQ0k7RWpEc3lEQTtFQUNBO0FIdWdKSjs7QUduZ0pJO0VBQXVCO0FIdWdKM0I7O0FxRDk2TUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsK0JuRHd6QmE7RUM4K0JPO0FIMG9KeEI7O0FxRDU2TUE7QUFDQTs7RUFFSSwrQm5Ea3pCbUI7RW1EanpCbkI7QXJEKzZNSjs7QXFEMzZNQTtBQUNBO0VBQ0ksK0JuRDR5Qm9CO0FGa29MeEI7O0FxRHo2TUE7NkVBQUE7QUFHQTs7RUFBQTtBQVFBOztFQUFBO0FBU0E7NkVBQUE7QUFHQTtFQUNJO0FyRCs1TUo7O0FxRDE1TUE7NkVBQUE7QUFHQTtFQUNJO0FyRDQ1TUo7O0FzRDE5TUE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDI5TUo7O0FzRHY5TUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQnBEa1N1QjtBRnVyTTNCOztBc0RyOU1BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0EsV3BEcVJnQjtFb0RwUmhCLFlwRG9SZ0I7RW9EblJoQixrQnBEcVJ3QjtFb0RwUnhCLHVCcERxUnFCO0VvRHBSckI7RUFDQTtFQUNBO0VBQ0E7RW5Eb3JCQTtFQUNBO0VBQ0E7QUhteUxKOztBc0RyOU1BO0FBQ0E7O0VBRUksMENwRDJRMkI7RW9EMVEzQjtFbkRnckI2Qix5QkRtVU47QUZzK0szQjs7QXNEcjlNQTtBQUNBO0VBQ0ksMENwRHFRNkI7RUNzYUUseUJEbVVOO0FGMitLN0I7O0FzRHI5TUE7QUFDQTtFQUNJLDBDcERnUTRCO0VDc2FFLHlCRG1VTjtBRmcvSzVCOztBc0RwOU1BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHE5TUo7O0FzRGw5TUE7QUFDQTtFQUNJO0VBQ0EsaUJwRGdPdUI7QUZxdk0zQjs7QXVEaGtOQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEaWtOSjs7QXVEN2pOQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0Esa0JyRGs2QnlCO0FGNnBMN0I7O0F1RDNqTkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RXBEdytEQTtBSHFsSko7QUdubEpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0NEdjZCbUI7RUN3NkJuQjtBSHFsSlI7O0F1RG5rTkE7QUFDQTs7RUFFSTtBdkRza05KO0FHdGxKSTs7RUFBVyw2QkQ1NkJrQjtBRnNnTGpDOztBdUR0a05BO0FwRCsrREk7RUFBVyw2QkQ5NkJtQjtBRjBnTGxDOztBdURya05BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RHNrTko7O0F1RG5rTkE7QUFDQTtFQUNJO0VBQ0EsaUJyRGszQnlCO0FGb3RMN0I7O0F3RDlvTkE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RCtvTko7O0F3RDNvTkE7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGtCdERvRmtCO0FGeWpOdEI7O0F3RHpvTkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxXdERmaUI7QUZ5cE5yQjs7QXdEdG9OQTtBQUNBOztFQUVJLFd0RHhFVztFc0R5RVg7QXhEeW9OSjs7QXdEcm9OQTtBQUNBO0VBQ0ksV3REL0VXO0FGdXROZjs7QXdEbm9OQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeERvb05KOztBd0Rqb05BO0FBQ0E7RUFDSTtFQUNBLGlCdEQ2QmtCO0FGdW1OdEI7O0F5RHJzTkE7OzZFQUFBO0FBSUE7Ozs7Ozs7O0VBQUE7QUFVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhdkRrZmU7RXVEamZmO0VBQ0EsZ0J2RGlma0I7RXVEaGZsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RHNzTko7O0F5RGxzTkE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0F6RG9zTko7O0F5RGhzTkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQW9CO0F6RGtzTnBCOztBeUQvck5BOzZFQUFBO0FBR0E7Ozs7Ozs7OztFQUFBO0FBV0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0J2RHdia0I7RXVEdmJsQjtFQUNBO0F6RGdzTko7O0F5RDVyTkE7QUFDQTtFQUNJLGdCdkRpYnNCO0V1RGhidEIsaUJ2RGlidUI7QUY4d00zQjs7QXlENXJOQTtBQUNBO0VBQThCO0F6RGdzTjlCOztBeUQ5ck5BO0VBQ0k7RUFDQTtBekRpc05KOztBeUQ5ck5BO0VBQWtDO0F6RGtzTmxDOztBeURoc05BOzZFQUFBO0FBR0E7RUFDSTtFQUNBLDhCdkRrYTBCO0V1RGphMUIsK0J2RGthcUI7QUZneU16Qjs7QXlEOXJOQTtFQUEyQiwrQnZEOFpGO0FGb3lNekI7O0F5RC9yTkE7NkVBQUE7QUFHQTtFQUNJLFl2RHdaNEI7RXVEdlo1QiwrQnZEd1owQjtBRnl5TTlCOztBeUQ3ck5BOztFQUFBO0FBSUE7RUFDSSxXdkRnWmdDO0FGK3lNcEM7O0F5RHpyTkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxXdkRrWW1CO0V1RGpZbkIsWXZEaVltQjtFdURoWW5CLDhCdkQyWDBCO0V1RDFYMUIsK0J2RGlZb0I7RXVEaFlwQjtFQUNBO0VBQ0E7RUFDQTtBekQwck5KOztBeUR0ck5BO0FBQ0E7O0VBRUksV3ZEdVgwQjtBRmswTTlCOztBeURyck5BO0FBTUE7NkVBQUE7QUFHQTtFQUE2QjtBekRtck43Qjs7QXlEaHJOQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBekRrck5KOztBMEQvMk5BOzs2RUFBQTtBQUlBO0VBQ0ksZ0N4REZpQjtVd0RFakIsd0J4REZpQjtFd0RHakI7VUFBQTtFQUNBO1VBQUE7QTFEaTNOSjs7QTBENzJOQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtVQUFBO0VBQ0EsZ0N4RGhCc0I7VXdEZ0J0Qix3QnhEaEJzQjtFd0RpQnRCO1VBQUE7QTFEODJOSjs7QTBEMzJOQTs7RUFBQTtBQUlBO0VBQXlCO1VBQUE7QTFEODJOekI7O0EwRDcyTkE7RUFBMkI7VUFBQTtBMURpM04zQjs7QTBELzJOQTs7RUFBQTtBQUlBO0VBQTBCO1VBQUE7QTFEazNOMUI7O0EwRGozTkE7RUFBNkI7VUFBQTtBMURxM043Qjs7QTBEcDNOQTtFQUEyQjtVQUFBO0ExRHczTjNCOztBMER2M05BO0VBQTRCO1VBQUE7QTFEMjNONUI7O0EwRHozTkE7O0VBQUE7QUFJQTtFQUFnQztVQUFBO0ExRDQzTmhDOztBMEQzM05BO0VBQW1DO1VBQUE7QTFEKzNObkM7O0EwRDkzTkE7RUFBaUM7VUFBQTtBMURrNE5qQzs7QTBEajROQTtFQUFrQztVQUFBO0ExRHE0TmxDOztBMERuNE5BOztFQUFBO0FBSUE7RUFBaUM7VUFBQTtBMURzNE5qQzs7QTBEcjROQTtFQUFvQztVQUFBO0ExRHk0TnBDOztBMER4NE5BO0VBQWtDO1VBQUE7QTFENDRObEM7O0EwRDM0TkE7RUFBbUM7VUFBQTtBMUQrNE5uQzs7QTBENzROQTs7RUFBQTtBQUlBO0VBQ0k7VUFBQTtFQUNBLCtCeEQxRDBCO1V3RDBEMUIsdUJ4RDFEMEI7QUZ5OE45Qjs7QTBENTROQTs7RUFBQTtBQUlBO0VBQXNCO1VBQUE7QTFEKzROdEI7O0EwRDc0TkE7Ozs7OztFQUFBO0FBUUE7RUFDSTtVQUFBO0VBQ0E7RUFDQSw4QnhEL0V3QjtVd0QrRXhCLHNCeEQvRXdCO0FGODlONUI7O0EwRDM0TkE7NkVBQUE7QUFHQztFQUNHO0VBQ0E7VUFBQTtBMUQ2NE5KOztBMER6NE5BOzZFQUFBO0FBR0M7RUFBcUIsZ0N4RDdGSTtVd0Q2Rkosd0J4RDdGSTtBRnkrTjFCOztBMER6NE5BOzRFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUF3RTtVQUFBO0ExRDI0TnhFOztBMER6NE5BOztFQUFBO0FBSUE7RUFDSTtFQUNBO0ExRDI0Tko7O0EwRHg0TkE7O0VBQUE7QUFJQTtFQUE2QjtBMUQyNE43Qjs7QTBEeDROQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtJQUFLO0UxRDA0TlA7RTBEejRORTtJQUFPO0UxRDQ0TlQ7QUFDRjtBMEQvNE5BO0VBQ0k7SUFBSztFMUQwNE5QO0UwRHo0TkU7SUFBTztFMUQ0NE5UO0FBQ0Y7QTBEMTROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRDI0Tk47RTBEejRORTtJQUNJO0lBQ0E7RTFEMjROTjtBQUNGO0EwRG41TkE7RUFDSTtJQUNJO0lBQ0E7RTFEMjROTjtFMER6NE5FO0lBQ0k7SUFDQTtFMUQyNE5OO0FBQ0Y7QTBEeDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHk0Tk47RTBEdjRORTtJQUNJO0lBQ0E7RTFEeTROTjtBQUNGO0EwRGo1TkE7RUFDSTtJQUNJO0lBQ0E7RTFEeTROTjtFMER2NE5FO0lBQ0k7SUFDQTtFMUR5NE5OO0FBQ0Y7QTBEdDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHU0Tk47RTBEcjRORTtJQUNJO0lBQ0E7RTFEdTROTjtBQUNGO0EwRC80TkE7RUFDSTtJQUNJO0lBQ0E7RTFEdTROTjtFMERyNE5FO0lBQ0k7SUFDQTtFMUR1NE5OO0FBQ0Y7QTBEcDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHE0Tk47RTBEbjRORTtJQUNJO0lBQ0E7RTFEcTROTjtBQUNGO0EwRDc0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEcTROTjtFMERuNE5FO0lBQ0k7SUFDQTtFMURxNE5OO0FBQ0Y7QTBEbDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRG00Tk47RTBEajRORTtJQUNJO0lBQ0E7RTFEbTROTjtBQUNGO0EwRDM0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEbTROTjtFMERqNE5FO0lBQ0k7SUFDQTtFMURtNE5OO0FBQ0Y7QTBEaDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRGk0Tk47RTBELzNORTtJQUNJO0lBQ0E7RTFEaTROTjtBQUNGO0EwRHo0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEaTROTjtFMEQvM05FO0lBQ0k7SUFDQTtFMURpNE5OO0FBQ0Y7QTBEOTNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRCszTk47RTBENzNORTtJQUNJO0lBQ0E7RTFEKzNOTjtBQUNGO0EwRHY0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEKzNOTjtFMEQ3M05FO0lBQ0k7SUFDQTtFMUQrM05OO0FBQ0Y7QTBENTNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRDYzTk47RTBEMzNORTtJQUNJO0lBQ0E7RTFENjNOTjtBQUNGO0EwRHI0TkE7RUFDSTtJQUNJO0lBQ0E7RTFENjNOTjtFMEQzM05FO0lBQ0k7SUFDQTtFMUQ2M05OO0FBQ0Y7QTBEMTNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRDIzTk47RTBEejNORTtJQUNJO0lBQ0E7RTFEMjNOTjtBQUNGO0EwRG40TkE7RUFDSTtJQUNJO0lBQ0E7RTFEMjNOTjtFMER6M05FO0lBQ0k7SUFDQTtFMUQyM05OO0FBQ0Y7QTBEeDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHkzTk47RTBEdjNORTtJQUNJO0lBQ0E7RTFEeTNOTjtBQUNGO0EwRGo0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEeTNOTjtFMER2M05FO0lBQ0k7SUFDQTtFMUR5M05OO0FBQ0Y7QTBEdDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHUzTk47RTBEcjNORTtJQUNJO0lBQ0E7RTFEdTNOTjtBQUNGO0EwRC8zTkE7RUFDSTtJQUNJO0lBQ0E7RTFEdTNOTjtFMERyM05FO0lBQ0k7SUFDQTtFMUR1M05OO0FBQ0Y7QTBEcDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHEzTk47RTBEbjNORTtJQUNJO0lBQ0E7RTFEcTNOTjtBQUNGO0EwRDczTkE7RUFDSTtJQUNJO0lBQ0E7RTFEcTNOTjtFMERuM05FO0lBQ0k7SUFDQTtFMURxM05OO0FBQ0Y7QTBEbDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRG0zTk47RTBEajNORTtJQUNJO0lBQ0E7RTFEbTNOTjtBQUNGO0EwRDMzTkE7RUFDSTtJQUNJO0lBQ0E7RTFEbTNOTjtFMERqM05FO0lBQ0k7SUFDQTtFMURtM05OO0FBQ0Y7QTBEaDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRGkzTk47RTBELzJORTtJQUNJO0lBQ0E7RTFEaTNOTjtBQUNGO0EwRHozTkE7RUFDSTtJQUNJO0lBQ0E7RTFEaTNOTjtFMEQvMk5FO0lBQ0k7SUFDQTtFMURpM05OO0FBQ0Y7QTBEOTJOQTs7RUFBQTtBQUlBO0VBQ0k7SUFBSztFMURnM05QO0UwRC8yTkU7SUFBTztFMURrM05UO0FBQ0Y7QTBEcjNOQTtFQUNJO0lBQUs7RTFEZzNOUDtFMEQvMk5FO0lBQU87RTFEazNOVDtBQUNGO0EwRGgzTkE7O0VBQUE7QUFJQTtFQUNJO0lBQVc7RTFEazNOYjtFMERqM05FO0lBQU07RTFEbzNOUjtFMERuM05FO0lBQU07RTFEczNOUjtFMERyM05FO0lBQU07RTFEdzNOUjtFMER2M05FO0lBQU07RTFEMDNOUjtFMER6M05FO0lBQU07RTFENDNOUjtFMEQzM05FO0lBQU07RTFEODNOUjtFMEQ3M05FO0lBQU07RTFEZzROUjtFMEQvM05FO0lBQU07RTFEazROUjtFMERqNE5FO0lBQU07RTFEbzROUjtBQUNGO0EwRC80TkE7RUFDSTtJQUFXO0UxRGszTmI7RTBEajNORTtJQUFNO0UxRG8zTlI7RTBEbjNORTtJQUFNO0UxRHMzTlI7RTBEcjNORTtJQUFNO0UxRHczTlI7RTBEdjNORTtJQUFNO0UxRDAzTlI7RTBEejNORTtJQUFNO0UxRDQzTlI7RTBEMzNORTtJQUFNO0UxRDgzTlI7RTBENzNORTtJQUFNO0UxRGc0TlI7RTBELzNORTtJQUFNO0UxRGs0TlI7RTBEajRORTtJQUFNO0UxRG80TlI7QUFDRjtBMERsNE5BOztFQUFBO0FBSUM7RUFDRztJQUFLO0UxRG80TlA7RTBEbjRORTtJQUFPO0UxRHM0TlQ7QUFDRjtBMER6NE5DO0VBQ0c7SUFBSztFMURvNE5QO0UwRG40TkU7SUFBTztFMURzNE5UO0FBQ0Y7QTJEeHhPQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBM0R1eE9KOztBMkRweE9BO0VBQTBCO0EzRHd4TzFCOztBMkR2eE9BO0VBQTBCO0EzRDJ4TzFCOztBMkQxeE9BO0VBQTBCO0EzRDh4TzFCOztBMkQ3eE9BO0VBQTBCO0EzRGl5TzFCOztBMkRoeU9BO0VBQTBCO0EzRG95TzFCOztBMkRseU9BO0VBQTJCO0EzRHN5TzNCOztBMkRweU9BOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7QTNEc3lPSjs7QTJEbnlPQTtBQUNBO0VBRUk7SUFBNkI7RTNEc3lPL0I7O0UyRHJ5T0U7SUFBNkI7RTNEeXlPL0I7O0UyRHh5T0U7SUFBNkI7RTNENHlPL0I7O0UyRDN5T0U7SUFBNkI7RTNEK3lPL0I7O0UyRDl5T0U7SUFBNkI7RTNEa3pPL0I7O0UyRGp6T0U7SUFBNkI7RTNEcXpPL0I7O0UyRG56T0U7SUFBOEI7RTNEdXpPaEM7O0UyRHR6T0U7SUFDSTtJQUNBO0UzRHl6T047QUFDRjtBMkRyek9BO0FBQ0E7RUFFSTtJQUE2QjtFM0R1ek8vQjs7RTJEdHpPRTtJQUE2QjtFM0Qwek8vQjs7RTJEenpPRTtJQUE2QjtFM0Q2ek8vQjs7RTJENXpPRTtJQUE2QjtFM0RnME8vQjs7RTJEL3pPRTtJQUE2QjtFM0RtME8vQjs7RTJEbDBPRTtJQUE2QjtFM0RzME8vQjs7RTJEcDBPRTtJQUE4QjtFM0R3ME9oQzs7RTJEdjBPRTtJQUNJO0lBQ0E7RTNEMDBPTjtBQUNGO0EyRHQwT0E7QUFDQTtFQUVJO0lBQTZCO0UzRHcwTy9COztFMkR2ME9FO0lBQTZCO0UzRDIwTy9COztFMkQxME9FO0lBQTZCO0UzRDgwTy9COztFMkQ3ME9FO0lBQTZCO0UzRGkxTy9COztFMkRoMU9FO0lBQTZCO0UzRG8xTy9COztFMkRuMU9FO0lBQTZCO0UzRHUxTy9COztFMkRyMU9FO0lBQThCO0UzRHkxT2hDOztFMkR4MU9FO0lBQ0k7SUFDQTtFM0QyMU9OO0FBQ0Y7QTJEdjFPQTtBQUNBO0VBRUk7SUFBOEI7RTNEeTFPaEM7O0UyRHgxT0U7SUFBOEI7RTNENDFPaEM7O0UyRDMxT0U7SUFBOEI7RTNEKzFPaEM7O0UyRDkxT0U7SUFBOEI7RTNEazJPaEM7O0UyRGoyT0U7SUFBOEI7RTNEcTJPaEM7O0UyRHAyT0U7SUFBOEI7RTNEdzJPaEM7O0UyRHQyT0U7SUFBK0I7RTNEMDJPakM7O0UyRHoyT0U7SUFDSTtJQUNBO0UzRDQyT047QUFDRjtBMkR2Mk9BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRHUyT0o7O0EyRHAyT0E7QUFDQTtFQUFnQjtBM0R3Mk9oQjs7QTJEdDJPQTtBQUNBO0VBQWdCO0EzRDAyT2hCOztBMkR6Mk9BO0VBQWdCO0EzRDYyT2hCOztBMkQzMk9BO0FBQ0E7RUFBZ0I7QTNEKzJPaEI7O0EyRDkyT0E7RUFBZ0I7QTNEazNPaEI7O0EyRGgzT0E7QUFDQTtFQUFnQjtBM0RvM09oQjs7QTJEbjNPQTtFQUFnQjtBM0R1M09oQjs7QTJEdDNPQTtFQUFnQjtBM0QwM09oQjs7QTJEejNPQTtFQUFnQjtBM0Q2M09oQjs7QTJEMzNPQTtBQUNBO0VBQWdCO0EzRCszT2hCOztBMkQ5M09BO0VBQWdCO0EzRGs0T2hCOztBMkRoNE9BO0FBQ0E7RUFBa0IsWXpEeTNCRTtBRjJnTnBCOztBMkRuNE9BO0VBQW1CLFl6RHkzQkU7QUY4Z05yQjs7QTJEdDRPQTtFQUFrQixZekR5M0JFO0FGaWhOcEI7O0EyRHo0T0E7RUFBbUIsWXpEeTNCRTtBRm9oTnJCOztBMkQ1NE9BO0VBQW9CLFl6RHkzQkU7QUZ1aE50Qjs7QTJEMzRPQTtBQUNBO0VBQWlCO0EzRCs0T2pCOztBMkQ3NE9BO0FBQ0E7RUFDSTtFQUNBO0EzRGc1T0o7O0EyRDc0T0E7QUFDQTtFQUVJO0VBQ0E7SUFBbUI7RTNEZzVPckI7O0UyRDk0T0U7RUFDQTtJQUFtQjtFM0RrNU9yQjs7RTJEaDVPRTtFQUNBO0lBQW1CO0UzRG81T3JCOztFMkRuNU9FO0lBQW1CO0UzRHU1T3JCOztFMkRyNU9FO0VBQ0E7SUFBbUI7RTNEeTVPckI7O0UyRHg1T0U7SUFBbUI7RTNENDVPckI7O0UyRDE1T0U7RUFDQTtJQUFtQjtFM0Q4NU9yQjs7RTJENzVPRTtJQUFtQjtFM0RpNk9yQjs7RTJEaDZPRTtJQUFtQjtFM0RvNk9yQjs7RTJEbjZPRTtJQUFtQjtFM0R1Nk9yQjs7RTJEcjZPRTtFQUNBO0lBQW1CO0UzRHk2T3JCOztFMkR4Nk9FO0lBQW1CO0UzRDQ2T3JCOztFMkQxNk9FO0VBQ0E7SUFBcUIsWXpEMjBCTDtFRm1tTmxCOztFMkQ3Nk9FO0lBQXNCLFl6RDIwQkw7RUZzbU5uQjs7RTJEaDdPRTtJQUFxQixZekQyMEJMO0VGeW1ObEI7O0UyRG43T0U7SUFBc0IsWXpEMjBCTDtFRjRtTm5COztFMkR0N09FO0lBQXVCLFl6RDIwQkw7RUYrbU5wQjs7RTJEcjdPRTtFQUNBO0lBQW9CO0UzRHk3T3RCOztFMkR2N09FO0VBQ0E7SUFDSTtJQUNBO0UzRDA3T047QUFDRjtBMkR0N09BO0FBQ0E7RUFFSTtFQUNBO0lBQW1CO0UzRHc3T3JCOztFMkR0N09FO0VBQ0E7SUFBbUI7RTNEMDdPckI7O0UyRHg3T0U7RUFDQTtJQUFtQjtFM0Q0N09yQjs7RTJEMzdPRTtJQUFtQjtFM0QrN09yQjs7RTJENzdPRTtFQUNBO0lBQW1CO0UzRGk4T3JCOztFMkRoOE9FO0lBQW1CO0UzRG84T3JCOztFMkRsOE9FO0VBQ0E7SUFBbUI7RTNEczhPckI7O0UyRHI4T0U7SUFBbUI7RTNEeThPckI7O0UyRHg4T0U7SUFBbUI7RTNENDhPckI7O0UyRDM4T0U7SUFBbUI7RTNEKzhPckI7O0UyRDc4T0U7RUFDQTtJQUFtQjtFM0RpOU9yQjs7RTJEaDlPRTtJQUFtQjtFM0RvOU9yQjs7RTJEbDlPRTtFQUNBO0lBQXFCLFl6RDJ4Qkw7RUYyck5sQjs7RTJEcjlPRTtJQUFzQixZekQyeEJMO0VGOHJObkI7O0UyRHg5T0U7SUFBcUIsWXpEMnhCTDtFRmlzTmxCOztFMkQzOU9FO0lBQXNCLFl6RDJ4Qkw7RUZvc05uQjs7RTJEOTlPRTtJQUF1QixZekQyeEJMO0VGdXNOcEI7O0UyRDc5T0c7RUFDRDtJQUFvQjtFM0RpK090Qjs7RTJELzlPRTtFQUNBO0lBQ0k7SUFDQTtFM0RrK09OO0FBQ0Y7QTJEOTlPQTtBQUNBO0VBRUk7RUFDQTtJQUFtQjtFM0RnK09yQjs7RTJEOTlPRTtFQUNBO0lBQW1CO0UzRGsrT3JCOztFMkRoK09FO0VBQ0E7SUFBbUI7RTNEbytPckI7O0UyRG4rT0U7SUFBbUI7RTNEdStPckI7O0UyRHIrT0U7RUFDQTtJQUFtQjtFM0R5K09yQjs7RTJEeCtPRTtJQUFtQjtFM0Q0K09yQjs7RTJEMStPRTtFQUNBO0lBQW1CO0UzRDgrT3JCOztFMkQ3K09FO0lBQW1CO0UzRGkvT3JCOztFMkRoL09FO0lBQW1CO0UzRG8vT3JCOztFMkRuL09FO0lBQW1CO0UzRHUvT3JCOztFMkRyL09FO0VBQ0E7SUFBbUI7RTNEeS9PckI7O0UyRHgvT0U7SUFBbUI7RTNENC9PckI7O0UyRDEvT0U7RUFDQTtJQUFxQixZekQydUJMO0VGbXhObEI7O0UyRDcvT0U7SUFBc0IsWXpEMnVCTDtFRnN4Tm5COztFMkRoZ1BFO0lBQXFCLFl6RDJ1Qkw7RUZ5eE5sQjs7RTJEbmdQRTtJQUFzQixZekQydUJMO0VGNHhObkI7O0UyRHRnUEU7SUFBdUIsWXpEMnVCTDtFRit4TnBCOztFMkRyZ1BFO0VBQ0E7SUFBb0I7RTNEeWdQdEI7O0UyRHZnUEU7RUFDQTtJQUNJO0lBQ0E7RTNEMGdQTjtBQUNGO0EyRHRnUEE7QUFDQTtFQUVJO0VBQ0E7SUFBb0I7RTNEd2dQdEI7O0UyRHRnUEU7RUFDQTtJQUFvQjtFM0QwZ1B0Qjs7RTJEeGdQRTtFQUNBO0lBQW9CO0UzRDRnUHRCOztFMkQzZ1BFO0lBQW9CO0UzRCtnUHRCOztFMkQ3Z1BFO0VBQ0E7SUFBb0I7RTNEaWhQdEI7O0UyRGhoUEU7SUFBb0I7RTNEb2hQdEI7O0UyRGxoUEU7RUFDQTtJQUFvQjtFM0RzaFB0Qjs7RTJEcmhQRTtJQUFvQjtFM0R5aFB0Qjs7RTJEeGhQRTtJQUFvQjtFM0Q0aFB0Qjs7RTJEM2hQRTtJQUFvQjtFM0QraFB0Qjs7RTJEN2hQRTtFQUNBO0lBQW9CO0UzRGlpUHRCOztFMkRoaVBFO0lBQW9CO0UzRG9pUHRCOztFMkRsaVBFO0VBQ0E7SUFBc0IsWXpEMnJCTjtFRjIyTmxCOztFMkRyaVBFO0lBQXVCLFl6RDJyQk47RUY4Mk5uQjs7RTJEeGlQRTtJQUFzQixZekQyckJOO0VGaTNObEI7O0UyRDNpUEU7SUFBdUIsWXpEMnJCTjtFRm8zTm5COztFMkQ5aVBFO0lBQXdCLFl6RDJyQk47RUZ1M05wQjs7RTJEN2lQRTtFQUNBO0lBQXFCO0UzRGlqUHZCOztFMkQvaVBFO0VBQ0E7SUFDSTtJQUNBO0UzRGtqUE47QUFDRjtBNERsNVBBOzs2RUFBQTtBQUlBO0VBQXVCO0E1RG81UHZCOztBNERsNVBBOztFQUFBO0FBSUE7RUFBaUI7QTVEcTVQakI7O0E0RG41UEE7O0VBQUE7QUFJQTtFQUFzQjtBNURzNVB0Qjs7QTREcDVQQTs7O0VBQUE7QUFLQTtFQUFtQixhMUQ4ZEc7QUZ5N090Qjs7QTREdDVQQTtFQUFvQixhMUQ4ZEc7QUY0N092Qjs7QTREejVQQTtFQUFtQixhMUQ4ZEc7QUYrN090Qjs7QTREMzVQQTtFQUF1QixpQjFEMGREO0FGcThPdEI7O0E0RDk1UEE7RUFBd0IsaUIxRDBkRDtBRnc4T3ZCOztBNERqNlBBO0VBQXVCLGlCMUQwZEQ7QUYyOE90Qjs7QTZEOTZQQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQ0ksaUIzRDJFcUI7RTJEMUVyQixnQjNEODRCb0I7RTJENzRCcEIsVzNEMUNvQjtBRnc5UHhCOztBNkQxNlBBO0VBQ0ksbUIzREVxQjtFMkREckIsZ0IzRDA0Qm9CO0UyRHo0QnBCLFczREdpQjtBRjA2UHJCO0FHLzhMSTtFQUFJLFdEMzlEYTtBRjY2UHJCO0FHaDlMSTtFQUNJLFdEaGhFTztFQ2loRVA7QUhrOUxSOztBNkQvNlBBOzZFQUFBO0FBR0E7RUFDSSxtQjNEVHFCO0UyRFVyQixnQjNEazRCcUI7QUYraU96Qjs7QTZENzZQQTtFQUNJLGlCM0RtRHFCO0UyRGxEckIsZ0IzRDgzQnFCO0FGa2pPekI7O0E2RDU2UEE7RUFDSSxlM0RTZTtFMkRSZixnQjNEVWlCO0FGcTZQckI7O0E2RDM2UEE7NkVBQUE7QUFHQTtFQUFpQjtBN0Q4NlBqQjs7QTZENzZQQTtFQUFrQjtBN0RpN1BsQjs7QTZEaDdQQTtFQUFnQjtBN0RvN1BoQjs7QTZEbDdQQTtFQUFtQjtBN0RzN1BuQjs7QTZEcjdQQTtFQUFrQjtBN0R5N1BsQjs7QTZEdDdQQTs2RUFBQTtBQUdBO0VBQWtCO0E3RHk3UGxCOztBNkR0N1BBOzZFQUFBO0FBR0E7RUFBc0I7QTdEeTdQdEI7O0E2RHg3UEE7RUFBcUI7QTdENDdQckI7O0E2RDM3UEE7RUFBcUI7QTdEKzdQckI7O0E2RDU3UEE7NkVBQUE7QUFHQTtFQUFpQjtBN0QrN1BqQjs7QTZEOTdQQTtFQUFvQjtBN0RrOFBwQjs7QTZEajhQQTtFQUFtQjtBN0RxOFBuQjs7QTZEcDhQQTtFQUFxQjtBN0R3OFByQjs7QTZEdjhQQTtFQUFtQjtBN0QyOFBuQjs7QTZEMThQQTtFQUFtQjtBN0Q4OFBuQjs7QTZENzhQQTtFQUFrQjtBN0RpOVBsQjs7QTZEOThQQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEKzhQSjs7QTZENThQQTtFQUVJO0lBQ0kseUIzRG5Ib0I7STJEb0hwQjtFN0Q4OFBOO0FBQ0Y7QTZEeDhQQTs2RUFBQTtBQUdBO0VBQWdCO0E3RDA4UGhCOztBNkR6OFBBO0VBQWlCO0E3RDY4UGpCOztBNkQ1OFBBO0VBQWtCO0E3RGc5UGxCOztBNkQvOFBBO0VBQW1CO0E3RG05UG5COztBNkRqOVBBO0FBQ0E7RUFFSTtJQUFtQjtFN0RvOVByQjs7RTZEbjlQRTtJQUFvQjtFN0R1OVB0Qjs7RTZEdDlQRTtJQUFxQjtFN0QwOVB2QjtBQUNGO0E2RHY5UEE7QUFDQTtFQUVJO0lBQW1CO0U3RHk5UHJCOztFNkR4OVBFO0lBQW9CO0U3RDQ5UHRCOztFNkQzOVBFO0lBQXFCO0U3RCs5UHZCO0FBQ0Y7QTZENTlQQTtBQUNBO0VBRUk7SUFBbUI7RTdEODlQckI7O0U2RDc5UEU7SUFBb0I7RTdEaStQdEI7O0U2RGgrUEU7SUFBcUI7RTdEbytQdkI7QUFDRjtBNkRqK1BBO0FBQ0E7RUFFSTtJQUFvQjtFN0RtK1B0Qjs7RTZEbCtQRTtJQUFxQjtFN0RzK1B2Qjs7RTZEcitQRTtJQUFzQjtFN0R5K1B4QjtBQUNGO0E2RHQrUEE7O0VBQUE7QUFJQTtFQUFlO0E3RHcrUGY7O0E2RHYrUEE7RUFBa0I7QTdEMitQbEI7O0E2RDErUEE7RUFBa0I7QTdEOCtQbEI7O0E2RDcrUEE7RUFBb0I7QTdEaS9QcEI7O0E2RDkrUEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWtCO0E3RGcvUGxCOztBNkQ5K1BBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RnL1BKOztBNkQ3K1BBO0FBQ0E7O0VBQ3NCO0E3RGkvUHRCOztBNkQ5K1BBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdEZy9QSjs7QTZENytQQTtBQUNBOztFQUNtQjtBN0RpL1BuQjs7QThEbHRRQTs7NkVBQUE7QUFJQTtFQUF3QixxQjVEVVI7TzREVlEsZ0I1RFVSO0FGMnNRaEI7O0E4RG50UUE7QUFDQTtFQUVJO0lBQXdCLHFCNURRTDtTNERSSyxnQjVEUUw7RUY4c1FyQjtBQUNGO0E4RG50UUE7O0VBQUE7QUFJQTtFQUE0QjtBOURxdFE1Qjs7QThEbHRRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtPQUFBO0VBQ0E7RUFDQTtPQUFBO0E5RG10UUo7O0E4RGh0UUE7QUFDQTtFQUVJO0lBQ0k7U0FBQTtFOURrdFFOO0FBQ0Y7QThEN3NRQTs2RUFBQTtBQUdBO0VBQWlCO09BQUE7QTlEK3NRakI7O0E4RDlzUUE7RUFBaUI7T0FBQTtBOURrdFFqQjs7QThEanRRQTtFQUFpQjtPQUFBO0E5RHF0UWpCOztBOERwdFFBO0VBQWlCO09BQUE7QTlEd3RRakI7O0E4RHZ0UUE7RUFBaUI7T0FBQTtBOUQydFFqQjs7QThEenRRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFOUQ0dFF0Qjs7RThEM3RRRTtJQUFvQjtTQUFBO0U5RCt0UXRCOztFOEQ5dFFFO0lBQW9CO1NBQUE7RTlEa3VRdEI7O0U4RGp1UUU7SUFBb0I7U0FBQTtFOURxdVF0Qjs7RThEcHVRRTtJQUFvQjtTQUFBO0U5RHd1UXRCO0FBQ0Y7QThEcnVRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFOUR1dVF0Qjs7RThEdHVRRTtJQUFvQjtTQUFBO0U5RDB1UXRCOztFOER6dVFFO0lBQW9CO1NBQUE7RTlENnVRdEI7O0U4RDV1UUU7SUFBb0I7U0FBQTtFOURndlF0Qjs7RThEL3VRRTtJQUFvQjtTQUFBO0U5RG12UXRCO0FBQ0Y7QThEaHZRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFOURrdlF0Qjs7RThEanZRRTtJQUFvQjtTQUFBO0U5RHF2UXRCOztFOERwdlFFO0lBQW9CO1NBQUE7RTlEd3ZRdEI7O0U4RHZ2UUU7SUFBb0I7U0FBQTtFOUQydlF0Qjs7RThEMXZRRTtJQUFvQjtTQUFBO0U5RDh2UXRCO0FBQ0Y7QThEM3ZRQTtBQUNBO0VBRUk7SUFBcUI7U0FBQTtFOUQ2dlF2Qjs7RThENXZRRTtJQUFxQjtTQUFBO0U5RGd3UXZCOztFOEQvdlFFO0lBQXFCO1NBQUE7RTlEbXdRdkI7O0U4RGx3UUU7SUFBcUI7U0FBQTtFOURzd1F2Qjs7RThEcndRRTtJQUFxQjtTQUFBO0U5RHl3UXZCO0FBQ0Y7QThEdHdRQTs7NkVBQUE7QUFJQTtFQUFrQjtPQUFBO0E5RHd3UWxCOztBK0R4M1FBOzs2RUFBQTtBQUlBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EeTNRSjs7QStEdDNRQTtFQUFrQjtBL0QwM1FsQjs7QStEdjNRQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9EdzNRSjs7QWdFdDVRQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQXlCLHNCOURvQ0w7QUZtM1FwQjs7QWdFdDVRQTtFQUF1Qix5QjlEUEc7QUZpNlExQjs7QWdFejVRQTtFQUF5Qix5QjlESEc7QUZnNlE1Qjs7QWdFNTVRQTtFQUEyQixzQjlEcUNHO0FGMjNROUI7O0FnRTc1UUE7NkVBQUE7QUFHQTs7OztFQUlJO0VBQ0E7QWhFKzVRSjs7QWdFNTVRQTtFQUF1QjtBaEVnNlF2Qjs7QWdFLzVRQTtFQUF5QjtBaEVtNlF6Qjs7QWdFbDZRQTtFQUEyQjtBaEVzNlEzQjs7QWdFcjZRQTtFQUE0QjtBaEV5NlE1Qjs7QWdFdDZRQTs2RUFBQTtBQUdBO0VBQTBCO0FoRXk2UTFCOztBZ0V4NlFBO0VBQTRCO0FoRTQ2UTVCOztBZ0UzNlFBO0VBQTJCO0FoRSs2UTNCOztBZ0U5NlFBO0VBQTZCO0FoRWs3UTdCOztBZ0VqN1FBO0VBQStCO0FoRXE3US9COztBZ0VwN1FBO0VBQThCO0FoRXc3UTlCOztBZ0V2N1FBO0VBQTZCO0FoRTI3UTdCOztBZ0UxN1FBO0VBQStCO0FoRTg3US9COztBZ0U3N1FBO0VBQThCO0FoRWk4UTlCOztBZ0U5N1FBOzZFQUFBO0FBR0E7RUFBMEI7QWhFaThRMUI7O0FnRTk3UUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO1VBQUE7QWhFKzdRSjs7QWdFNTdRQTs7RUFBQTtBQUlBO0VBQ0k7SUFBdUI7RWhFKzdRekI7QUFDRjtBZ0U1N1FBOzZFQUFBO0FBR0E7QUFDQTtFQUVJO0lBQTBCO0VoRTY3UTVCO0FBQ0Y7QWdFMTdRQTtBQUNBO0VBRUk7SUFBMEI7RWhFNDdRNUI7QUFDRjtBZ0V6N1FBO0FBQ0E7RUFFSTtJQUEwQjtFaEUyN1E1QjtBQUNGO0FnRXg3UUE7QUFDQTtFQUVJO0lBQTBCO0VoRTA3UTVCO0FBQ0Y7QWdFdDdRQTs2RUFBQTtBQUdBO0VBQWdDO0FoRXc3UWhDOztBZ0V2N1FBO0VBQThCO0FoRTI3UTlCOztBZ0UxN1FBO0VBQStCO0FoRTg3US9COztBZ0U3N1FBO0VBQThCO0FoRWk4UTlCOztBZ0VoOFFBO0VBQStCO0FoRW84US9COztBZ0VuOFFBO0VBQW1DO0FoRXU4UW5DOztBZ0V0OFFBO0VBQWtDO0FoRTA4UWxDOztBZ0V6OFFBO0VBQWtDO0FoRTY4UWxDOztBZ0U1OFFBO0VBQWtDO0FoRWc5UWxDOztBZ0UvOFFBO0VBQWtDO0FoRW05UWxDOztBZ0VsOVFBO0VBQWlDO0FoRXM5UWpDOztBZ0VyOVFBO0VBQTJCO0FoRXk5UTNCOztBZ0V4OVFBO0VBQWtDO0FoRTQ5UWxDOztBZ0UzOVFBO0VBQTZCO0FoRSs5UTdCOztBZ0U5OVFBO0VBQWtDO0FoRWsrUWxDOztBaUUxbFJBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBLG1CL0RPWTtBRm9sUmhCOztBaUV4bFJBO0VBQTBCLGdCL0RJVjtBRndsUmhCOztBaUUxbFJBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FqRTRsUko7O0FpRXpsUkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0Esa0IvRGJZO0UrRGNaO0FqRTJsUko7O0FpRXhsUkE7RUFDSTtFQUNBLGlCL0RuQlk7RStEb0JaO0FqRTJsUko7O0FpRXhsUkE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxrQi9ENUJRO0krRDZCUjtFakUwbFJOOztFaUV2bFJFO0lBQ0k7SUFDQSxpQi9EbENRO0krRG1DUjtFakUwbFJOO0FBQ0Y7QWlFdGxSQTtBQUNBO0VBRUk7SUFDSTtJQUNBLGtCL0Q3Q1E7SStEOENSO0VqRXVsUk47O0VpRXBsUkU7SUFDSTtJQUNBLGlCL0RuRFE7SStEb0RSO0VqRXVsUk47QUFDRjtBaUVubFJBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RWpFb2xSTjs7RWlFamxSRTtJQUNJO0lBQ0E7RWpFb2xSTjs7RWlFamxSRTs7OztJQUdvQixrQi9EdEVEO0VGMnBSckI7O0VpRW5sUkU7Ozs7SUFHcUIsaUIvRDNFRjtFRmtxUnJCO0FBQ0Y7QWlFcGxSQTtBQUNBO0VBRUk7SUFDSTtJQUNBLGtCL0RwRmU7SStEcUZmO0VqRXFsUk47O0VpRWxsUkU7SUFDSTtJQUNBLGlCL0QxRmU7SStEMkZmO0VqRXFsUk47QUFDRjtBa0VodFJBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0FBQ0E7O0VBRTBEO0FsRWd0UjFEOztBa0Uvc1JBO0VBQTREO0FsRW10UjVEOztBa0VqdFJBOztFQUFBO0FBSUE7RUFBVTtBbEVvdFJWOztBbUV0clJBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QW5Fc3JSSjs7QW1FbnJSQTs7RUFBQTtBQUlBO0VBQTBCO0FuRXNyUjFCOztBbUVuclJBOztFQUFBO0FBSUE7RUFDSSxhakV3NkJzQjtFaUV2NkJ0QixhakV3NkJ1QjtFaUV2NkJ2QjtFQUNBO0VBQ0E7RUFDQTtBbkVxclJKOztBbUVoclJBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFDSTtFQUNBO0FuRWlyUko7O0FtRTlxUkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBbkVpclJKOztBbUU3cVJBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQjtBbkUrcVJqQjs7QW1FOXFSQTtFQUFrQjtBbkVrclJsQjs7QW1FaHJSQTtBQUNBO0VBQXVCO0FuRW9yUnZCOztBbUVqclJBOzZFQUFBO0FBR0E7RUFBc0I7QW5Fb3JSdEI7O0FtRWxyUkE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0FuRW9yUko7O0FtRWpyUkE7RUFBa0M7QW5FcXJSbEM7O0FtRWxyUkE7NkVBQUE7QUFHQTtFQUFhO0FuRXFyUmI7O0FtRXByUkE7RUFBc0I7QW5Fd3JSdEI7O0FtRXJyUkE7NkVBQUE7QUFHQTtFQUFvQjtBbkV3clJwQjs7QW1FdnJSQTtFQUFxQjtBbkUyclJyQjs7QW1FMXJSQTtFQUEyQjtBbkU4clIzQjs7QW1FM3JSQTs2RUFBQTtBQUdBOzs7Ozs7OztFQUFBO0FBVUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkU0clJKOztBbUV6clJBO0VBQ0k7RUFDQTtBbkU0clJKOztBbUV4clJBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBSTJCO0FuRTByUjNCOztBbUV4clJBOzs7RUFBQTtBQUtBOztFQUN3QjtBbkUyclJ4Qjs7QW1FenJSQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRTJyUko7O0FtRXhyUkE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRTByUko7O0FtRXRyUkE7NkVBQUE7QUFHQTtFQUFvQjtBbkV5clJwQjs7QW1FeHJSQTtFQUFrQjtBbkU0clJsQjs7QW1FM3JSQTtFQUFxQixrQmpFcXdCVTtBRjA3UC9COztBbUU3clJBOztFQUFBO0FBSUE7RUFBdUM7QW5FZ3NSdkM7O0FtRTdyUkE7NkVBQUE7QUFHQTtFQUF1Qix5Q2pFaXhCRztBRis2UDFCOztBbUUvclJBO0VBQXdCLDBDakVpeEJHO0FGazdQM0I7O0FtRWxzUkE7RUFBdUIsMkNqRWl4Qkc7QUZxN1AxQjs7QW1FcnNSQTtFQUF3QiwyQ2pFaXhCRztBRnc3UDNCOztBbUV2c1JBOztFQUFBO0FBSUE7RUFBaUM7QW5FMHNSakM7O0FtRXhzUkE7RUFBbUMseUNqRXN3QlQ7QUZzOFAxQjs7QW1FM3NSQTtFQUFvQywwQ2pFc3dCVDtBRnk4UDNCOztBbUU5c1JBO0VBQW1DLDJDakVzd0JUO0FGNDhQMUI7O0FtRWp0UkE7RUFBb0MsMkNqRXN3QlQ7QUYrOFAzQjs7QW1FbHRSQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFFSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VuRWt0Uk47O0VtRS9zUkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFlqRStzQm1CO0lpRTlzQm5CLG1CakUrc0IwQjtJaUU5c0IxQixnQmpFK3NCdUI7SWlFOXNCdkI7RW5Fa3RSTjs7RW1FOXNSRTtFQUNBO0lBQTRCO0VuRWt0UjlCO0FBQ0Y7QW1FOXNSQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTs7RUFHSTtFQUNBLGtCakVzckJtQjtFaUVyckJuQjtFQUNBLGdCakVxckJnQjtFaUVwckJoQjtFaEUrd0RBO0FIKzdOSjs7QW1FMXNSQTtBQUNBO0VBRUU7O0lBQzhDO0VuRTZzUjlDO0FBQ0Y7QW1FMXNSQTtBQUNBO0VBRUU7SUFBOEM7RW5FNHNSOUM7QUFDRjtBbUV4c1JBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGlCakV0UHFCO0VpRXVQckIsa01qRTlSaUI7RWlFK1JqQixXakV6V1c7RWlFMFdYO0VBQ0E7QW5Fd3NSSjs7QW1FcHNSQTtBQUNBOztFQUVJLFdqRWxYVztFaUVtWFg7RUFDQTtFQUNBO0FuRXVzUko7O0FtRW5zUkE7RUFBbUI7QW5FdXNSbkI7O0FtRXBzUkE7NkVBQUE7QUFHQTtFQUFlO0FuRXVzUmY7O0FtRXBzUkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFFYTtBbkVxc1JiOztBbUVuc1JBO0FBQ0E7RUFBa0I7QW5FdXNSbEI7O0FtRXBzUkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWUsNkNqRTJtQk87QUYybFF0Qjs7QW1FbnNSQTs2RUFBQTtBQUdBO0VBQXFCO0FuRXNzUnJCOztBbUVyc1JBO0VBQW1CO0FuRXlzUm5COztBbUV4c1JBO0VBQW9CO0FuRTRzUnBCOztBbUUzc1JBO0VBQW1CO0FuRStzUm5COztBbUU5c1JBO0VBQW9CO0FuRWt0UnBCOztBbUVqdFJBO0VBQXdCO0FuRXF0UnhCOztBbUVwdFJBO0VBQXVCO0FuRXd0UnZCOztBbUV2dFJBO0VBQXVCO0FuRTJ0UnZCOztBbUUxdFJBO0VBQXVCO0FuRTh0UnZCOztBbUU3dFJBO0VBQXVCO0FuRWl1UnZCOztBbUVodVJBO0VBQXNCO0FuRW91UnRCOztBbUVudVJBO0VBQWdCO0FuRXV1UmhCOztBbUV0dVJBO0VBQXVCO0FuRTB1UnZCOztBbUV6dVJBO0VBQWtCO0FuRTZ1UmxCOztBbUU1dVJBO0VBQXVCO0FuRWd2UnZCOztBbUU3dVJBOzRFQUFBO0FBR0E7RUFBdUI7QW5FZ3ZSdkI7O0FtRTd1UkE7NEVBQUE7QUFHQTtFQUFnQztBbkVndlJoQzs7QW1FL3VSQTtFQUFrQztBbkVtdlJsQzs7QW1FbHZSQTtFQUFpQztBbkVzdlJqQzs7QW1FcnZSQTtFQUFtQztBbkV5dlJuQzs7QW1FeHZSQTtFQUFvQztBbkU0dlJwQzs7QW1FM3ZSQTtFQUFtQztBbkUrdlJuQzs7QW1FOXZSQTtFQUFxQztBbkVrd1JyQzs7QW1FandSQTtFQUFvQztBbkVxd1JwQzs7QW9FcHNTQTs7NkVBQUE7QUFJQTtFQUFXO0FwRXVzU1g7O0FvRXRzU0E7RUFBa0I7QXBFMHNTbEI7O0FvRXhzU0E7O0VBQUE7QUFJQTs7OztFQUd5QjtBcEUyc1N6Qjs7QW9FeHNTQTs2RUFBQTtBQUdBOzs7RUFBQTtBQU1BO0VBQWdCO0FwRXlzU2hCOztBb0V4c1NBO0VBQWtCO0FwRTRzU2xCOztBb0Uzc1NBO0VBQWlCO0FwRStzU2pCOztBb0U5c1NBO0VBQW1CO0FwRWt0U25COztBb0VqdFNBO0VBQWtCO0FwRXF0U2xCOztBb0VsdFNBO0FBQ0E7RUFFSTtJQUFtQjtFcEVxdFNyQjs7RW9FcHRTRTtJQUFxQjtFcEV3dFN2Qjs7RW9FdnRTRTtJQUFvQjtFcEUydFN0Qjs7RW9FMXRTRTtJQUFzQjtFcEU4dFN4Qjs7RW9FN3RTRTtJQUFxQjtFcEVpdVN2QjtBQUNGO0FvRTl0U0E7QUFDQTtFQUVJO0lBQW1CO0VwRWd1U3JCOztFb0UvdFNFO0lBQXFCO0VwRW11U3ZCOztFb0VsdVNFO0lBQW9CO0VwRXN1U3RCOztFb0VydVNFO0lBQXNCO0VwRXl1U3hCOztFb0V4dVNFO0lBQXFCO0VwRTR1U3ZCO0FBQ0Y7QW9FenVTQTtBQUNBO0VBRUk7SUFBbUI7RXBFMnVTckI7O0VvRTF1U0U7SUFBcUI7RXBFOHVTdkI7O0VvRTd1U0U7SUFBb0I7RXBFaXZTdEI7O0VvRWh2U0U7SUFBc0I7RXBFb3ZTeEI7O0VvRW52U0U7SUFBcUI7RXBFdXZTdkI7QUFDRjtBb0VwdlNBO0FBQ0E7RUFFSTtJQUFvQjtFcEVzdlN0Qjs7RW9FcnZTRTtJQUFzQjtFcEV5dlN4Qjs7RW9FeHZTRTtJQUFxQjtFcEU0dlN2Qjs7RW9FM3ZTRTtJQUF1QjtFcEUrdlN6Qjs7RW9FOXZTRTtJQUFzQjtFcEVrd1N4QjtBQUNGO0FvRS92U0E7OztFQUFBO0FBTUE7RUFBbUI7QXBFZ3dTbkI7O0FvRS92U0E7RUFBZTtBcEVtd1NmOztBb0Vsd1NBO0VBQWtCO0FwRXN3U2xCOztBb0Vyd1NBO0VBQWtCO0FwRXl3U2xCOztBb0V0d1NBOzZFQUFBO0FBSUE7RUFBZTtBcEV3d1NmOztBb0V2d1NBO0VBQXVCO0FwRTJ3U3ZCOztBb0Uxd1NBO0VBQWtCO0FwRTh3U2xCOztBb0U3d1NBO0VBQTBCO0FwRWl4UzFCOztBb0U5d1NBOzZFQUFBO0FBSUE7RUFBa0I7QXBFZ3hTbEI7O0FvRS93U0E7RUFBZ0I7QXBFbXhTaEI7O0FvRWx4U0E7RUFBd0I7QXBFc3hTeEI7O0FvRXB4U0E7OztFQUFBO0FBTUE7RUFBd0I7QXBFc3hTeEI7O0FvRXJ4U0E7RUFBb0I7QXBFeXhTcEI7O0FvRXh4U0E7RUFBdUI7QXBFNHhTdkI7O0FvRTN4U0E7RUFBdUI7QXBFK3hTdkI7O0FvRTl4U0E7RUFBd0I7QXBFa3lTeEI7O0FvRWp5U0E7RUFBdUI7QXBFcXlTdkI7O0FvRWx5U0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0FwRW95U2pCOztBb0VueVNBO0VBQWdCO0FwRXV5U2hCOztBb0VweVNBO0FBQ0E7RUFFSTtJQUFvQjtFcEV1eVN0Qjs7RW9FdHlTRTtJQUFtQjtFcEUweVNyQjtBQUNGO0FvRXZ5U0E7QUFDQTtFQUVJO0lBQW9CO0VwRXl5U3RCOztFb0V4eVNFO0lBQW1CO0VwRTR5U3JCO0FBQ0Y7QW9FenlTQTtBQUNBO0VBRUk7SUFBb0I7RXBFMnlTdEI7O0VvRTF5U0U7SUFBbUI7RXBFOHlTckI7QUFDRjtBb0UzeVNBO0FBQ0E7RUFFSTtJQUFxQjtFcEU2eVN2Qjs7RW9FNXlTRTtJQUFvQjtFcEVnelN0QjtBQUNGO0FvRTV5U0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7O0VBQUE7QUFLQTtFQUFnQjtBcEU0eVNoQjs7QW9FMXlTQTs7O0VBQUE7QUFLQTtFQUFnQjtBcEU2eVNoQjs7QW9FM3lTQTs7O0VBQUE7QUFLQTtFQUFhO0FwRTh5U2I7O0FxRXg5U0E7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUFhLG1CbkV0Q0c7QUZnZ1RoQjs7QXFFejlTQTtFQUFpQjtBckU2OVNqQjs7QXFFMzlTQTtFQUFpQjtBckUrOVNqQjs7QXFFOTlTQTtFQUFvQjtBckVrK1NwQjs7QXFFaitTQTtFQUFrQjtBckVxK1NsQjs7QXFFcCtTQTtFQUFtQjtBckV3K1NuQjs7QXFFcitTQTs2RUFBQTtBQUdBO0VBQW1CLG1CbkV5Rkc7QUYrNFN0Qjs7QXFFditTQTtFQUF1QjtBckUyK1N2Qjs7QXFFeitTQTtFQUF1QjtBckU2K1N2Qjs7QXFFNStTQTtFQUEwQjtBckVnL1MxQjs7QXFFLytTQTtFQUF3QjtBckVtL1N4Qjs7QXFFbC9TQTtFQUF5QjtBckVzL1N6Qjs7QXFFbi9TQTs2RUFBQTtBQUdBO0VBQW9CLG1CbkVpREc7QUZxOFN2Qjs7QXFFci9TQTtFQUF3QjtBckV5L1N4Qjs7QXFFdi9TQTtFQUF3QjtBckUyL1N4Qjs7QXFFMS9TQTtFQUEyQjtBckU4L1MzQjs7QXFFNy9TQTtFQUF5QjtBckVpZ1R6Qjs7QXFFaGdUQTtFQUEwQjtBckVvZ1QxQjs7QXFFamdUQTs2RUFBQTtBQUdBO0VBQW1CLG1CbkVxQ0k7QUYrOVN2Qjs7QXFFbmdUQTtFQUF1QjtBckV1Z1R2Qjs7QXFFcmdUQTtFQUF1QjtBckV5Z1R2Qjs7QXFFeGdUQTtFQUEwQjtBckU0Z1QxQjs7QXFFM2dUQTtFQUF3QjtBckUrZ1R4Qjs7QXFFOWdUQTtFQUF5QjtBckVraFR6Qjs7QXFFaGhUQTtBQUNBO0VBRUk7SUFBbUIsbUJuRXJDRDtFRndqVHBCOztFcUVsaFRFO0lBQXVCO0VyRXNoVHpCOztFcUVwaFRFO0lBQXVCO0VyRXdoVHpCOztFcUV2aFRFO0lBQTBCO0VyRTJoVDVCOztFcUUxaFRFO0lBQXdCO0VyRThoVDFCOztFcUU3aFRFO0lBQXlCO0VyRWlpVDNCO0FBQ0Y7QXFFN2hUQTs2RUFBQTtBQUdBO0VBQW9CLG1CbkVuREU7QUZrbFR0Qjs7QXFFOWhUQTtFQUF3QjtBckVraVR4Qjs7QXFFaGlUQTtFQUF3QjtBckVvaVR4Qjs7QXFFbmlUQTtFQUEyQjtBckV1aVQzQjs7QXFFdGlUQTtFQUF5QjtBckUwaVR6Qjs7QXFFemlUQTtFQUEwQjtBckU2aVQxQjs7QXFFM2lUQTtBQUNBO0VBRUk7SUFBb0Isb0JuRWlnQkQ7RUY2aVNyQjs7RXFFN2lURTtJQUF3QjtFckVpalQxQjs7RXFFL2lURTtJQUF3QjtFckVtalQxQjs7RXFFbGpURTtJQUEyQjtFckVzalQ3Qjs7RXFFcmpURTtJQUF5QjtFckV5alQzQjs7RXFFeGpURTtJQUEwQjtFckU0alQ1QjtBQUNGO0FxRXhqVEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QXJFeWpUSjs7QXFFdGpUQTtFQUFzQjtBckUwalR0Qjs7QXFFempUQTtFQUF5QjtBckU2alR6Qjs7QXFFNWpUQTtFQUF1QjtBckVna1R2Qjs7QXFFL2pUQTtFQUF3QjtBckVta1R4Qjs7QXFFamtUQTtFQUNJO0VBQ0E7QXJFb2tUSjs7QXFFamtUQTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VyRW1rVE47O0VxRWhrVEU7SUFBMEI7RXJFb2tUNUI7O0VxRW5rVEU7SUFBMkI7RXJFdWtUN0I7QUFDRjtBcUVwa1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXJFcWtUTjs7RXFFbGtURTtJQUEwQjtFckVza1Q1Qjs7RXFFcmtURTtJQUEyQjtFckV5a1Q3QjtBQUNGO0FxRXRrVEE7QUFDQTtFQUVJO0lBQ0k7SUFDQTtFckV1a1ROOztFcUVwa1RFO0lBQTBCO0VyRXdrVDVCOztFcUV2a1RFO0lBQTJCO0VyRTJrVDdCO0FBQ0Y7QXFFeGtUQTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VyRXlrVE47O0VxRXRrVEU7SUFBMkI7RXJFMGtUN0I7O0VxRXprVEU7SUFBNEI7RXJFNmtUOUI7QUFDRjtBcUV6a1RBOzZFQUFBO0FBR0M7RUFBb0I7QXJFMmtUckI7O0FxRTFrVEM7RUFBd0I7QXJFOGtUekI7O0FxRTdrVEM7RUFBMkI7QXJFaWxUNUI7O0FxRWhsVEM7RUFBeUI7QXJFb2xUMUI7O0FxRW5sVEM7RUFBMEI7QXJFdWxUM0I7O0FxRXJsVEM7RUFDSTtFQUNBO0FyRXdsVEw7O0FxRXJsVEM7O0VBQytDO0FyRXlsVGhEOztBcUV4bFRDO0VBQTZDO0FyRTRsVDlDOztBcUUxbFRBO0FBQ0E7RUFFSTtJQUE0QjtFckU2bFQ5Qjs7RXFFNWxURTtJQUE2QjtFckVnbVQvQjtBQUNGO0FxRTdsVEE7QUFDQTtFQUVJO0lBQTRCO0VyRStsVDlCOztFcUU5bFRFO0lBQTZCO0VyRWttVC9CO0FBQ0Y7QXFFL2xUQTtBQUNBO0VBRUk7SUFBNEI7RXJFaW1UOUI7O0VxRWhtVEU7SUFBNkI7RXJFb21UL0I7QUFDRjtBcUVqbVRBO0FBQ0E7RUFFSTtJQUE2QjtFckVtbVQvQjs7RXFFbG1URTtJQUE4QjtFckVzbVRoQztBQUNGO0FzRS96VEE7OzZFQUFBO0FBSUE7RUFBYyxhcEVVRTtBRnV6VGhCOztBc0UvelRBO0FBQ0E7RUFFSTtJQUFjLGFwRVFLO0VGMHpUckI7QUFDRjtBc0U5elRBOzZFQUFBO0FBR0E7RUFBb0IsYXBFdkJFO0FGdTFUdEI7O0FzRTd6VEE7NkVBQUE7QUFHQTtFQUFvQixhcEVUSjtBRnkwVGhCOztBc0U5elRBO0FBQ0E7RUFFSTtJQUFvQixhcEV5T0Y7RUZ3bFRwQjtBQUNGO0FzRTd6VEE7NkVBQUE7QUFHQTtFQUFxQjtBdEUrelRyQjs7QXNFOXpUQTtFQUF5QjtBdEVrMFR6Qjs7QXNFajBUQTtFQUE0QjtBdEVxMFQ1Qjs7QXNFcDBUQTtFQUEwQjtBdEV3MFQxQjs7QXNFdjBUQTtFQUEyQjtBdEUyMFQzQjs7QXNFejBUQTtFQUNJO0VBQ0E7QXRFNDBUSjs7QXNFejBUQTtFQUNJO0VBQ0E7QXRFNDBUSjs7QXVFOTJUQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7O0VBS0k7RUFDQTtFQUNBO0F2RTYyVEo7O0F1RXoyVEE7NkVBQUE7QUFHQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0F2RTIyVEo7O0F1RXgyVEE7RUFDSTtFQUNBO0VBQ0E7QXZFMjJUSjs7QXVFeDJUQTtFQUNJO0VBQ0E7RUFDQTtBdkUyMlRKOztBdUV4MlRBO0VBQ0k7RUFDQTtFQUNBO0F2RTIyVEo7O0F1RXYyVEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtBdkV3MlRKOztBdUVyMlRBO0FBQ0E7O0VBRUk7RUFDQTtBdkV3MlRKOztBdUVyMlRBO0VBQTJCO0F2RXkyVDNCOztBdUV4MlRBO0VBQTRCO0F2RTQyVDVCOztBdUUxMlRBO0VBQ0k7RUFDQTtFQUFBO0VBQUE7QXZFNjJUSjs7QXVFMTJUQTtFQUNJO0VBQ0E7RUFBQTtFQUFBO0F2RTYyVEo7O0F1RTEyVEE7QUFDQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0F2RTYyVEo7O0F1RTEyVEE7RUFBMEI7QXZFODJUMUI7O0F1RTcyVEE7RUFBNkI7QXZFaTNUN0I7O0F1RTkyVEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFZzNUSjs7QXVFNTJUQTs2RUFBQTtBQUdBO0VBQXdCO0F2RSsyVHhCOztBdUU3MlRBO0VBQXdCO0F2RWkzVHhCOztBdUUvMlRBO0VBQXFCO0F2RW0zVHJCOztBdUVqM1RBO0VBQXVCO0F2RXEzVHZCOztBdUVsM1RBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsWXJFbkxrQjtBRnNpVXRCOztBdUVoM1RBO0VBQXdDO0F2RW8zVHhDOztBdUVsM1RBOztFQUN3RDtBdkVzM1R4RDs7QXVFcDNUQTs7RUFDK0M7QXZFdzNUL0M7O0F1RXQzVEE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsWXJFaExZO0FGd2lVaEI7O0F1RXIzVEE7RUFBeUM7QXZFeTNUekM7O0F1RXYzVEE7O0VBQ3lEO0F2RTIzVHpEOztBdUV6M1RBOztFQUNnRDtBdkU2M1RoRDs7QXVFMzNUQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxZckVqTVk7QUY4alVoQjs7QXVFMTNUQTtFQUF3QztBdkU4M1R4Qzs7QXVFNTNUQTs7RUFDd0Q7QXZFZzRUeEQ7O0F1RTkzVEE7O0VBQytDO0F2RWs0VC9DOztBdUVoNFRBO0FBQ0E7RUFFSTtJQUNJO0lBQ0EsWXJFc2pCa0I7RUY0MFN4Qjs7RXVFLzNURTtJQUF3QztFdkVtNFQxQzs7RXVFajRURTs7SUFDd0Q7RXZFcTRUMUQ7O0V1RW40VEU7O0lBQytDO0V2RXU0VGpEO0FBQ0Y7QXdFbG1VQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0F4RWdtVUo7O0F3RTdsVUE7O0VBQUE7QUFJQTtFQUE4QjtBeEVnbVU5Qjs7QXdFN2xVQTs2RUFBQTtBQUdBOzs7Ozs7OztFQUFBO0FBVUE7OztFQUdJO0VBQ0E7RUFDQTtBeEU4bFVKOztBd0UzbFVBOztFQUFBO0FBSUE7OztFQUVzRDtBeEU4bFV0RDs7QXdFNWxVQTs7RUFBQTtBQUlBO0VBQTBCO0F4RStsVTFCOztBd0U5bFVBO0VBQTRCO0F4RWttVTVCOztBd0VobVVBO0FBQ0E7OztFQUdJO0VBQ0E7QXhFbW1VSjs7QXdFaG1VQTs7O0VBR0k7RUFDQTtBeEVtbVVKOztBd0VobVVBOztFQUFBO0FBSUE7RUFBMkI7QXhFbW1VM0I7O0F3RWxtVUE7RUFBOEI7QXhFc21VOUI7O0F3RXJtVUE7RUFBNEI7QXhFeW1VNUI7O0F3RXhtVUE7RUFBNkI7QXhFNG1VN0I7O0F3RTFtVUE7RUFBaUM7QXhFOG1VakM7O0F3RTdtVUE7RUFBb0M7QXhFaW5VcEM7O0F3RWhuVUE7RUFBa0M7QXhFb25VbEM7O0F3RW5uVUE7RUFBbUM7QXhFdW5VbkM7O0F3RXJuVUE7RUFBa0M7QXhFeW5VbEM7O0F3RXhuVUE7RUFBcUM7QXhFNG5VckM7O0F3RTNuVUE7RUFBbUM7QXhFK25VbkM7O0F3RTluVUE7RUFBb0M7QXhFa29VcEM7O0F3RWhvVUE7QUFDQTs7O0VBR0k7RUFDQTtBeEVtb1VKOztBd0UvblVBOzZFQUFBO0FBR0E7RUFBd0I7QXhFa29VeEI7O0F3RS9uVUE7NkVBQUE7QUFHQTtFQUFzQix5QnRFczJCSztBRjR4UzNCOztBeUV2d1VBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBOztFQUNhO0F6RXl3VWI7O0F5RXZ3VUE7QUFDQTtFQUVJO0lBQWdCO0V6RTB3VWxCO0FBQ0Y7QXlFdndVQTtBQUNBO0VBRUk7SUFBZ0I7RXpFeXdVbEI7QUFDRjtBeUV0d1VBO0FBQ0E7RUFFSTtJQUFnQjtFekV3d1VsQjtBQUNGO0F5RXJ3VUE7QUFDQTtFQUVJO0lBQWlCO0V6RXV3VW5CO0FBQ0Y7QXlFcHdVQTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtJQUFpQjtFekVxd1VuQjtBQUNGO0F5RWx3VUE7QUFDQTtFQUVJO0lBQWlCO0V6RW93VW5CO0FBQ0Y7QXlFandVQTtBQUNBO0VBRUk7SUFBaUI7RXpFbXdVbkI7QUFDRjtBeUVod1VBO0FBQ0E7RUFFSTtJQUFrQjtFekVrd1VwQjtBQUNGO0F5RTl2VUE7NkVBQUE7QUFHQTtFQUFnQjtBekVnd1VoQjs7QXlFN3ZVQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpFOHZVSjs7QXlFM3ZVQTs7RUFBQTtBQUlBO0FBQ0E7RUFDSTtFQUNBO0F6RTZ2VUo7O0F5RTF2VUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXpFNHZVSjs7QXlFenZVQTs7RUFBQTtBQUlBO0VBQTJCO0F6RTR2VTNCOztBeUV6dlVBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtJQUFtQjtFekUydlVyQjtBQUNGO0F5RXp2VUE7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFBcUI7QXpFMnZVckI7O0F5RXp2VUE7RUFDSTtJQUFxQjtFekU2dlV2QjtBQUNGO0EwRTE0VUE7OzZFQUFBO0FBTUE7Ozs7RUFBQTtBQU00QztFdkVxSXhDLCtCRDdKbUI7QUZpNlV2QjtBRzN2VUk7Ozs7Ozs7Ozs7OztFQUVJLFdEM0tlO0FGazdVdkI7QUdud1VJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUksV0RuTGU7QUZzOVV2QjtBRzN4VUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksK0JEM0xlO0VDK0luQixvQ0Q2UjhCO0FGaWtVbEM7QUcxeVVJO0VBQUssV0R0TWM7QUZtL1V2QjtBR3Z5VUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVdJLFdEdk5lO0FGb21WdkI7QUc3MlVJO0VBNUZtQyxXRDNKaEI7QUZ1bVZ2QjtBRzUyVUk7RUEvRjBDLCtCRHpKdkI7QUZ1bVZ2QjtBR3YyVUk7RUFDSSwwQ0RuSGdCO0FGNDlVeEI7QUdqaFRJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQ3aUNxQjtBRjBrVjdCO0FHemhUSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlJLCtCRG5tQ2U7QUY0cFZ2QjtBR3JqVEk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJSSwrQkQ3akNxQjtBRmtwVjdCO0FHamxUSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlJLFdEdG5DZTtBRnV1VnZCO0FHenZUSTtFQUNJLDZDRDkxQmdCO0FGeWxWeEI7QUd2dlRJO0VBQ0ksMkNEbjJCZ0I7QUY0bFZ4QjtBR3J2VEk7Ozs7Ozs7Ozs7OztFQUVJLDZDRHoyQmdCO0FGMG1WeEI7QUd2aFVJO0VJaHRCQTtBUDB1Vko7QUdyaFVJOzs7Ozs7Ozs7Ozs7RUFFSSw2Q0QxbEJnQjtBRjJuVnhCO0FHN2hVSTtFQUNJLDBDRC9sQmdCO0FGOG5WeEI7QUczaFVJO0VBQ0ksMkNEcG1CZ0I7QUZpb1Z4QjtBR3JwVEk7RUFBNEI7QUh3cFRoQztBR3ZwVEk7RUFBK0I7QUgwcFRuQztBR3pwVEk7RUFBOEI7QUg0cFRsQztBRzNwVEk7RUFBZ0M7QUg4cFRwQztBRzVwVEk7RUk5bUNBO0FQNndWSjtBRzNwVEk7RUFDSSwwQ0R0L0JnQjtBRm1wVnhCO0FHcnJTSTtFQUNJLDBDRC85Q2dCO0VDZytDaEIsNkNEaCtDZ0I7QUZ1cFZ4QjtBR3pwVEk7RUFBdUMsMENEaHVCVDtBRjQzVWxDO0FHcnhUSTtFQUNJLCtCRHQrQnFCO0FGNnZWN0I7QUdueFRJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQxaENlO0FGeXpWdkI7QUczeFRJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkRoaUNlO0FGdTBWdkI7QUcveFRJO0VBQ0ksMENEN25CMEI7RUM4bkIxQiwrQkQ1L0JxQjtBRjZ4VjdCO0FHN3hUSTs7Ozs7Ozs7Ozs7O0VBRUksMENEcGlCK0I7RUNxaUIvQiwrQkRqakNlO0FGMDFWdkI7QUdyeVRJO0VBQ0ksMENEeGlCZ0M7RUN5aUJoQywrQkR2akNlO0FGODFWdkI7QUd6Z1VJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLDBDRDVhMEI7RUM2YTFCLCtCRHoxQmU7RUMwMUJmO0VBZG9CLHNDRDlyQko7QUY0dVZ4QjtBRzdoVVE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0ksMENEbGJzQjtFQ21idEIsK0JELzFCVztFQzYwQlcsc0NENzBCWDtBRnE1VnZCO0FHNWlVSTtFQUF5QiwrQkQzekJBO0FGNjJWN0I7QUdsalVJO0VBQXlCLCtCRDN6QkE7QUY2MlY3QjtBR2xqVUk7RUFBeUIsK0JEM3pCQTtBRjYyVjdCO0FHL2lVSTtFQUE0QiwrQkQ5ekJIO0FGbTNWN0I7QUdyalVJO0VBQTRCLCtCRDl6Qkg7QUZtM1Y3QjtBR3JqVUk7RUFBNEIsK0JEOXpCSDtBRm0zVjdCO0FHL2lVSTtFSWoyQkE7QVBtNVZKO0FHNWlVSTs7Ozs7Ozs7Ozs7O0VJdjJCQTtBUGk2Vko7QUdualVJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0Q3Y3dCO0VDMFpFLHNDRGhzQlY7QUZtelZ4QjtBRzNqVUk7Ozs7Ozs7Ozs7OztFQXZEb0Msc0NELzBCakI7QUYrOFZ2QjtBR25rVUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksc0JEbDVCZTtFQ20xQm1CLHNDRGgxQm5CO0FGeStWdkI7QUdybFVJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLHlCRGhlc0M7QUYya1Y5QztBR3RtVUk7RUkzNEJBO0FQby9WSjtBR3htVUk7RUk1NEJBO0FQdS9WSjtBRzFtVUk7RUk3NEJBO0FQMC9WSjtBRzFtVUk7RUEvRThCLFdEcjFCWDtBRmloV3ZCO0FHeG1VSTtFQUFnQiwrQkR4M0JTO0FGbStWN0I7QUcxbVVJO0VBQXNCLCtCRHY2Qkg7QUZvaFd2QjtBRy9uVkk7RUFDSSw2QkR6TTRCO0VDME01QixXRDFaZTtFQ21ZZSxzQ0RoWWY7QUZ5aFd2QjtBRzluVkk7Ozs7Ozs7Ozs7OztFQUVJLDZCRDlNa0M7RUMrTWxDLFdEamFlO0VDb1lxQixrQkRwWXJCO0FGNGlXdkI7QUd2b1ZJOzs7Ozs7Ozs7Ozs7RUFFSSw2QkRuTm1DO0VDb05uQyxXRHhhZTtFQ3FZc0Isa0JEcll0QjtBRjRqV3ZCO0FHNW9WSTtFQUNJLHNCRGpiZTtFQ2tiZixXRHJiTztBRm1rV2Y7QUcxb1ZJOzs7Ozs7Ozs7Ozs7RUFFSSx5QkRoT2tDO0VDaU9sQyxXRDViTztBRmtsV2Y7QUdscFZJOzs7Ozs7Ozs7Ozs7RUFFSSx5QkRyT21DO0VDc09uQyxXRG5jTztBRmltV2Y7QUd0cFZJO0VBQ0ksc0JEemNlO0VDMGNmLFdEN2NPO0FGcW1XZjtBR3BwVkk7Ozs7Ozs7Ozs7OztFQUVJLHlCRGxQb0M7RUNtUHBDLFdEcGRPO0FGb25XZjtBRzVwVkk7Ozs7Ozs7Ozs7OztFQUVJLHlCRHZQcUM7RUN3UHJDLFdEM2RPO0FGbW9XZjtBR2hxVkk7RUFDSSxXRGplZTtBRm1vV3ZCO0FHdHZWSTtFQUFZLHlCRDdZTztBRnNvV3ZCO0FHanFWSTs7Ozs7Ozs7Ozs7O0VBRUksV0R2ZWU7QUZvcFd2QjtBR3pxVkk7RUFDSSwrQkQzYnFCO0FGc21XN0I7QUducVZJO0VBQ0ksK0JEcGNxQjtBRnltVzdCO0FHanFWSTs7Ozs7Ozs7Ozs7O0VBQ3dCLCtCRHZmTDtBRnFxV3ZCO0FHcHZVSTtFQUNJLDJDRHB5QmdCO0FGMGhXeEI7QUdsdlVJO0VBQ0ksMENEenlCZ0I7QUY2aFd4QjtBR3ppVkk7RUFDSSwrQkRybEJxQjtBRmdvVzdCO0FHdmlWSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEem9CZTtBRjRyV3ZCO0FHM2lVSTtFQUNJLCtCRHBtQ3FCO0FGaXBXN0I7QUd6aVVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkR4cENlO0FGNnNXdkI7QUdqalVJO0VBQ0ksV0RocUNlO0FGbXRXdkI7QUdqbldJO0VBQ0ksc0JEbkdlO0VDb0dmLFdEdkdPO0FGMHRXZjtBRy9tV0k7Ozs7Ozs7Ozs7OztFQUVJLFdEN0dPO0FGd3VXZjtBRzlqVUk7RUFDSSxzQkR4cUNlO0VDeXFDZixXRDVxQ087QUY0dVdmO0FHcnBXSTtFQUNJLCtCRHBDcUI7QUYyclc3QjtBR3hqVUk7RUFBbUIsK0JEanJDQTtBRjR1V3ZCO0FHempVSTtFQUF5QztBSDRqVTdDO0FHM2pVSTtFQUFnQywrQkR0b0NQO0FGb3NXN0I7QUc5alVJO0VBQWdDLCtCRHRvQ1A7QUZvc1c3QjtBR3ZqVUk7RUFBNkIsK0JEN29DSjtBRnVzVzdCO0FHempVSTtFQUFtQywrQkQ5b0NWO0FGMHNXN0I7QUd0alVJO0VBQ0ksNkJEeFk0QjtFQ3UvQlEsc0NEcHFEcEI7QUY4bVd4QjtBR3JqVUk7RUFDSSw2QkQ3WTRCO0FGbzhVcEM7QUdualVJO0VBQ0ksNkJEaFoyQjtBRnE4VW5DO0FHampVSTtFQUNJLDZCRHBaMEI7QUZ1OFVsQztBRzNpVUk7RUFDSSwrQkQ3cUNxQjtBRjB0VzdCO0FHemlVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEanVDZTtBRnN4V3ZCO0FHMWlVSTtFSTN0Q0E7QVB3d1dKO0FHeGlVSTtFSWh1Q0E7QVAyd1dKO0FHcmlVSTtFQUNJLCtCRDFzQ3FCO0FGaXZXN0I7QUduaVVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQ5dkNlO0FGNnlXdkI7QUczaVVJO0VBQ0ksV0R0d0NlO0FGbXpXdkI7QUd6aVVJO0VBQ0ksV0Qzd0NlO0FGc3pXdkI7QUd2aVVJO0VBQ0ksMENEL25DZ0I7QUZ3cVd4QjtBR3JpVUk7RUFBZ0MsK0JEbnVDUDtBRjJ3VzdCO0FHdGlVSTs7Ozs7Ozs7Ozs7O0VBQ3NDLCtCRHB4Q25CO0FGdTBXdkI7QUdqalVJO0VBQStDLFdEenhDNUI7QUY2MFd2QjtBRzlpVUk7RUFDSSwrQkQvdUNxQjtBRit4VzdCO0FHNWlVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEbnlDZTtBRjIxV3ZCO0FHcGpVSTtFQUNJLFdEM3lDZTtBRmkyV3ZCO0FHbGpVSTtFQUNJLFdEaHpDZTtBRm8yV3ZCO0FHaGpVSTtFQUNJLDBDRHBxQ2dCO0FGc3RXeEI7QUc5aVVJO0VBQWdDLCtCRHh3Q1A7QUZ5elc3QjtBRy9pVUk7Ozs7Ozs7Ozs7OztFQUNzQywrQkR6ekNuQjtBRnEzV3ZCO0FHMWpVSTtFQUErQyxXRDl6QzVCO0FGMjNXdkI7QUd4alVJO0VBQ0ksK0JEbnhDcUI7QUY2MFc3QjtBR3RqVUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksK0JEeDBDZTtBRm81V3ZCO0FHeGtVSTtFQUNJLFdEaDFDZTtBRjA1V3ZCO0FHdGtVSTtFQUNJLFdEcjFDZTtBRjY1V3ZCO0FHcGtVSTtFQUNJLCtCRHYxQ2U7QUY2NVd2QjtBR2xrVUk7RUFDSSwrQkQ5eUNxQjtBRmszVzdCO0FHaGtVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSwrQkRuMkNlO0FGeTdXdkI7QUcva1VJO0VBQ0ksK0JEN3pDcUI7QUY4NFc3QjtBRzdrVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRGozQ2U7QUYwOFd2QjtBR3JsVUk7RUFDSSxXRHozQ2U7QUZnOVd2QjtBRy9rVUk7RUFDSSwyQ0RqdkNnQjtBRmswV3hCO0FHemtVSTtFQUNJLDZCRHhnQjhCO0VDeWdCOUIsK0JEMzFDcUI7QUZzNlc3QjtBR3ZrVUk7Ozs7Ozs7Ozs7OztFQUVJLDBDRG4rQjBCO0VDbytCMUIsK0JEaDVDZTtBRm0rV3ZCO0FHL2tVSTtFQUNJLDBDRHorQjBCO0VDMCtCMUIsK0JEdDVDZTtBRnUrV3ZCO0FHN2tVSTtFQUNJLHNCRDk1Q2U7RUMrNUNmLFdEbDZDTztBRmkvV2Y7QUd2a1VJO0VBQ0ksK0JEdjNDcUI7QUZnOFc3QjtBRzF0V0k7RUFDSSwrQkR2T3FCO0FGbThXN0I7QUd4dFdJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQzUmU7QUYrL1d2QjtBRzN0V0k7RUFDSSwrQkRyU2U7QUZrZ1h2QjtBR3J0V0k7RUFDSSwrQkRoUXFCO0FGdTlXN0I7QUd6bFVJO0VBQ0ksK0JELzNDcUI7QUYwOVc3QjtBR3ZsVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRG43Q2U7QUZzaFh2QjtBRy9sVUk7RUFDSSwrQkR4N0NlO0FGeWhYdkI7QUc3bFVJO0VBQ0ksK0JELzRDcUI7QUY4K1c3QjtBR2ptVEk7RUFBWSxzQ0Q3eURRO0FGaTVXeEI7QUd2bFVJO0VBQ0ksK0JEMzVDcUI7QUZvL1c3QjtBR3JsVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRC84Q2U7QUZnalh2QjtBRzdsVUk7RUFDSSxXRHY5Q2U7RUNtOERnQixrQkRuOERoQjtBRnVqWHZCO0FHNWxVSTtFQUNJLCtCRDM2Q3FCO0FGeWdYN0I7QUd2bFVJO0VBQ0ksK0JEM29CaUI7QUZvdVZ6QjtBR3JsVUk7Ozs7Ozs7Ozs7OztFQUVJLGdDRGhwQnVCO0FGaXZWL0I7QUc3bFVJO0VBQ0ksK0JEcHBCd0I7QUZtdlZoQztBR3AwVkk7RUFDSSw2QkQ5YXlCO0VDdWFFO0FIODBWbkM7QUduMFZJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0RuYitCO0VDdWFFO0FINDFWekM7QUc1MFZJO0VBQ0ksMENEdmJpQztFQ3VhRTtBSCsxVjNDO0FHMzBWSTtFQUNJLDBDRDNiZ0M7RUN1YUU7QUhrMlYxQztBR3ZsWEk7RUlFQTtBUHdsWEo7QUd4bFhJO0VJQUE7QVAybFhKO0FHdGlWSTtFQUNJLCtCRHpoQ3FCO0FGaWtYN0I7QUdwaVZJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQ3a0NlO0FGNm5YdkI7QUc1aVZJO0VBQ0ksK0JEbGxDZTtBRmdvWHZCO0FHN29VSTtFQUNJLCtCRHAvQ2U7QUZtb1h2QjtBRzNvVUk7RUFDSSwrQkQzOENxQjtBRndsWDdCO0FHem9VSTtFQUFpQjtBSDRvVXJCO0FHM29VSTtFQUFvQjtBSDhvVXhCO0FHN29VSTtFQUFtQjtBSGdwVXZCO0FHL29VSTtFQUFxQjtBSGtwVXpCO0FHamdXSTtFQUFxQixnRERuZ0JEO09DbWdCQywyQ0RuZ0JEO0FGdWdYeEI7QUczb1VJO0VBQ0ksK0JEM2dEZTtBRndwWHZCO0FHem9VSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEamhEZTtBRnNxWHZCO0FHanBVSTtFQUF1RDtBSG9wVTNEO0FHbnBVSTtFQUFtQjtBSHNwVXZCOztBMkUvcVhBOzs2RUFBQTtBQUlBO0VBRUk7OztJQUdJO0lBQ0E7SUFDQTtJQUNBO0UzRWdyWE47O0UyRTdxWEU7O0lBQ1k7RTNFaXJYZDs7RTJFL3FYRTs7SUFFSTtJQUNBO0UzRWtyWE47O0UyRS9xWEU7SUFBUTtFM0VtclhWOztFMkVqclhFOztJQUNNO0UzRXFyWFI7O0UyRW5yWEU7SUFBTTtFM0V1clhSOztFMkVyclhFO0lBQVE7RTNFeXJYVjtFMkV2clhFOzs7SUFHSTtJQUNBO0UzRXlyWE47O0UyRXRyWEU7O0lBQ0s7RTNFMHJYUDtBQUNGO0E0RTN0WEE7RUFDSSxpQkFsQmM7RUFtQmQ7RUFDQTtFQUNBO0E1RTZ0WEo7O0E0RTF0WEE7RUFDSSxpQkF4Qm9CO0VBeUJwQjtFQUNBO0VBQ0E7QTVFNnRYSjs7QTRFMXRYQTs7RUFDSSxrQ0FsQ1c7RUFtQ1g7RUFDQTtFQUNBO0VBQ0EsYzVFcENJO0FBa3dYUjs7QTRFM3RYQTtFQUNJLGtDQTFDVztFQTJDWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RTh0WEo7QTRFNXRYSTtFQVJKO0lBU1E7SUFDQTtFNUUrdFhOO0FBQ0Y7QTRFN3RYSTtFQWJKO0lBY1E7SUFDQTtFNUVndVhOO0FBQ0Y7QTRFOXRYSTtFQWxCSjtJQW1CUTtJQUNBO0U1RWl1WE47QUFDRjs7QTRFOXRYQTtFQUNJLGtDQWxFVztFQW1FWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFaXVYSjtBNEUvdFhJO0VBVEo7SUFVUTtJQUNBO0U1RWt1WE47QUFDRjtBNEVodVhJO0VBZEo7SUFlUTtJQUNBO0U1RW11WE47QUFDRjs7QTRFaHVYQTtFQUNJLGtDQXRGVztFQXVGWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RW11WEo7QTRFanVYSTtFQVJKO0lBU1E7SUFDQTtFNUVvdVhOO0FBQ0Y7QTRFbHVYSTtFQWJKO0lBY1E7SUFDQTtFNUVxdVhOO0FBQ0Y7O0E0RWx1WEE7RUFDSSxrQ0F6R1c7RUEwR1g7RUFDQTtFQUNBO0VBQ0E7QTVFcXVYSjs7QTRFbHVYQTtFQUNJLGtDQWpIVztFQWtIWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzVFakhJO0FBczFYUjs7QTZFNTFYQTtFQUNJO0E3RSsxWEo7O0E2RTUxWEE7O0VBR0ksYzdFTEk7QUFtMlhSOztBNkUzMVhBO0VBQ0k7QTdFODFYSjs7QTZFMzFYQTtFQUNJO0E3RTgxWEo7O0E2RTMxWEE7RUFDSTtBN0U4MVhKOztBNkUzMVhBO0VBRUksYzdFdEJJO0FBbTNYUjs7QTZFMTFYQTtFQUVJLGM3RTFCSTtBQXMzWFI7O0E2RXoxWEE7RUFFSSxjN0VoQ0k7QUEyM1hSOztBNkV4MVhBO0VBRUksYzdFckNJO0FBKzNYUjs7QTZFdjFYQTtFQUVJLGM3RTFDSTtBQW00WFI7O0E2RXQxWEE7RUFFSSxjN0UvQ0k7QUF1NFhSOztBNkV6MFhBO0VBQ0k7QTdFNDBYSjs7QTZFejBYQTtFQUNJLGM3RW5FSTtBQSs0WFI7O0E2RXowWEE7RUFDSTtFQUNBO0VBQ0EsYzdFckVJO0FBaTVYUjs7QTZFejBYQTtFQUNJO0E3RTQwWEo7O0E2RXgwWEE7RUFDSTtBN0UyMFhKOztBNkV4MFhBO0VBQ0k7QTdFMjBYSjs7QTZFeDBYQTtFQUNJLG1CN0UxRkk7RTZFMkZKO0VBQ0E7QTdFMjBYSjs7QTZFeDBYQTtFQUNJLG1CN0U1Rkk7QUF1NlhSOztBOEU3NlhBO0VBQ0k7RUFDQTtBOUVnN1hKOztBOEU3NlhBO0VBQ0k7RUFDQTtFQUNBO0E5RWc3WEo7QThFOTZYSTtFQUNJO0E5RWc3WFI7O0E4RTU2WEE7RUFDSSx5QjlFVkk7RThFV0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RSs2WEo7QThFNzZYSTtFQUNJLGM5RXRCQTtBQXE4WFI7QThFNTZYSTtFQUNJO0E5RTg2WFI7QThFNTZYUTtFQUNJO0VBQ0EseUI5RTNCSjtFOEU0QkksYzlFL0JKO0U4RWdDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFODZYWjtBOEU1NlhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlFODZYaEI7QThFejZYSTtFQUNJO0E5RTI2WFI7QThFeDZYSTtFQUNJO0VBQ0E7RUFDQTtBOUUwNlhSO0E4RXg2WFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFMDZYWjs7QThFcjZYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RXc2WEo7O0E4RXI2WEE7RUFDSTtFQUNBO0VBQ0E7QTlFdzZYSjtBOEV0NlhJO0VBQ0k7RUFDQTtBOUV3NlhSOztBOEVwNlhBO0VBQ0k7RUFDQTtBOUV1NlhKOztBOEVwNlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUI5RWxHSTtBQXlnWVI7QThFcDZYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUI5RTFHSjtFOEUyR0k7RUFDQTtFQUNBO0E5RXM2WFo7QThFbDZYSTtFQUNJO0E5RW82WFI7O0E4RWg2WEE7RUFDSTtFQUNBO0E5RW02WEo7O0E4RWg2WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUVtNlhKO0E4RWo2WEk7RUFDSTtFQUNBO0E5RW02WFI7QThFajZYUTtFQUNJO0E5RW02WFo7QThFaDZYUTtFQUNJO0E5RWs2WFo7QThFaDZYWTtFQUNJO0E5RWs2WGhCO0E4RS81WFk7RUFDSTtFQUNBO0E5RWk2WGhCO0E4RS81WGdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWk2WHBCO0E4RTc1WFk7RUFDSTtBOUUrNVhoQjtBOEU3NVhnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFdktaO0U4RXdLWTtFQUNBO0E5RSs1WHBCO0E4RTE1WGdCO0VBQ0k7QTlFNDVYcEI7QThFejVYZ0I7RUFDSTtBOUUyNVhwQjtBOEV0NVhRO0VBQ0ksYzlFN0xKO0FBcWxZUjs7QThFbDVYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFck1BO0U4RXNNQTtFQUNBO0E5RXE1WFI7QThFajVYUTtFQUNJO0E5RW01WFo7O0E4RS80WEE7RUFDSTtFQUNBO0E5RWs1WEo7O0E4RS80WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUVrNVhKO0E4RWg1WEk7RUFDSTtBOUVrNVhSOztBOEU5NFhBO0VBQ0k7RUFDQTtFQUNBO0E5RWk1WEo7O0E4RTk0WEE7RUFDSTtFQUNBO0VBQ0E7QTlFaTVYSjtBOEUvNFhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWk1WFI7O0E4RTc0WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUU5UFM7RThFK1BUO0VBQ0E7QTlFZzVYSjtBOEU5NFhJO0VBQ0k7QTlFZzVYUjtBOEU3NFhJO0VBQ0ksYzlFN1FBO0FBNHBZUjs7QThFejRYSTtFQUNJO0E5RTQ0WFI7QThFejRYSTtFQUNJO0VBQ0E7QTlFMjRYUjs7QThFdjRYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFMDRYSjtBOEV4NFhJO0VBQ0k7QTlFMDRYUjs7QThFcDRYQTtFQUNJO0VBQ0E7QTlFdTRYSjtBOEVyNFhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsYzlFOVNEO0U4RStTQztBOUV1NFhSO0E4RXI0WFE7RUFDSTtFQUNBLHlCOUV4VEo7RThFeVRJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUV1NFhaO0E4RXA0WFE7RUFDSSxjOUVqVUo7RThFa1VJO0E5RXM0WFo7QThFbjRYUTtFQUNJO0VBQ0EsYzlFdlVKO0FBNHNZUjtBOEVqNFhJO0VBQ0k7QTlFbTRYUjtBOEVqNFhRO0VBQ0k7RUFDQSx5QjlFalZKO0U4RWtWSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFbTRYWjs7QThFOTNYQTtFQUNJO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0VBQ0E7QTlFaTRYSjs7QThFOTNYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUVsWEk7QUFtdllSOztBOEU5M1hBO0VBQ0k7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQjlFMVlZO0U4RTJZWjtFQUNBO0VBQ0E7QTlFaTRYSjtBOEUvM1hJO0VBQ0k7QTlFaTRYUjs7QThFNzNYQTtFQUNJLGM5RW5aSTtFOEVvWko7RUFDQTtBOUVnNFhKO0E4RTkzWEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVnNFhSO0E4RTczWEk7RUFDSTtFQUNBO0VBQ0E7QTlFKzNYUjtBOEU3M1hRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUUrM1haO0E4RTMzWEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RTYzWFI7QThFMzNYUTtFQUNJO0E5RTYzWFo7QThFMzNYWTtFQUNJO0E5RTYzWGhCO0E4RTEzWFk7RUFDSSxjOUV6Y1I7RThFMGNRLHlCOUV6Y1I7RThFMGNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFNDNYaEI7QThFMTNYZ0I7RUFDSSx5QjlFNWNQO0FBdzBZYjtBOEV2M1hRO0VBQ0kseUI5RXZkSjtFOEV3ZEk7QTlFeTNYWjtBOEVwM1hRO0VBQ0k7QTlFczNYWjtBOEVuM1hRO0VBQ0k7RUFDQTtBOUVxM1haOztBOEU5MlhRO0VBQ0k7QTlFaTNYWjtBOEU3MlhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUI5RW5mQTtFOEVvZkE7RUFDQTtFQUNBO0E5RSsyWFI7QThFNzJYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFM2ZKO0U4RTRmSTtBOUUrMlhaO0E4RTUyWFE7RUFDSTtFQUNBO0VBQ0E7QTlFODJYWjtBOEU1MlhZO0VBQ0k7RUFDQTtFQUNBO0E5RTgyWGhCO0E4RTUyWGdCO0VBQ0kseUI5RXhnQlA7QUFzM1liOztBOEV2MlhBO0VBQ0k7RUFDQTtBOUUwMlhKOztBOEV2MlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlFMDJYSjs7QThFdjJYQTtFQUNJO0E5RTAyWEo7QThFeDJYSTtFQUNJLGM5RXJpQkE7QUErNFlSO0E4RXgyWFE7RUFDSTtBOUUwMlhaO0E4RXYyWFE7RUFDSTtBOUV5MlhaO0E4RXYyWFk7RUFDSTtBOUV5MlhoQjs7QThFbDJYQTtFQUNJO0lBQ0k7RTlFcTJYTjtBQUNGO0E4RWoyWEE7RUFDSTtJQUNJO0U5RW0yWE47QUFDRjtBOEVoMlhBO0VBQ0k7SUFDSTtFOUVrMlhOOztFOEUvMVhFO0lBQ0k7SUFDQTtFOUVrMlhOOztFOEUvMVhFO0lBQ0k7RTlFazJYTjs7RThFLzFYRTtJQUNJO0U5RWsyWE47O0U4RS8xWEU7SUFDSTtJQUNBO0U5RWsyWE47O0U4RS8xWEU7SUFDSTtFOUVrMlhOO0FBQ0Y7QThFLzFYQTtFQUNJO0lBQ0k7RTlFaTJYTjs7RThFOTFYRTtJQUNFO0U5RWkyWEo7O0U4RTkxWEU7SUFDSTtFOUVpMlhOOztFOEU5MVhFO0lBQ0k7RTlFaTJYTjs7RThFOTFYRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSx5QjlFcm5CQTtJOEVzbkJBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUVpMlhOO0U4RS8xWE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFaTJYVjtFOEU3MVhNO0lBQ0k7RTlFKzFYVjs7RThFMzFYRTtJQUNJO0lBQ0E7RTlFODFYTjtFOEU1MVhNO0lBQ0k7SUFDQTtFOUU4MVhWO0U4RTMxWE07SUFDSTtJQUNBLGM5RTNwQko7RUF3L1lOOztFOEV6MVhFO0lBQ0k7RTlFNDFYTjtFOEUxMVhNO0lBQ0k7SUFDQTtJQUNBO0U5RTQxWFY7RThFMTFYVTtJQUNJO0U5RTQxWGQ7RThFejFYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFMjFYZDtFOEV6MVhjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFMjFYbEI7O0U4RXIxWEU7SUFDSTtJQUNBO0lBQ0EseUI5RXBzQkE7SThFcXNCQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFdzFYTjtFOEV0MVhNO0lBQ0k7RTlFdzFYVjs7RThFcDFYRTtJQUNJO0lBQ0E7SUFDQTtJQUNBLHlCOUV6dEJBO0k4RTB0QkE7SUFDQTtJQUNBLGM5RTN0QkE7SThFNHRCQTtJQUNBO0lBQ0E7SUFDQTtFOUV1MVhOO0U4RXIxWE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXUxWFY7RThFcjFYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXUxWGQ7O0U4RWwxWEU7SUFDSTtJQUNBO0U5RXExWE47RThFbjFYTTtJQUNJO0lBQ0E7SUFDQTtFOUVxMVhWO0U4RW4xWFU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXExWGQ7O0U4RWgxWEU7SUFDSTtFOUVtMVhOOztFOEVoMVhFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQSxzQjlFeHhCUTtJOEV5eEJSO0lBQ0E7SUFDQTtFOUVtMVhOO0U4RWoxWE07SUFDSTtFOUVtMVhWOztFOEUvMFhFO0lBQ0k7SUFDQTtFOUVrMVhOO0U4RWgxWE07SUFDSTtJQUNBO0U5RWsxWFY7O0U4RTkwWEU7SUFDSTtJQUNBO0U5RWkxWE47O0U4RTkwWEU7SUFDSTtJQUNBO0U5RWkxWE47O0U4RTkwWEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFOUVpMVhOOztFOEU1MFhVO0lBQ0k7RTlFKzBYZDtBQUNGO0E4RTEwWEE7RUFDSTtJQUNJO0U5RTQwWE47QUFDRjtBOEV6MFhBO0VBRVE7SUFDSTtFOUUwMFhWOztFOEV0MFhFO0lBQ0k7RTlFeTBYTjs7RThFdDBYRTtJQUNJO0U5RXkwWE47RThFdjBYTTtJQUNJO0U5RXkwWFY7RThFcjBYTTtJQUNJO0lBQ0EseUI5RTUxQko7SThFNjFCSSxjOUVoMkJKO0k4RWkyQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXUwWFY7RThFcjBYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0U5RXUwWGQ7O0U4RWwwWEU7SUFDSTtFOUVxMFhOOztFOEVsMFhFO0lBQ0k7SUFDQTtJQUNBO0U5RXEwWE47O0U4RWwwWEU7SUFDSTtJQUNBO0lBQ0E7RTlFcTBYTjs7RThFbDBYRTtJQUNJO0lBQ0E7RTlFcTBYTjs7RThFbDBYRTtJQUNJO0U5RXEwWE47O0U4RWwwWEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXEwWE47RThFbjBYTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXEwWFY7O0U4RWowWEU7SUFDSTtFOUVvMFhOOztFOEVqMFhFO0lBQ0k7SUFDQTtFOUVvMFhOOztFOEVqMFhFO0lBQ0k7RTlFbzBYTjs7RThFajBYRTtJQUNJO0U5RW8wWE47O0U4RWowWEU7SUFDSTtJQUNBO0lBQ0E7RTlFbzBYTjs7RThFajBYRTtJQUNJO0U5RW8wWE47QUFDRjtBOEVqMFhBO0VBQ0k7SUFDRTtFOUVtMFhKO0FBQ0Y7QStFcHdaQTtFQUNJO0VBQ0E7QS9Fc3daSjs7QStFbndaQTtFQUNJO0VBQ0EseUIvRUNTO0FBcXdaYjs7QStFbndaQTtFQUNJO0VBQ0E7RUFDQTtBL0Vzd1pKO0ErRXB3Wkk7RUFDSTtBL0Vzd1pSOztBK0Vsd1pBO0VBQ0k7RUFDQTtBL0Vxd1pKO0ErRW53Wkk7RUFDSTtFQUNBO0EvRXF3WlI7O0ErRWp3WkE7RUFDSTtBL0Vvd1pKOztBK0Vqd1pBO0VBQ0k7RUFDQTtFQUNBO0EvRW93Wko7O0ErRWp3WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Vvd1pKO0ErRWx3Wkk7RUFDSTtBL0Vvd1pSOztBK0Vod1pBO0VBQ0kseUIvRXJESTtFK0VzREo7RUFDQSxjL0V0REk7RStFdURKO0EvRW13Wko7QStFandaSTtFQUNJLGMvRTFEQTtBQTZ6WlI7O0ErRS92WkE7RUFDSTtFQUNBO0VBQ0E7QS9Fa3daSjs7QStFL3ZaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGMvRXhFSTtBQTAwWlI7QStFaHdaSTtFQUNJO0VBQ0EseUIvRXpFQTtFK0UwRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRWt3WlI7O0ErRTl2WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0Vpd1pKO0ErRS92Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5Qi9FN0ZBO0UrRThGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRWl3WlI7QStFOXZaSTtFQUNJO0EvRWd3WlI7QStFN3ZaSTtFQUNJO0VBQ0E7QS9FK3ZaUjtBK0UzdlpRO0VBQ0k7QS9FNnZaWjtBK0UxdlpRO0VBQ0k7QS9FNHZaWjs7QStFdnZaQTtFQUNJLGMvRTFISTtFK0UySEo7RUFDQTtBL0UwdlpKOztBK0V2dlpBO0VBQ0k7QS9FMHZaSjs7QStFdnZaQTtFQUNJLGMvRXBJSTtFK0VxSUo7RUFDQTtFQUNBO0EvRTB2Wko7O0ErRXZ2WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0UwdlpKO0ErRXh2Wkk7RUFDSTtBL0UwdlpSO0ErRXh2WlE7RUFDSTtBL0UwdlpaO0ErRXJ2WlE7RUFDSTtBL0V1dlpaO0ErRXJ2Wlk7RUFDSTtFQUNBO0EvRXV2WmhCO0ErRXJ2WmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0V1dlpwQjtBK0VudlpZO0VBQ0ksYy9FaExSO0FBcTZaUjs7QStFOXVaSTtFQUNJO0EvRWl2WlI7QStFOXVaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRWd2WlI7QStFOXVaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FZ3ZaWjtBK0U1dVpZO0VBQ0k7RUFDQTtFQUNBO0EvRTh1WmhCO0ErRTN1Wlk7RUFDSTtBL0U2dVpoQjtBK0V4dVpZO0VBQ0k7RUFDQTtFQUNBO0EvRTB1WmhCO0ErRXZ1Wlk7RUFDSTtBL0V5dVpoQjtBK0VwdVpZO0VBQ0k7RUFDQTtFQUNBO0EvRXN1WmhCO0ErRW51Wlk7RUFDSTtBL0VxdVpoQjtBK0VodVpZO0VBQ0k7RUFDQTtFQUNBO0EvRWt1WmhCO0ErRS90Wlk7RUFDSTtBL0VpdVpoQjtBK0U1dFpZO0VBQ0k7RUFDQTtFQUNBO0EvRTh0WmhCO0ErRTN0Wlk7RUFDSTtBL0U2dFpoQjs7QStFdHRaQTtFQUNJO0EvRXl0Wko7O0ErRXR0WkE7RUFDSTtBL0V5dFpKOztBK0V0dFpBO0VBQ0k7QS9FeXRaSjtBK0V2dFpJO0VBQ0k7QS9FeXRaUjs7QStFcnRaQTtFQUNJO0EvRXd0Wko7O0ErRXJ0WkE7RUFDSTtFQUNBO0VBQ0E7QS9Fd3RaSjs7QStFcnRaQTtFQUNJO0VBQ0E7RUFDQTtBL0V3dFpKO0ErRXR0Wkk7RUFDSTtBL0V3dFpSO0ErRW50WlE7RUFDSTtBL0VxdFpaO0ErRWx0WlE7RUFDSTtFQUNBO0tBQUE7RUFDQTtBL0VvdFpaOztBK0Uvc1pBO0VBQ0k7QS9Fa3RaSjs7QStFL3NaQTtFQUNJO0VBQ0E7RUFDQTtBL0VrdFpKOztBK0Uvc1pBO0VBQ0k7SUFDSTtFL0VrdFpOO0FBQ0Y7QStFL3NaQTtFQUNJO0lBQ0k7RS9FaXRaTjs7RStFOXNaRTtJQUNJO0UvRWl0Wk47O0UrRTlzWkU7SUFDSTtFL0VpdFpOOztFK0U5c1pFO0lBQ0k7RS9FaXRaTjs7RStFOXNaRTtJQUNJO0UvRWl0Wk47O0UrRTlzWkU7SUFDSTtJQUNBO0UvRWl0Wk47QUFDRjtBK0U5c1pBO0VBQ0k7SUFDSTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7SUFDQTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7RS9FZ3RaTjs7RStFN3NaRTtJQUNJO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtJQUNBO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7RS9FZ3RaTjs7RStFN3NaRTtJQUNJO0lBQ0E7SUFDQTtFL0VndFpOO0UrRTlzWk07SUFDSTtJQUNBO0UvRWd0WlY7QUFDRjtBK0U1c1pBO0VBQ0k7SUFDSTtFL0U4c1pOOztFK0Uzc1pFO0lBQ0k7RS9FOHNaTjs7RStFM3NaRTtJQUNJO0UvRThzWk47O0UrRTNzWkU7SUFDSTtFL0U4c1pOOztFK0Uzc1pFO0lBQ0k7RS9FOHNaTjs7RStFM3NaRTtJQUNJO0lBQ0E7RS9FOHNaTjtFK0U1c1pNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0U4c1pWO0UrRTNzWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0U2c1pWO0UrRTFzWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFL0U0c1pWO0UrRTFzWlU7SUFDSTtFL0U0c1pkO0UrRXpzWlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRTJzWmQ7RStFdHNaVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0V3c1pkO0UrRXJzWlU7SUFDSTtFL0V1c1pkOztFK0Vsc1pFO0lBQ0k7SUFDQTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtJQUNBO0lBQ0E7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0lBQ0E7SUFDQTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOO0UrRW5zWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRXFzWlY7O0UrRWhzWkU7SUFDSTtFL0Vtc1pOOztFK0UvclpFO0lBQ0k7SUFDQTtFL0Vrc1pOOztFK0UvclpFO0lBQ0k7RS9Fa3NaTjtBQUNGO0FnRnZ2YUE7RUFDSSx5QmhGQ0k7RWdGQUosY2hGQ0k7RWdGQUo7QWhGeXZhSjs7QWdGdHZhQTtFQUNJO0VBQ0E7RUFDQSxjaEZGRztFZ0ZHSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnl2YUo7QWdGdnZhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnl2YVI7QWdGdHZhSTtFQUNJO0VBQ0EseUJoRjVCQTtFZ0Y2QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBaEZ3dmFSO0FnRnJ2YUk7RUFDSSxjaEYxQ0E7QUFpeWFSO0FnRnJ2YVE7RUFDSTtBaEZ1dmFaOztBZ0ZsdmFBO0VBQ0ksY2hGcERJO0FBeXlhUjtBZ0ZudmFJO0VBQ0k7QWhGcXZhUjs7QWdGanZhQTtFQUNJO0VBQ0E7RUFDQTtBaEZvdmFKOztBZ0ZqdmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGb3ZhSjtBZ0ZsdmFJO0VBQ0k7QWhGb3ZhUjs7QWdGaHZhQTtFQUNJO0VBQ0E7QWhGbXZhSjs7QWdGaHZhQTtFQUNJO0VBQ0E7RUFDQTtBaEZtdmFKO0FnRmp2YUk7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7QWhGbXZhUjs7QWdGL3VhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrdmFKOztBZ0YvdWFBO0VBQ0k7QWhGa3ZhSjtBZ0ZodmFJO0VBQ0k7RUFDQSx5QmhGdkdLO0VnRndHTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGa3ZhUjs7QWdGOXVhQTtFQUVJLGNoRnhISTtFZ0Z5SEo7RUFDQTtFQUNBO0VBQ0E7QWhGZ3ZhSjtBZ0Y5dWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRnRJQTtFZ0Z1SUE7QWhGZ3ZhUjtBZ0Y3dWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGM0lBO0VnRjRJQTtFQUNBO0VBQ0M7QWhGK3VhVDtBZ0Y1dWFJO0VBQ0k7RUFDQTtBaEY4dWFSOztBZ0YxdWFBO0VBQ0ksY2hGM0pJO0FBdzRhUjtBZ0YzdWFJO0VBQ0ksY2hGM0pBO0FBdzRhUjs7QWdGenVhQTtFQUNJLGNoRm5LSTtBQSs0YVI7O0FnRnp1YUE7RUFDSSxjaEZwS0k7RWdGcUtKO0FoRjR1YUo7O0FnRnp1YUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEY0dWFKO0FnRjF1YUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZuTEE7RWdGb0xBO0VBQ0E7QWhGNHVhUjs7QWdGeHVhQTtFQUNJO0FoRjJ1YUo7O0FnRnh1YUE7RUFDSTtBaEYydWFKOztBZ0Z4dWFBO0VBQ0ksY2hGbE1JO0VnRm1NSjtBaEYydWFKOztBZ0Z4dWFBO0VBQ0k7QWhGMnVhSjs7QWdGeHVhQTtFQUNFO0VBQ0E7QWhGMnVhRjs7QWdGeHVhQTtFQUNJO0FoRjJ1YUo7O0FnRnh1YUE7RUFDSTtFQUNBO0FoRjJ1YUo7QWdGenVhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY5TkE7RWdGK05BO0FoRjJ1YVI7QWdGeHVhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY3T0E7RWdGOE9BO0FoRjB1YVI7O0FnRnR1YUE7RUFDSTtFQUNBLHlCaEZoUEk7RWdGaVBKLGNoRnBQSTtBQTY5YVI7QWdGdnVhSTtFQUNJO0FoRnl1YVI7O0FnRnJ1YUE7RUFDSTtFQUNBO0VBQ0E7QWhGd3VhSjtBZ0Z0dWFJO0VBQ0ksY2hGalFBO0VnRmtRQTtBaEZ3dWFSOztBZ0ZwdWFBO0VBQ0k7RUFDQTtBaEZ1dWFKO0FnRnJ1YUk7RUFDSTtFQUNBO0FoRnV1YVI7QWdGcnVhUTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QWhGdXVhWjtBZ0ZudWFJO0VBQ0kseUJoRnZSQTtFZ0Z3UkE7RUFDQSxjaEYxUkE7RWdGMlJBO0FoRnF1YVI7QWdGbnVhUTtFQUNJO0FoRnF1YVo7O0FnRmh1YUE7RUFDSTtBaEZtdWFKOztBZ0Y5dGFJO0VBQ0k7QWhGaXVhUjs7QWdGN3RhQTtFQUNJO0VBQ0E7QWhGZ3VhSjtBZ0Y5dGFJO0VBQ0k7QWhGZ3VhUjs7QWdGNXRhQTtFQUNJO0FoRit0YUo7O0FnRjV0YUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTs7Ozs7Ozs7O0lBQUE7RUFXQTs7Ozs7Ozs7O0lBQUE7QWhGc3VhSjtBZ0YzdGFJO0VBQ0k7RUFDQTtBaEY2dGFSOztBZ0Z6dGFBO0VBQ0k7RUFDQSxjaEY3Vkk7RWdGOFZKO0VBQ0E7QWhGNHRhSjtBZ0YxdGFJO0VBQ0ksY2hGbFdBO0VnRm1XQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjR0YVI7QWdGenRhSTtFQUNJLHlCaEY1V0E7QUF1a2JSO0FnRnh0YUk7RUFDSSx5QmhGNVdBO0FBc2tiUjtBZ0Z2dGFJO0VBQ0k7RUFDQTtBaEZ5dGFSO0FnRnZ0YVE7RUFDSTtFQUNBO0VBQ0E7QWhGeXRhWjtBZ0ZydGFJO0VBQ0k7QWhGdXRhUjs7QWdGbHRhSTtFQUNJO0FoRnF0YVI7QWdGanRhUTtFQUNJO0VBQ0E7QWhGbXRhWjtBZ0ZodGFRO0VBQ0k7RUFDQTtBaEZrdGFaO0FnRjdzYVk7RUFDSTtFQUNBO0FoRitzYWhCO0FnRjNzYVE7RUFDSTtBaEY2c2FaOztBZ0Z2c2FJO0VBQ0k7RUFDQTtBaEYwc2FSOztBZ0Z0c2FBO0VBQ0kseUJoRm5hUztFZ0ZvYVQ7RUFDQTtFQUVBOzs7Ozs7Ozs7SUFBQTtBaEZpdGFKO0FnRnRzYUk7RUFDSTtFQUNBO0FoRndzYVI7O0FnRnBzYUE7RUFDSTtFQUNBO0FoRnVzYUo7O0FnRnBzYUE7RUFDSTtBaEZ1c2FKO0FnRnJzYUk7RUFDSTtFQUNBO0FoRnVzYVI7O0FnRm5zYUE7RUFFSTtBaEZxc2FKO0FnRm5zYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZxc2FSO0FnRm5zYVE7RUFDSTtFQUNBO0FoRnFzYVo7O0FnRmhzYUE7RUFDSTtBaEZtc2FKO0FnRmpzYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZoZUQ7RWdGaWVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbXNhUjs7QWdGL3JhQTtFQUNJO0FoRmtzYUo7O0FnRi9yYUE7RUFDSTtFQUNBO0FoRmtzYUo7O0FnRi9yYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoRnZmRztBQXlyYlA7QWdGaHNhSTtFQUNJLGNoRi9mQTtFZ0ZnZ0JBO0FoRmtzYVI7O0FnRjlyYUE7RUFDSTtBaEZpc2FKOztBZ0Y5cmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaXNhSjtBZ0YvcmFJO0VBQ0k7RUFDQSx5QmhGNWdCQTtFZ0Y2Z0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmlzYVI7O0FnRjFyYVE7RUFDSSx5QmhGM2hCSjtBQXd0YlI7QWdGeHJhUTtFQUNJO0VBQ0E7QWhGMHJhWjtBZ0Z2cmFRO0VBQ0k7RUFDQTtFQUNBO0FoRnlyYVo7QWdGdnJhWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXJhaEI7O0FnRmxyYUk7RUFDSTtBaEZxcmFSOztBZ0ZqcmFBO0VBQ0k7QWhGb3JhSjs7QWdGanJhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGb3JhSjtBZ0ZscmFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGb3JhUjs7QWdGaHJhQTtFQUNJO0FoRm1yYUo7QWdGanJhSTtFQUNJO0FoRm1yYVI7QWdGaHJhSTtFQUNJO0VBQ0E7RUFDQTtBaEZrcmFSO0FnRmhyYVE7RUFDSTtFQUNBO0FoRmtyYVo7QWdGaHJhWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrcmFoQjs7QWdGNXFhQTtFQUNJO0VBQ0E7QWhGK3FhSjs7QWdGNXFhQTtFQUNJO0FoRitxYUo7QWdGN3FhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRitxYVI7QWdGN3FhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRitxYVo7QWdGM3FhWTtFQUNJO0FoRjZxYWhCO0FnRnpxYVE7RUFDSTtFQUNBO0FoRjJxYVo7O0FnRnRxYUE7RUFDSTtBaEZ5cWFKOztBZ0Z0cWFBO0VBQ0k7QWhGeXFhSjs7QWdGdHFhQTtFQUNJO0FoRnlxYUo7O0FnRnRxYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXFhSjtBZ0Z2cWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnlxYVI7O0FnRnJxYUE7RUFDSTtBaEZ3cWFKOztBZ0ZycWFBO0VBQ0k7RUFDQTtBaEZ3cWFKOztBZ0ZycWFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY1c0JJO0VnRjZzQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1cWFKOztBZ0ZwcWFBO0VBRUk7RUFDQTtFQUNBO0FoRnNxYUo7O0FnRm5xYUE7RUFFSTtBaEZxcWFKOztBZ0ZscWFBO0VBQ0k7QWhGcXFhSjtBZ0ZucWFJO0VBQ0k7QWhGcXFhUjtBZ0ZscWFJO0VBQ0k7QWhGb3FhUjs7QWdGaHFhQTtFQUNJO0VBQ0E7RUFDQTtBaEZtcWFKO0FnRmpxYUk7RUFDSTtBaEZtcWFSO0FnRmhxYUk7RUFDSTtFQUNBO0FoRmtxYVI7O0FnRjlwYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpcWFKOztBZ0Y5cGFBO0VBQ0k7RUFDQTtBaEZpcWFKO0FnRi9wYUk7RUFDSTtBaEZpcWFSOztBZ0Y1cGFJO0VBQ0k7RUFDQTtBaEYrcGFSO0FnRjVwYUk7RUFDSTtFQUNBO0FoRjhwYVI7QWdGNXBhUTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QWhGOHBhWjtBZ0Z6cGFRO0VBQ0k7QWhGMnBhWjs7QWdGdHBhQTtFQUNJLHlCaEZ6eUJTO0VnRjB5QlQ7QWhGeXBhSjtBZ0Z2cGFJO0VBQ0k7RUFDQTtBaEZ5cGFSO0FnRnRwYUk7RUFDSSxjaEZuekJEO0FBMjhiUDs7QWdGcHBhQTtFQUNJO0VBQ0E7QWhGdXBhSjs7QWdGbnBhSTtFQUNJO0VBQ0E7QWhGc3BhUjs7QWdGbHBhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjUwQkk7RWdGNjBCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGcXBhSjtBZ0ZucGFJO0VBQ0k7RUFDQTtFQUNBO0FoRnFwYVI7O0FnRmpwYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRm9wYUo7QWdGbHBhSTtFQUNJO0FoRm9wYVI7QWdGanBhSTtFQUNJO0FoRm1wYVI7O0FnRi9vYUE7RUFDSTtBaEZrcGFKO0FnRmhwYUk7RUFDSTtFQUNBO0VBQ0E7S0FBQTtBaEZrcGFSOztBZ0Y5b2FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaXBhSjtBZ0Yvb2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZpcGFSOztBZ0Y3b2FBO0VBQ0k7RUFDQTtFQUNBO0FoRmdwYUo7QWdGOW9hSTtFQUNJO0VBQ0E7RUFDQTtBaEZncGFSOztBZ0Y1b2FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQmhGMTVCWTtFZ0YyNUJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK29hSjtBZ0Y3b2FJO0VBQ0k7RUFDQTtFQUNBO0FoRitvYVI7O0FnRjFvYUE7RUFDSSxjaEZ4NkJJO0VnRnk2Qko7QWhGNm9hSjs7QWdGdG9hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGeDdCSTtBQWlrY1I7QWdGdm9hSTtFQUNJLHlCaEZyN0JJO0VnRnM3QkosY2hGNTdCQTtBQXFrY1I7O0FnRnJvYUE7RUFDSTtFQUNBO0FoRndvYUo7O0FnRnJvYUE7RUFDSSx5QmhGajhCUztFZ0ZrOEJUO0VBQ0E7QWhGd29hSjs7QWdGcm9hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEY3OEJLO0VnRjg4QkwsY2hGaDlCSTtFZ0ZpOUJKO0VBQ0E7RUFDQTtBaEZ3b2FKOztBZ0Zwb2FJO0VBQ0k7QWhGdW9hUjs7QWdGbG9hSTtFQUNJO0VBQ0E7RUFDQTtBaEZxb2FSOztBZ0Zob2FJO0VBQ0kseUJoRnQrQkE7RWdGdStCQTtBaEZtb2FSOztBZ0YvbmFBO0VBQ0kseUJoRjUrQkk7QUE4bWNSOztBZ0YvbmFBO0VBQ0kseUJoRjcrQkk7RWdGOCtCSjtFQUNBO0FoRmtvYUo7QWdGaG9hSTtFQUNJO0VBQ0EseUJoRnYvQkE7RWdGdy9CQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGa29hUjs7QWdGOW5hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRmlvYUo7QWdGL25hSTtFQUNJO0VBQ0EseUJoRnhnQ0E7RWdGeWdDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGaW9hUjs7QWdGN25hQTtFQUNJO0VBQ0E7RUFDQSxjaEZyaENJO0VnRnNoQ0o7RUFDQTtFQUNBO0FoRmdvYUo7QWdGOW5hSTtFQUNJLGNoRnhoQ0E7QUF3cGNSO0FnRjduYUk7RUFDSSxjaEYvaENBO0FBOHBjUjs7QWdGM25hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjhuYUo7O0FnRjFuYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGNm5hUjs7QWdGem5hQTtFQUNJO0VBQ0E7QWhGNG5hSjs7QWdGem5hQTtFQUNJO0FoRjRuYUo7QWdGMW5hSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEYvakNLO0VnRmdrQ0w7RUFDQTtFQUNBO0VBQ0E7QWhGNG5hUjs7QWdGeG5hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGMm5hSjs7QWdGeG5hQTtFQUNJO0VBQ0E7RUFDQTtBaEYybmFKOztBZ0Z4bmFBO0VBQ0k7RUFDQTtFQUNBLHlCaEY3bENJO0VnRjhsQ0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYybmFKO0FnRnpuYUk7RUFDSSxjaEZsbUNBO0FBNnRjUjtBZ0Z4bmFJO0VBQ0ksY2hGdG1DQTtFZ0Z1bUNBO0FoRjBuYVI7O0FnRnRuYUE7RUFDSTtBaEZ5bmFKOztBZ0Z0bmFBO0VBQ0kseUJoRnBuQ0k7RWdGcW5DSjtFQUNBO0VBQ0EsY2hGdG5DSTtFZ0Z3bkNKOzs7Ozs7Ozs7O0lBQUE7QWhGa29hSjtBZ0Z0bmFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGd25hUjtBZ0ZybmFJO0VBQ0k7RUFDQTtBaEZ1bmFSO0FnRnBuYUk7RUFDSSxjaEZqcENBO0FBdXdjUjtBZ0ZubmFJO0VBQ0ksY2hGeHBDQTtBQTZ3Y1I7O0FnRmpuYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZvbmFKO0FnRmxuYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZwcUNBO0VnRnFxQ0E7RUFDQTtBaEZvbmFSOztBZ0ZobmFBO0VBQ0kseUJoRi9xQ0k7RWdGZ3JDSjtFQUNBO0VBQ0E7RUFDQTtBaEZtbmFKO0FnRmpuYUk7RUFDSTtBaEZtbmFSO0FnRmhuYUk7RUFDSTtBaEZrbmFSO0FnRi9tYUk7RUFDSTtFQUNBO0FoRmluYVI7QWdGOW1hSTtFQUNJO0VBQ0EsY2hGbnNDQTtFZ0Zvc0NBO0VBQ0E7QWhGZ25hUjtBZ0Y5bWFRO0VBQ0ksY2hGeHNDSjtBQXd6Y1I7QWdGN21hUTtFQUNJO0VBQ0E7RUFDQTtBaEYrbWFaO0FnRjdtYVk7RUFDSTtFQUNBO0FoRittYWhCO0FnRjdtYWdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRittYXBCOztBZ0Z4bWFBO0VBQ007RUFDQTtFQUNBO0VBQ0E7QWhGMm1hTjs7QWdGeG1hQTtFQUNJLHlCaEZ2dUNTO0VnRnd1Q1QsY2hGOXVDSTtBQXkxY1I7QWdGem1hSTtFQUNJLGNoRmp2Q0E7QUE0MWNSO0FnRnhtYUk7RUFDSTtBaEYwbWFSOztBZ0Z0bWFBO0VBQ0kseUJoRjF2Q0k7RWdGMnZDSixjaEYxdkNJO0VnRjJ2Q0o7QWhGeW1hSjtBZ0Z2bWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnltYVI7QWdGdG1hSTtFQUNJO0VBQ0E7QWhGd21hUjtBZ0ZybWFJO0VBQ0ksY2hGL3dDQTtBQXMzY1I7O0FnRm5tYUE7RUFDSSxjaEZyeENJO0VnRnN4Q0o7QWhGc21hSjs7QWdGbm1hQTtFQUNJLHlCaEZweENTO0VnRnF4Q1Q7RUFDQTtBaEZzbWFKOztBZ0ZubWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZ2eUNJO0FBNjRjUjtBZ0ZwbWFJO0VBQ0k7QWhGc21hUjtBZ0ZubWFJO0VBQ0k7QWhGcW1hUjtBZ0Y3bGFBO0VBQ0k7RUFDQTtFQUNBLGNoRnJ6Q0k7QUFvNWNSOztBZ0Y1bGFBO0VBQ0k7QWhGK2xhSjs7QWdGNWxhQTtFQUNJO0FoRitsYUo7O0FnRjVsYUE7RUFDSTtBaEYrbGFKOztBZ0Y1bGFBO0VBQ0kseUJoRngwQ0k7RWdGeTBDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrbGFKOztBZ0Y1bGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrbGFKO0FnRjdsYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK2xhUjs7QWdGM2xhQTtFQUNJO0VBQ0E7QWhGOGxhSjs7QWdGM2xhQTtFQUNJLHlCaEZ2MkNTO0VnRncyQ1Q7QWhGOGxhSjs7QWdGM2xhQTtFQUNJO0FoRjhsYUo7O0FnRjNsYUE7RUFDSTtFQUNBO0FoRjhsYUo7QWdGNWxhSTtFQUNJO0VBQ0E7RUFDQTtBaEY4bGFSOztBZ0Z4bGFJO0VBQ0k7QWhGMmxhUjtBZ0Z4bGFJO0VBQ0k7RUFDQSx5QmhGcDRDQTtBQTg5Y1I7O0FnRnRsYUE7RUFDSTtBaEZ5bGFKO0FnRnRsYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRndsYVI7O0FnRnBsYUE7RUFDSTtFQUNBO0VBQ0E7QWhGdWxhSjtBZ0ZybGFJO0VBQ0ksY2hGbDZDQTtFZ0ZtNkNBO0VBQ0E7RUFDQTtFQUNBO0FoRnVsYVI7QWdGcmxhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1bGFaO0FnRnBsYVE7RUFDSTtBaEZzbGFaO0FnRm5sYVE7RUFDSTtFQUNBO0FoRnFsYVo7QWdGamxhWTtFQUNJO0FoRm1sYWhCO0FnRmhsYVk7RUFDSTtBaEZrbGFoQjtBZ0Y5a2FRO0VBQ0k7RUFDQSxjaEZyOENKO0FBcWhkUjs7QWdGM2thQTtFQUNJO0FoRjhrYUo7QWdGM2thSTtFQUNJO0FoRjZrYVI7QWdGMWthSTtFQUNJO0VBQ0E7QWhGNGthUjtBZ0Yxa2FRO0VBQ0ksY2hGdjlDSjtBQW1pZFI7QWdGeGthSTtFQUNJO0FoRjBrYVI7O0FnRnRrYUE7RUFDSTtFQUNBO0VBQ0E7QWhGeWthSjtBZ0Z2a2FJO0VBQ0k7RUFDQTtFQUNBO0FoRnlrYVI7QWdGdGthSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRndrYVI7QWdGcmthSTtFQUNJO0FoRnVrYVI7O0FnRm5rYUE7RUFDSTtBaEZza2FKO0FnRnBrYUk7RUFDSTtFQUNBO0FoRnNrYVI7QWdGbmthSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZxa2FSO0FnRm5rYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QmhGMWdETDtFZ0YyZ0RLO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGcWthWjtBZ0Zsa2FRO0VBQ0k7QWhGb2thWjtBZ0Zqa2FRO0VBQ0k7RUFDQTtBaEZta2FaO0FnRi9qYVk7RUFDSTtBaEZpa2FoQjtBZ0Y5amFZO0VBQ0k7QWhGZ2thaEI7O0FnRnhqYUE7RUFDSTtFQUNBLHlCaEYxaURTO0VnRjJpRFQ7QWhGMmphSjs7QWdGeGphQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyamFKOztBZ0Z4amFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGMmphSjtBZ0Z6amFJO0VBQ0k7RUFDQSx5QmhGMWtEQTtFZ0Yya0RBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyamFSO0FnRnhqYUk7RUFDSTtBaEYwamFSOztBZ0Z0amFBO0VBQ0k7QWhGeWphSjs7QWdGdGphQTtFQUNJO0VBQ0E7RUFDQTtBaEZ5amFKO0FnRnZqYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0FoRnlqYVI7O0FnRnJqYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZ3amFKOztBZ0ZwamFJO0VBQ0k7RUFDQTtBaEZ1amFSO0FnRnJqYVE7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0FoRnVqYVo7QWdGamphUTtFQUNJO0FoRm1qYVo7O0FnRjdpYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZnamFKOztBZ0Y3aWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmdqYUo7O0FnRjVpYUE7RUFDSTtFQUNBO0FoRitpYUo7QWdGN2lhSTtFQUNJO0FoRitpYVI7O0FnRjNpYUE7RUFDSTtFQUNBO0VBQ0EsY2hGL3BERztBQTZzZFA7O0FnRjNpYUE7RUFDSTtBaEY4aWFKOztBZ0YzaWFBO0VBQ0k7RUFDQSx5QmhGdnFEUztBQXF0ZGI7O0FnRjNpYUE7RUFDSSx5QmhGanJESTtFZ0ZrckRKO0VBQ0EsY2hGbHJESTtFZ0ZtckRKO0VBQ0E7QWhGOGlhSjtBZ0Y1aWFJO0VBQ0k7QWhGOGlhUjtBZ0YzaWFJO0VBQ0ksY2hGM3JEQTtFZ0Y0ckRBO0VBQ0E7RUFDQTtFQUNBO0FoRjZpYVI7QWdGMWlhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjRpYVI7QWdGMWlhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEY0aWFaO0FnRnppYVE7RUFDSTtBaEYyaWFaO0FnRnZpYUk7RUFDSTtFQUNBO0VBQ0E7QWhGeWlhUjtBZ0Z2aWFRO0VBQ0k7QWhGeWlhWjtBZ0ZyaWFJO0VBQ0k7QWhGdWlhUjtBZ0ZyaWFRO0VBQ0k7RUFDQTtFQUNBO0tBQUE7RUFDQTtBaEZ1aWFaOztBZ0ZsaWFBO0VBQ0kseUJoRmh2REk7RWdGaXZESjtBaEZxaWFKO0FnRm5pYUk7RUFDSTtBaEZxaWFSO0FnRm5pYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZxaWFaO0FnRmppYUk7RUFDSSxjaEYzdkREO0VnRjR2REM7RUFDQTtFQUNBO0VBQ0E7QWhGbWlhUjtBZ0ZoaWFJO0VBQ0k7QWhGa2lhUjs7QWdGOWhhQTtFQUNJO0FoRmlpYUo7QWdGL2hhSTtFQUNJO0VBQ0E7QWhGaWlhUjtBZ0Y5aGFJO0VBQ0k7RUFDQTtFQUNBO0FoRmdpYVI7QWdGOWhhUTtFQUNJO0VBQ0E7RUFDQTtBaEZnaWFaOztBZ0YzaGFBOzs7RUFHSTtBaEY4aGFKOztBZ0YzaGFBOzs7RUFHSTtFQUNBO0VBQ0E7QWhGOGhhSjs7QWdGM2hhQTs7O0VBR0k7RUFDQTtFQUNBO0FoRjhoYUo7O0FnRjNoYUE7RUFDSTtBaEY4aGFKOztBZ0YzaGFBO0VBQ0k7QWhGOGhhSjtBZ0Y1aGFJO0VBQ0k7RUFDQTtBaEY4aGFSOztBZ0YxaGFBO0VBQ0ksY2hGaDBERztBQTYxZFA7O0FnRjFoYUE7RUFDSTtBaEY2aGFKOztBZ0Z4aGFBO0VBQ0k7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0FoRjJoYUo7O0FnRnhoYUE7RUFDSTtFQUNBO0VBQ0E7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjJoYUo7O0FnRnhoYUE7RUFDSTtFQUNBO0VBQ0E7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjJoYUo7O0FnRnhoYUE7RUFDSSx5QmhGajNESTtFZ0ZrM0RKLGNoRmozREk7RWdGazNESjtFQUNBO0FoRjJoYUo7O0FnRnZoYUE7RUFDSTtFQUNBO0FoRjBoYUo7O0FnRnZoYUE7RUFDSTtFQUNBO0VBQ0E7QWhGMGhhSjs7QWdGdmhhQTtFQUNJLGNoRm40REk7RWdGbzRESjtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0k7QWhGMGhhSjs7QWdGdmhhQTs7RUFFSTtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0k7QWhGMGhhSjs7QWdGdmhhQTs7RUFFSTtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0kseUJoRjE1REk7QUFvN2RSOztBZ0Z2aGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGbDZESTtFZ0ZtNkRKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGMGhhSjtBZ0Z4aGFJO0VBQ0k7RUFDQTtFQUNBO0FoRjBoYVI7O0FnRnRoYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnloYUo7QWdGdmhhSTtFQUNJO0FoRnloYVI7QWdGdGhhSTtFQUNJO0FoRndoYVI7O0FnRnBoYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCaEYxOERZO0VnRjI4RFo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1aGFKO0FnRnJoYUk7RUFDSTtFQUNBO0VBQ0E7QWhGdWhhUjs7QWdGbGhhSTtFQUNJO0VBQ0E7RUFDQSxjaEYxOURBO0FBKytkUjtBZ0ZuaGFRO0VBQ0k7QWhGcWhhWjtBZ0ZqaGFJO0VBQ0k7RUFDQTtFQUNBO0FoRm1oYVI7QWdGamhhUTtFQUNJO0VBQ0E7QWhGbWhhWjtBZ0ZoaGFRO0VBQ0ksY2hGNytESjtBQSsvZFI7QWdGOWdhSTtFQUNJLGNoRmovREE7QUFpZ2VSO0FnRjdnYUk7RUFDSTtFQUNBO0FoRitnYVI7QWdGNWdhSTtFQUNJO0FoRjhnYVI7QWdGM2dhSTtFQUNJLGNoRjkvREE7RWdGKy9EQTtFQUNBO0VBQ0E7QWhGNmdhUjs7QWdGemdhQTtFQUNJLHlCaEZuZ0VJO0VnRm9nRUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGaGhFSTtFZ0ZpaEVKO0VBQ0E7RUFDQTtFQUNBO0FoRjRnYUo7QWdGMWdhSTtFQUNJLHlCaEZ4aEVBO0FBb2llUjtBZ0Z6Z2FJO0VBQ0ksY2hGM2hFQTtFZ0Y0aEVBO0FoRjJnYVI7O0FnRnZnYUE7RUFDSTtFQUNBLHlCaEYvaEVJO0FBeWllUjtBZ0Z4Z2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZ6aUVBO0FBbWplUjtBZ0Z4Z2FRO0VBQ0ksY2hGNWlFSjtBQXNqZVI7QWdGdmdhUTtFQUNJLGNoRmpqRUo7QUEwamVSO0FnRnJnYUk7RUFDSTtBaEZ1Z2FSOztBZ0ZuZ2FBO0VBQ0k7RUFFQTtFQUNBO0FoRnFnYUo7QWdGbmdhSTtFQUNJO0FoRnFnYVI7QWdGbGdhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEZ4a0VBO0VnRnlrRUE7RUFDQTtFQUNBO0VBQ0E7QWhGb2dhUjtBZ0ZqZ2FJO0VBQ0k7RUFDQTtFQUNBO0FoRm1nYVI7QWdGamdhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbWdhWjtBZ0YvL1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaWdhUjtBZ0YvL1pRO0VBQ0k7RUFDQSx5QmhGMW1FSjtFZ0YybUVJO0VBQ0EsY2hGN21FSjtFZ0Y4bUVJO0FoRmlnYVo7QWdGLy9aWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRmpuRVI7RWdGa25FUSxjaEZybkVSO0VnRnNuRVE7RUFDQTtFQUNBO0VBQ0E7QWhGaWdhaEI7QWdGLy9aZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpZ2FwQjtBZ0Y3L1pZO0VBQ0k7QWhGKy9aaEI7QWdGNS9aWTtFQUNJO0VBQ0E7QWhGOC9aaEI7QWdGMS9aUTtFQUNJO0VBQ0E7QWhGNC9aWjtBZ0Z6L1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyL1paO0FnRnovWlk7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0FoRjIvWmhCO0FnRnQvWlk7RUFDSTtBaEZ3L1poQjs7QWdGbC9aQTtFQUNJO0FoRnEvWko7QWdGbi9aSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRnEvWlI7QWdGai9aUTtFQUNJO0FoRm0vWlo7QWdGaC9aUTtFQUNJO0FoRmsvWlo7QWdGLytaUTtFQUNJO0VBQ0EseUJoRi9yRUo7QUFncmVSO0FnRjkrWlE7RUFDSSx5QmhGbnNFSjtBQW1yZVI7O0FnRjMrWkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjlzRUk7RWdGK3NFSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjYrWko7QWdGMytaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjYrWlI7O0FnRnorWkE7RUFFSTtFQUNBO0VBQ0E7QWhGMitaSjs7QWdGeCtaQTtFQUVJO0FoRjArWko7O0FnRnYrWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGMCtaSjs7QWdGditaQTtFQUNJLHlCaEYxdkVTO0VnRjJ2RVQ7RUFDQTtFQUNBO0VBQ0E7QWhGMCtaSjtBZ0Z4K1pJO0VBQ0k7QWhGMCtaUjtBZ0Z2K1pJO0VBQ0k7RUFDQTtFQUNBO0FoRnkrWlI7QWdGdCtaSTtFQUNJO0FoRncrWlI7QWdGcitaSTtFQUNJO0VBQ0E7QWhGdStaUjtBZ0ZwK1pJO0VBQ0k7QWhGcytaUjtBZ0ZwK1pRO0VBQ0k7QWhGcytaWjtBZ0ZuK1pRO0VBQ0k7QWhGcStaWjtBZ0ZoK1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJoRnR5RUE7RWdGdXlFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGaytaUjtBZ0ZoK1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmsrWlo7QWdGLzlaUTtFQUNJLHlCaEZsMEVKO0FBbXllUjs7QWdGNTlaQTtFQUNJLGtDSjEwRVc7RUkyMEVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRis5Wko7QWdGNzlaSTtFQUNJO0FoRis5WlI7QWdGNTlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGODlaUjs7QWdGMTlaQTtFQUNJO0FoRjY5Wko7QWdGMzlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjY5WlI7QWdGMzlaUTtFQUNJO0FoRjY5Wlo7QWdGejlaSTtFQUNJO0VBQ0E7QWhGMjlaUjtBZ0Z4OVpJO0VBQ0k7QWhGMDlaUjs7QWdGdDlaQTtFQUNJLGNoRnozRUk7RWdGMDNFSjtFQUNBO0VBQ0E7QWhGeTlaSjtBZ0Z2OVpJO0VBQ0k7RUFDQTtBaEZ5OVpSO0FnRnQ5Wkk7RUFDSSx5QmhGcjRFQTtBQTYxZVI7QWdGcjlaSTtFQUNJLGNoRno0RUE7QUFnMmVSO0FnRnI5WlE7RUFDSTtBaEZ1OVpaO0FnRnA5WlE7RUFDSSx5QmhGLzRFSjtBQXEyZVI7O0FnRmo5WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGMzVFSTtFZ0Y0NUVKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRm85Wko7QWdGbDlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbzlaUjtBZ0ZqOVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZtOVpSO0FnRmo5WlE7RUFDSTtBaEZtOVpaO0FnRi84Wlk7RUFDSTtBaEZpOVpoQjtBZ0YzOFpJO0VBQ0k7RUFDQTtFQUNBO0FoRjY4WlI7QWdGMzhaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjU4RUo7RWdGNjhFSTtFQUNBO0VBQ0E7QWhGNjhaWjtBZ0YxOFpRO0VBQ0k7QWhGNDhaWjtBZ0Z2OFpJO0VBQ0k7QWhGeThaUjs7QWdGcjhaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnc4Wko7QWdGdDhaSTtFQUNJO0VBQ0E7QWhGdzhaUjs7QWdGcDhaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGdThaSjs7QWdGcDhaQTtFQUNJO0FoRnU4Wko7QWdGcjhaSTtFQUNJO0FoRnU4WlI7QWdGbjhaSTtFQUNJO0FoRnE4WlI7QWdGbjhaUTtFQUNJO0VBQ0E7QWhGcThaWjtBZ0ZqOFpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGbThaUjtBZ0ZqOFpRO0VBQ0k7QWhGbThaWjtBZ0YvN1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGOWhGQTtFZ0YraEZBLGNoRmhpRkE7RWdGaWlGQTtBaEZpOFpSO0FnRi83WlE7RUFDSTtFQUNBLHlCaEZqaUZKO0VnRmtpRkksY2hGcmlGSjtFZ0ZzaUZJO0FoRmk4Wlo7QWdGOTdaUTtFQUNJO0FoRmc4Wlo7QWdGNzdaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGdGpGSjtBQXEvZVI7QWdGNzdaWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRis3WmhCOztBZ0Z6N1pBO0VBQ0k7QWhGNDdaSjtBZ0YxN1pJO0VBQ0k7RUFDQTtBaEY0N1pSO0FnRno3Wkk7RUFDSTtBaEYyN1pSOztBZ0Z2N1pBO0VBQ0k7RUFDQTtBaEYwN1pKO0FnRng3Wkk7RUFDSTtBaEYwN1pSOztBZ0Z0N1pBO0VBQ0k7QWhGeTdaSjs7QWdGdDdaQTtFQUNJO0VBQ0E7QWhGeTdaSjtBZ0Z2N1pJO0VBQ0ksa0NKdm1GTztFSXdtRlA7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoRjFtRkE7RWdGMm1GQTtFQUNBLHlCaEYxbUZDO0VnRjJtRkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeTdaUjtBZ0Z0N1pJO0VBQ0k7QWhGdzdaUjs7QWdGcDdaQTtFQUNJO0VBQ0EseUJoRjduRkk7QUFvamZSO0FnRnA3WlE7RUFDSTtFQUNBLHlCaEY3bkZDO0FBbWpmYjtBZ0ZuN1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY2hGMW9GSjtFZ0Yyb0ZJO0FoRnE3Wlo7O0FnRmg3WkE7RUFDSTtFQUNBO0VBQ0E7QWhGbTdaSjtBZ0ZqN1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGbTdaUjtBZ0ZqN1pRO0VBQ0k7RUFDQSx5QmhGNXBGSjtBQStrZlI7O0FpRmxsZkE7RUFDSTtFQUNBO0FqRnFsZko7O0FpRmxsZkE7RUFDSTtFQUNBO0FqRnFsZko7O0FpRmxsZkE7RUFDSTtJQUNJO0lBQ0E7RWpGcWxmTjtFaUZsbGZFO0lBQ0k7SUFDQTtFakZvbGZOO0FBQ0Y7O0FpRjdsZkE7RUFDSTtJQUNJO0lBQ0E7RWpGcWxmTjtFaUZsbGZFO0lBQ0k7SUFDQTtFakZvbGZOO0FBQ0Y7QWlGamxmQTtFQUNJO0VBQ0E7QWpGbWxmSjs7QWlGaGxmQTtFQUNJO0lBQ0k7SUFDQTtFakZtbGZOO0VpRmhsZkU7SUFDSTtJQUNBO0VqRmtsZk47QUFDRjs7QWlGM2xmQTtFQUNJO0lBQ0k7SUFDQTtFakZtbGZOO0VpRmhsZkU7SUFDSTtJQUNBO0VqRmtsZk47QUFDRjtBaUYva2ZBO0VBQ0k7SUFDSTtJQUNBO0VqRmlsZk47RWlGOWtmRTtJQUNJO0VqRmdsZk47RWlGN2tmRTtJQUNJO0lBQ0E7RWpGK2tmTjtBQUNGO0FpRjVsZkE7RUFDSTtJQUNJO0lBQ0E7RWpGaWxmTjtFaUY5a2ZFO0lBQ0k7RWpGZ2xmTjtFaUY3a2ZFO0lBQ0k7SUFDQTtFakYra2ZOO0FBQ0Y7QWlGNWtmQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCakZyREk7RWlGc0RKO0FqRjhrZko7O0FpRjNrZkE7RUFDSTtBakY4a2ZKOztBaUYza2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGOGtmSjtBaUY1a2ZJO0VBQ0k7RUFDQTtBakY4a2ZSOztBaUYxa2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGNmtmSjtBaUYza2ZJO0VBQ0k7RUFDQTtBakY2a2ZSOztBaUZ4a2ZBO0VBQ0k7RUFDQTtFQUNBO0FqRjJrZko7O0FpRnhrZkE7RUFDSTtVQUFBO0FqRjJrZko7O0FpRnhrZkE7RUFDRTtJQUNFO0VqRjJrZkY7QUFDRjs7QWlGOWtmQTtFQUNFO0lBQ0U7RWpGMmtmRjtBQUNGO0FrRnByZkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRnNyZko7O0FrRm5yZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRnNyZko7O0FrRm5yZkE7RUFDSTtBbEZzcmZKOztBa0ZucmZBO0VBQ0k7QWxGc3JmSjs7QW1GcHRmQTtFQUNJLGtDUERXO0VPRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNuRkpJO0VtRktKO0VBQ0EseUJuRkpLO0VtRktMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdXRmSjtBbUZydGZJO0VBQ0k7RUFDQSxtQm5GWkE7RW1GYUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkZ1dGZSO0FtRnB0Zkk7RUFDSTtFQUNBO0VBQ0E7QW5Gc3RmUjtBbUZudGZJO0VBQ0k7RUFDQTtBbkZxdGZSO0FtRmx0Zkk7RUFDSTtFQUNBO0VBQ0E7QW5Gb3RmUjtBbUZqdGZJO0VBQ0k7QW5GbXRmUjtBbUYvc2ZRO0VBQ0k7RUFDQTtBbkZpdGZaO0FtRjlzZlE7RUFDSTtVQUFBO0FuRmd0Zlo7QW1GN3NmUTtFQUNJO0VBQ0E7QW5GK3NmWjtBbUYzc2ZJO0VBQ0k7RUFDQTtBbkY2c2ZSO0FtRjNzZlE7RUFDSTtBbkY2c2ZaO0FtRjFzZlE7RUFDSSx5Qm5GckVKO0VtRnNFSSxjbkZ2RUo7QUFteGZSO0FtRjFzZlk7RUFDSSxjbkZ6RVI7QUFxeGZSO0FtRnhzZlE7RUFDSTtFQUNBLGNuRmhGSjtBQTB4ZlI7QW1GeHNmWTtFQUNJLGNuRmxGUjtBQTR4ZlI7QW1GbnNmUTtFQUNJO0VBQ0E7QW5GcXNmWjtBbUZuc2ZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRnFzZmhCO0FtRmhzZkk7RUFDSSx5Qm5GekdBO0FBMnlmUjtBbUZoc2ZRO0VBQ0ksbUJuRjdHSDtBQSt5ZlQ7QW1GOXJmSTtFQUNJLHlCbkZySEE7QUFxemZSO0FtRjlyZlE7RUFDSSxtQm5GckhIO0FBcXpmVDs7QW1GM3JmQTtFQUNJLGtDUGhJVztFT2lJWDtFQUNBO0VBQ0E7RUFDQTtBbkY4cmZKO0FtRjVyZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5Qm5GcElBO0VtRnFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRjhyZlI7QW1GM3JmSTtFQUNJO0FuRjZyZlI7QW1GMXJmSTtFQUNJO0VBQ0E7QW5GNHJmUjtBbUZ6cmZJO0VBQ0k7RUFDQTtBbkYycmZSO0FtRnpyZlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GMnJmWjtBbUZ0cmZRO0VBQ0k7QW5Gd3JmWjtBbUZycmZRO0VBQ0k7QW5GdXJmWjtBbUZucmZJO0VBQ0ksY25GckxBO0FBMDJmUjtBbUZucmZRO0VBQ0kseUJuRnhMSjtBQTYyZlI7QW1GbHJmUTtFQUNJO0FuRm9yZlo7O0FtRjlxZkE7RUFDSTtJQUNJO0VuRmlyZk47QUFDRjs7QW1GcHJmQTtFQUNJO0lBQ0k7RW5GaXJmTjtBQUNGO0FtRjlxZkE7RUFDSTtJQUNJO0VuRmdyZk47RW1GOXFmRTtJQUNJO0VuRmdyZk47QUFDRjtBbUZ0cmZBO0VBQ0k7SUFDSTtFbkZncmZOO0VtRjlxZkU7SUFDSTtFbkZncmZOO0FBQ0Y7QW9GaDRmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtFQUNBO0FwRms0Zko7O0FvRi8zZkE7RUFDRTtBcEZrNGZGOztBb0YvM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7RUFDQTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0VBQ0E7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0kseUJwRjNDSTtBQTY2ZlI7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGazRmSjtBb0ZoNGZJO0VBQ0kseUJwRnBESztBQXM3ZmI7QW9GLzNmSTtFQUNJLHlCcEY3REE7QUE4N2ZSOztBb0YzM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRjgzZko7O0FvRjMzZkE7RUFDSTtBcEY4M2ZKOztBb0Y1M2ZBO0VBQ0ksY3BGMUVJO0FBeThmUjs7QW9GNTNmQTtFQUNJO0VBQ0E7QXBGKzNmSjs7QW9GNTNmQTtFQUNJO0VBQ0E7QXBGKzNmSjtBb0Y3M2ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRiszZlI7O0FvRjMzZkE7RUFDSTtFQUNBO0FwRjgzZko7O0FvRjMzZkE7RUFDSTtFQUNBO0FwRjgzZko7O0FvRjMzZkE7RUFDSTtBcEY4M2ZKOztBb0YxM2ZBO0VBQ0k7QXBGNjNmSjs7QW9GMTNmQTtFQUNJO0FwRjYzZko7O0FvRjEzZkE7RUFDSTtFQUNBO0FwRjYzZko7O0FvRjEzZkE7RUFDSTtBcEY2M2ZKOztBb0YxM2ZBO0VBQ007QXBGNjNmTjs7QW9GMTNmQTtFQUNNO0VBQ0E7QXBGNjNmTjs7QW9GMTNmQTtFQUNNO0FwRjYzZk47O0FvRjEzZkE7RUFDSTtBcEY2M2ZKOztBb0Z6M2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRjQzZko7O0FvRnozZkE7RUFDSTtBcEY0M2ZKOztBb0Z6M2ZBO0VBQ0k7QXBGNDNmSjs7QW9GejNmQTtFQUNFO0FwRjQzZkY7O0FvRngzZkE7RUFDSTtFQUNBO0VBQ0E7QXBGMjNmSjs7QW9GeDNmQTtFQUNFO0VBQ0E7QXBGMjNmRjtBb0Z6M2ZFO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGMjNmTjs7QW9GdDNmQTtFQUNJO0VBQ0EsY3BGOUxJO0FBdWpnQlI7O0FvRnIzZkE7RUFDSTtBcEZ3M2ZKOztBb0ZyM2ZBO0VBQ0k7RUFDQTtFQUNBLGNwRnJNSTtFb0ZzTUo7QXBGdzNmSjtBb0Z0M2ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwRi9NQTtBQXVrZ0JSOztBb0ZwM2ZBO0VBQ0ksY3BGeE5JO0FBK2tnQlI7O0FvRm4zZkE7RUFDSTtBcEZzM2ZKOztBb0ZuM2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZzM2ZKO0FvRnAzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnBGOU9BO0VvRitPQTtBcEZzM2ZSOztBb0ZsM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRnEzZko7O0FvRmwzZkE7RUFDSSxjcEZ6UEk7QUE4bWdCUjs7QW9GbDNmQTtFQUNJLGNwRjFQSTtBQSttZ0JSOztBb0ZsM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRnEzZko7QW9GbjNmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEZ6UUE7QUE4bmdCUjs7QW9GajNmQTtFQUNJO0FwRm8zZko7O0FvRmozZkE7RUFDSTtFQUNBO0FwRm8zZko7QW9GbDNmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEZoU0E7RW9GaVNBO0FwRm8zZlI7O0FvRmgzZkE7RUFDSSxrQ1J4U1c7RVF5U1g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNwRjNTSTtFb0Y0U0o7RUFDQSx5QnBGMVNJO0VvRjJTSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGbTNmSjtBb0ZqM2ZJO0VBQ0k7RUFDQTtBcEZtM2ZSO0FvRmgzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QnBGM1RBO0VvRjRUQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGazNmUjtBb0ZoM2ZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZrM2ZaO0FvRi8yZlE7RUFDSTtBcEZpM2ZaO0FvRjcyZkk7RUFDSSx5QnBGeFZDO0FBdXNnQlQ7QW9GNzJmUTtFQUNJLHlCcEYzVkg7QUEwc2dCVDtBb0Y3MmZZO0VBQ0k7QXBGKzJmaEI7QW9GNTJmWTtFQUNJO0FwRjgyZmhCOztBb0Z4MmZBO0VBQ0kseUJwRnhXSTtFb0Z5V0o7RUFDQTtFQUNBLGNwRjlXSTtBQXl0Z0JSO0FvRnoyZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEYyMmZSO0FvRngyZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEYwMmZSOztBb0Z0MmZBO0VBQ0k7RUFDQTtFQUNBO0FwRnkyZko7O0FvRnQyZkE7RUFDSSxjcEZ0WUk7QUErdWdCUjs7QW9GdDJmQTtFQUNJLGNwRjNZSTtBQW92Z0JSOztBb0Z0MmZBO0VBQ0kseUJwRi9ZSTtBQXd2Z0JSOztBb0Z0MmZBO0VBQ0kseUJwRi9ZSTtBQXd2Z0JSOztBb0Z0MmZBO0VBQ0k7RUFDQTtBcEZ5MmZKOztBb0Z0MmZBO0VBQ0ksY3BGM1pJO0VvRjRaSjtBcEZ5MmZKOztBb0Z0MmZBO0VBQ0k7RUFDQTtBcEZ5MmZKOztBb0Z0MmZBO0VBQ0ksY3BGdGFJO0FBK3dnQlI7QW9GdjJmSTtFQUNJLHlCcEZ6YUE7QUFreGdCUjs7QW9GcjJmQTtFQUNFO0FwRncyZkY7O0FvRnAyZkE7RUFDSTtBcEZ1MmZKO0FvRnIyZkk7RUFDSTtFQUNBLGNwRnZiQTtBQTh4Z0JSOztBb0ZuMmZBO0VBQ0k7RUFDQSxjcEY1Ykk7RW9GNmJKO0FwRnMyZko7QW9GcDJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEZ2Y0E7RW9Gd2NBO0FwRnMyZlI7QW9GbjJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEY5Y0E7RW9GK2NBO0FwRnEyZlI7O0FvRmoyZkE7RUFDSTtBcEZvMmZKOztBb0ZqMmZBO0VBQ0ksY3BGM2RJO0FBK3pnQlI7O0FvRmoyZkE7RUFDSTtBcEZvMmZKOztBb0ZqMmZBO0VBQ0kseUJwRm5lSTtFb0ZvZUo7RUFDQTtBcEZvMmZKO0FvRmwyZkk7RUFDSTtBcEZvMmZSOztBb0ZoMmZBO0VBQ0k7QXBGbTJmSjs7QW9GaDJmQTtFQUNJO0VBQ0E7QXBGbTJmSjs7QW9GaDJmQTtFQUNJO0VBQ0E7QXBGbTJmSjs7QW9GaDJmQTtFQUNJO0FwRm0yZko7O0FvRi8xZkE7RUFDSTtFQUNBO0FwRmsyZko7O0FvRi8xZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmsyZko7O0FvRi8xZkE7RUFDSTtBcEZrMmZKOztBb0YvMWZBO0VBQ0k7QXBGazJmSjs7QW9GOTFmQTtFQUNJO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtBcEZpMmZKOztBb0Y5MWZBO0VBQ0k7RUFDQTtBcEZpMmZKOztBb0Y5MWZBO0VBQ0k7QXBGaTJmSjs7QW9GOTFmQTtFQUNJO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtFQUNBO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtBcEZpMmZKO0FvRi8xZkk7RUFDSSxjcEZ0akJBO0VvRnVqQkE7QXBGaTJmUjtBb0Y5MWZJO0VBQ0k7QXBGZzJmUjs7QW9GMzFmSTtFQUNJO0VBQ0E7RUFDQTtBcEY4MWZSO0FvRjMxZkk7RUFDSTtFQUNBO0FwRjYxZlI7QW9GMTFmSTtFQUNJO0FwRjQxZlI7QW9GejFmSTtFQUVJO0VBQ0EseUJwRmhsQks7RW9GaWxCTDtFQUNBO0FwRjAxZlI7QW9GeDFmUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRjAxZlo7QW9GdDFmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGdzFmUjtBb0ZwMWZRO0VBQ0k7QXBGczFmWjtBb0ZuMWZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGcTFmWjs7QW9GOTBmQTtFQUNJO0VBQ0E7QXBGaTFmSjs7QW9GNzBmQTtFQUdRO0lBRUU7RXBGNjBmUjs7RW9GejBmRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VwRjQwZko7QUFDRjtBb0Z6MGZBO0VBQ0k7SUFDRTtJQUNBO0lBQ0E7RXBGMjBmSjs7RW9GeDBmRTtJQUNFO0lBQ0E7SUFDQTtFcEYyMGZKOztFb0Z4MGZFO0lBQ0U7RXBGMjBmSjtBQUNGO0FvRngwZkE7RUFDSTtJQUNFO0VwRjAwZko7O0VvRnYwZkU7SUFDRTtFcEYwMGZKOztFb0Z2MGZFOztJQUVFO0VwRjAwZko7O0VvRnYwZkU7SUFDRTtFcEYwMGZKO0FBQ0Y7QW9GdjBmQTtFQUNJO0lBQ0U7RXBGeTBmSjtBQUNGO0FvRnQwZkE7RUFDSTtJQUNFO0VwRncwZko7O0VvRnIwZkU7SUFDRTtFcEZ3MGZKOztFb0ZyMGZFO0lBQ0U7RXBGdzBmSjs7RW9GcjBmRTtJQUNJO0VwRncwZk47RW9GdDBmTTtJQUNJO0VwRncwZlY7O0VvRm4wZkU7SUFDRTtFcEZzMGZKO0FBQ0Y7QW9GbDBmQTtFQUNJO0lBQ0U7RXBGbzBmSjs7RW9GajBmRTtJQUNFO0VwRm8wZko7O0VvRmowZkU7SUFDRTtFcEZvMGZKO0FBQ0Y7QW9GajBmQTtFQUNJO0lBQ0k7RXBGbTBmTjs7RW9GaDBmRTtJQUNJO0VwRm0wZk47O0VvRmgwZkU7SUFDSTtJQUNBO0VwRm0wZk47O0VvRmgwZkU7SUFDSTtFcEZtMGZOO0FBQ0Y7QW9GaDBmQTtFQUNJO0lBQ0k7SUFDQTtFcEZrMGZOO0VvRmgwZk07SUFDSTtFcEZrMGZWOztFb0Y5emZFO0lBQ0k7RXBGaTBmTjtBQUNGO0FvRjl6ZkE7RUFDSTtJQUNFO0VwRmcwZko7O0VvRjd6ZkU7SUFDRTtFcEZnMGZKOztFb0Y3emZFO0lBQ0U7RXBGZzBmSjs7RW9GN3pmRTtJQUNFO0VwRmcwZko7O0VvRjd6ZkU7SUFDRTtFcEZnMGZKOztFb0Y3emZFO0lBRUk7RXBGK3pmTjs7RW9GNXpmRTs7O0lBSUk7RXBGOHpmTjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0VwRjh6Zko7O0VvRjN6ZkU7SUFDRTtFcEY4emZKOztFb0YzemZFO0lBQ0U7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNJO0lBQ0E7RXBGOHpmTjs7RW9GM3pmRTtJQUNFO0VwRjh6Zko7O0VvRjN6ZkU7SUFDRTtFcEY4emZKO0VvRjV6Zkk7SUFDSTtFcEY4emZSOztFb0YxemZFO0lBQ0U7RXBGNnpmSjs7RW9GMXpmRTtJQUNFO0VwRjZ6Zko7O0VvRjF6ZkU7O0lBRUU7RXBGNnpmSjs7RW9GMXpmRTtJQUNJO0VwRjZ6Zk47RW9GM3pmTTtJQUNJO0VwRjZ6ZlY7O0VvRnp6ZkU7SUFDRTtFcEY0emZKOztFb0Z6emZFO0lBQ0U7RXBGNHpmSjs7RW9GenpmRTtJQUNJO0VwRjR6Zk47O0VvRnp6ZkU7SUFDSTtFcEY0emZOO0VvRjF6Zk07SUFDSTtJQUNBO0lBQ0E7RXBGNHpmVjs7RW9GeHpmRTtJQUNJO0VwRjJ6Zk47QUFDRjtBcUYxc2hCQTtFQXlKSTt5QkFBQTtBckZxamhCSjtBcUY3c2hCRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRjhzaEJGO0FxRjNzaEJDO0VBQ0c7QXJGNnNoQko7QXFGMXNoQkE7RUFDSTtFQUNBO0VBQ0E7QXJGNHNoQko7QXFGenNoQkE7RUFDRTtFQUNBO0VBQ0E7QXJGMnNoQkY7QXFGeHNoQkU7RUFDRTtBckYwc2hCSjtBcUZ6c2hCRTtFQUNFO0FyRjJzaEJKO0FxRjFzaEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUdBO0VBRUE7RUFDQTtBckY0c2hCSjtBcUYxc2hCRTtFQUdVO0FyRjRzaEJaO0FxRjNzaEJFO0VBQ0U7RUFDQTtFQUdRO0FyRjZzaEJaO0FxRjVzaEJFO0VBQ0U7RUFDQTtFQUNBO0FyRjhzaEJKO0FxRjdzaEJJO0VBQ0U7QXJGK3NoQk47QXFGOXNoQkU7RUFDRTtBckZndGhCSjtBcUYvc2hCSTtFQUNFO0VBQ0E7QXJGaXRoQk47QXFGaHRoQkU7RUFDRTtBckZrdGhCSjtBcUZqdGhCSTtFQUNFO0VBQ0E7QXJGbXRoQk47QXFGbHRoQkU7RUFDRTtFQUNBO0VBQ0E7QXJGb3RoQko7QXFGbnRoQkk7RUFDRTtFQUNBO0FyRnF0aEJOO0FxRnB0aEJJO0VBQ0U7RUFDQTtBckZzdGhCTjtBcUZydGhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdRO0VBR0E7RUFFUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRnV0aEJKO0FxRnJ0aEJJO0VBQ0U7QXJGdXRoQk47QXFGdHRoQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBckZ3dGhCSjtBcUZ2dGhCSTtFQUNFO0FyRnl0aEJOO0FxRnR0aEJJO0VBQ0U7RUFDQTtFQUNBO0FyRnd0aEJOO0FxRnR0aEJBO0VBQ0U7QXJGd3RoQkY7QXFGdHRoQkE7RUFDRTtBckZ3dGhCRjs7QXNGNTNoQkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnRGRkk7RXNGR0o7RUFDQTtFQUVBOzs7Ozs7Ozs7Ozs7R0FBQTtBdEZ5NGhCSjtBc0Y1M2hCSTtFQUNJO0F0RjgzaEJSOztBc0YxM2hCQTtFQUVJO0F0RjQzaEJKO0FzRjEzaEJJO0VBQ0k7QXRGNDNoQlI7O0FzRngzaEJBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7QXRGMDNoQko7QXNGeDNoQkk7RUFDSTtFQUNBO0F0RjAzaEJSOztBc0ZyM2hCQTtFQUVJO0VBQ0E7QXRGdTNoQko7QXNGcjNoQkk7RUFDSTtFQUNBO0VBQ0E7QXRGdTNoQlI7O0FzRm4zaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGczNoQko7O0FzRm4zaEJBO0VBQ0k7RUFDQTtBdEZzM2hCSjs7QXVGOTdoQkE7RUFDSTtJQUNJO0V2Rmk4aEJOO0FBQ0Y7O0F1RnA4aEJBO0VBQ0k7SUFDSTtFdkZpOGhCTjtBQUNGO0F1Ri83aEJBO0VBQ0k7SUFDSTtJQUNBO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7SUFDQTtFdkZpOGhCTjtBQUNGO0F1Rno4aEJBO0VBQ0k7SUFDSTtJQUNBO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7SUFDQTtFdkZpOGhCTjtBQUNGO0F1Ri83aEJBO0VBQ0k7SUFDSTtFdkZpOGhCTjtFdUYvN2hCRTtJQUNJO0V2Rmk4aEJOO0FBQ0Y7QXVGdjhoQkE7RUFDSTtJQUNJO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7RXZGaThoQk47QUFDRjtBdUYvN2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZpOGhCSjs7QXVGLzdoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZrOGhCSjs7QXVGaDhoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZtOGhCSjs7QXVGajhoQkE7RUFDSTtBdkZvOGhCSjs7QXVGbDhoQkE7RUFDSTtBdkZxOGhCSjs7QXVGbjhoQkE7RUFDSTtBdkZzOGhCSjs7QXVGcDhoQkE7RUFDSTtBdkZ1OGhCSjs7QXVGcjhoQkE7RUFDSTtBdkZ3OGhCSjs7QXVGdDhoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGeThoQko7O0F1RnY4aEJBO0VBQ0k7QXZGMDhoQko7O0F1Rng4aEJBO0VBQ0k7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjI4aEJKOztBdUZ6OGhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjQ4aEJKOztBdUYxOGhCQTtFQUNJO0F2RjY4aEJKOztBdUYzOGhCQTtFQUNJO0F2Rjg4aEJKOztBdUY1OGhCQTtFQUNJO0lBQ0k7SUFDQTtFdkYrOGhCTjtBQUNGO0F1Rjc4aEJBO0VBQ0k7SUFDSTtFdkYrOGhCTjtBQUNGO0F1Rjc4aEJBO0VBQ0k7QXZGKzhoQko7O0F1Rjc4aEJBO0VBQ0k7QXZGZzloQko7O0F1Rjk4aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGaTloQko7O0F1Ri84aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZrOWhCSjs7QXVGaDloQkE7RUFDSTtBdkZtOWhCSjs7QXVGajloQkE7RUFDSTtBdkZvOWhCSjs7QXVGbDloQkE7RUFDSTtBdkZxOWhCSjs7QXVGbjloQkE7RUFDSTtBdkZzOWhCSjs7QXVGcDloQkE7RUFDSTtBdkZ1OWhCSjs7QXVGcjloQkE7RUFDSSxtQnZGdkpJO0V1RndKSjtBdkZ3OWhCSjs7QXVGdDloQkE7RUFDSTtBdkZ5OWhCSjs7QXVGdjloQkE7RUFDSSxtQnZGOUpJO0V1RitKSjtBdkYwOWhCSjs7QXVGeDloQkE7RUFDSSxtQnZGbEtJO0V1Rm1LSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjI5aEJKOztBdUZ6OWhCQTtFQUNJO0VBQ0E7QXZGNDloQko7O0F1RjE5aEJBO0VBQ0ksbUJ2RnBMSTtBQWlwaUJSOztBdUYzOWhCQTtFQUNJO0VBQ0E7QXZGODloQko7O0F1RjU5aEJBO0VBQ0k7QXZGKzloQko7O0F1Rjc5aEJBO0VBQ0k7QXZGZytoQko7O0F1Rjk5aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZGaStoQko7O0F1Ri85aEJBO0VBQ0k7QXZGaytoQko7O0F1RmgraEJBO0VBQ0k7QXZGbStoQko7O0F1RmoraEJBO0VBQ0k7RUFDQTtBdkZvK2hCSjs7QXVGbCtoQkE7RUFDSTtBdkZxK2hCSjs7QXVGbitoQkE7RUFDSTtJQUNJO0V2RnMraEJOO0FBQ0Y7QXVGcCtoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZzK2hCSjs7QXVGcCtoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnUraEJKOztBdUZyK2hCQTtFQUNJO0lBQ0k7RXZGdytoQk47QUFDRjtBdUZ0K2hCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3K2hCSjs7QXVGdCtoQkE7RUFDSTtBdkZ5K2hCSjs7QXVGditoQkE7RUFDSTtBdkYwK2hCSjs7QXVGeCtoQkE7RUFDSTtFQUNBO0VBQ0E7QXZGMitoQko7O0F1RnoraEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGNCtoQko7O0F1RjEraEJBO0VBQ0k7RUFDQTtFQUNBO0F2RjYraEJKOztBdUYzK2hCQTtFQUNJO0VBQ0E7QXZGOCtoQko7O0F1RjUraEJBO0VBQ0k7QXZGKytoQko7O0F1RjcraEJBO0VBQ0k7QXZGZy9oQko7O0F1RjkraEJBO0VBQ0k7QXZGaS9oQko7O0F1Ri8raEJBO0VBQ0k7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZrL2hCSjs7QXVGaC9oQkE7RUFDSTtFQUNBO0F2Rm0vaEJKOztBdUZqL2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGby9oQko7O0F1RmwvaEJBO0VBQ0k7QXZGcS9oQko7O0F1Rm4vaEJBO0VBQ0k7QXZGcy9oQko7O0F1RnAvaEJBO0VBQ0k7QXZGdS9oQko7O0F1RnIvaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGdy9oQko7O0F1RnQvaEJBO0VBQ0k7RUFDQTtFQUNBO0F2RnkvaEJKOztBdUZ2L2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMC9oQko7O0F1RngvaEJBO0VBQ0k7QXZGMi9oQko7O0F1RnovaEJBO0VBQ0k7RUFDQTtBdkY0L2hCSjs7QXVGMS9oQkE7RUFDSTtBdkY2L2hCSjs7QXVGMy9oQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGOC9oQko7O0F1RjUvaEJBO0VBQ0k7RUFDQTtBdkYrL2hCSjs7QXVGNy9oQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZnZ2lCSjs7QXVGOS9oQkE7RUFDSTtBdkZpZ2lCSjs7QXVGLy9oQkE7RUFDSTtBdkZrZ2lCSjs7QXVGaGdpQkE7RUFDSTtBdkZtZ2lCSjs7QXVGamdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm9naUJKOztBdUZsZ2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxZ2lCSjs7QXVGbmdpQkE7RUFDSSxtQnZGN1pJO0FBbTZpQlI7O0F1RnBnaUJBO0VBQ0k7RUFDQTtBdkZ1Z2lCSjs7QXVGcmdpQkE7RUFDSTtBdkZ3Z2lCSjs7QXVGdGdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ5Z2lCSjs7QXVGdmdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGN2RnBiSTtFdUZxYko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjBnaUJKOztBdUZ4Z2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkYyZ2lCSjs7QXVGemdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RjRnaUJKOztBdUYxZ2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGNmdpQko7O0F1RjNnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0F2RjhnaUJKOztBdUY1Z2lCQTtFQUNJO0VBQ0E7RUFDQTtBdkYrZ2lCSjs7QXVGN2dpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGZ2hpQko7O0F1RjlnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBdkZpaGlCSjs7QXVGL2dpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGa2hpQko7O0F1RmhoaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGbWhpQko7O0F1RmpoaUJBO0VBQ0k7QXZGb2hpQko7O0F1RmxoaUJBO0VBQ0k7QXZGcWhpQko7O0F1Rm5oaUJBO0VBQ0k7QXZGc2hpQko7O0F1RnBoaUJBO0VBQ0k7RUFDQTtBdkZ1aGlCSjs7QXVGcmhpQkE7RUFDSTtFQUNBO0F2RndoaUJKOztBdUZ0aGlCQTtFQUNJO0VBQ0E7QXZGeWhpQko7O0F1RnZoaUJBO0VBQ0k7QXZGMGhpQko7O0F1RnhoaUJBO0VBQ0k7QXZGMmhpQko7O0F1RnpoaUJBO0VBQ0k7QXZGNGhpQko7O0F1RjFoaUJBO0VBQ0k7QXZGNmhpQko7O0F1RjNoaUJBO0VBQ0k7QXZGOGhpQko7O0F1RjVoaUJBO0VBQ0k7QXZGK2hpQko7O0F1RjdoaUJBO0VBQ0k7QXZGZ2lpQko7O0F1RjloaUJBO0VBQ0k7QXZGaWlpQko7O0F1Ri9oaUJBO0VBQ0k7QXZGa2lpQko7O0F1RmhpaUJBO0VBQ0k7QXZGbWlpQko7O0F1RmppaUJBO0VBQ0k7QXZGb2lpQko7O0F1RmxpaUJBO0VBQ0k7QXZGcWlpQko7O0F1Rm5paUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnNpaUJKOztBdUZwaWlCQTtFQUNJO0F2RnVpaUJKOztBdUZyaWlCQTtFQUNJO0F2RndpaUJKOztBdUZ0aWlCQTtFQUNJO0VBQ0E7QXZGeWlpQko7O0F1RnZpaUJBO0VBQ0k7SUFDSTtFdkYwaWlCTjtBQUNGO0F1RnhpaUJBO0VBQ0k7QXZGMGlpQko7O0F1RnhpaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMmlpQko7O0F1RnppaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY0aWlCSjs7QXVGMWlpQkE7RUFDSTtFQUNBO0F2RjZpaUJKOztBdUYzaWlCQTtFQUNJO0F2RjhpaUJKOztBdUY1aWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkYraWlCSjs7QXVGN2lpQkE7RUFDSTtBdkZnamlCSjs7QXVGOWlpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZpamlCSjs7QXVGL2lpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGa2ppQko7O0F1RmhqaUJBO0VBQ0k7QXZGbWppQko7O0F1RmpqaUJBO0VBQ0k7RUFDQTtBdkZvamlCSjs7QXVGbGppQkE7RUFDSTtBdkZxamlCSjs7QXVGbmppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnNqaUJKOztBdUZwamlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RnVqaUJKOztBdUZyamlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3amlCSjs7QXVGdGppQkE7RUFDSTtFQUNBO0F2RnlqaUJKOztBdUZ2amlCQTtFQUNJO0VBQ0E7QXZGMGppQko7O0F1RnhqaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMmppQko7O0F1RnpqaUJBO0VBQ0k7QXZGNGppQko7O0F1RjFqaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY2amlCSjs7QXVGM2ppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGOGppQko7O0F1RjVqaUJBO0VBQ0ksbUJ2Rmh2Qkk7QUEreWpCUjs7QXVGN2ppQkE7RUFDSTtFQUNBO0F2RmdraUJKOztBdUY5amlCQTtFQUNJO0F2RmlraUJKOztBdUYvamlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmtraUJKOztBdUZoa2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3ZGdndCSTtFdUZ3d0JKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZta2lCSjs7QXVGamtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGb2tpQko7O0F1RmxraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkZxa2lCSjs7QXVGbmtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0F2RnNraUJKOztBdUZwa2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBdkZ1a2lCSjs7QXVGcmtpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGd2tpQko7O0F1RnRraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RnlraUJKOztBdUZ2a2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGMGtpQko7O0F1RnhraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RjJraUJKOztBdUZ6a2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0F2RjRraUJKOztBdUYxa2lCQTtFQUNJO0F2RjZraUJKOztBdUYza2lCQTtFQUNJO0F2RjhraUJKOztBdUY1a2lCQTtFQUNJO0F2RitraUJKOztBdUY3a2lCQTtFQUNJO0VBQ0E7QXZGZ2xpQko7O0F1RjlraUJBO0VBQ0k7RUFDQTtBdkZpbGlCSjs7QXVGL2tpQkE7RUFDSTtFQUNBO0F2RmtsaUJKOztBdUZobGlCQTtFQUNJO0F2Rm1saUJKOztBdUZqbGlCQTtFQUNJO0F2Rm9saUJKOztBdUZsbGlCQTtFQUNJO0F2RnFsaUJKOztBdUZubGlCQTtFQUNJO0F2RnNsaUJKOztBdUZwbGlCQTtFQUNJO0F2RnVsaUJKOztBdUZybGlCQTtFQUNJO0F2RndsaUJKOztBdUZ0bGlCQTtFQUNJO0F2RnlsaUJKOztBdUZ2bGlCQTtFQUNJO0F2RjBsaUJKOztBdUZ4bGlCQTtFQUNJO0F2RjJsaUJKOztBdUZ6bGlCQTtFQUNJO0F2RjRsaUJKOztBdUYxbGlCQTtFQUNJO0F2RjZsaUJKOztBdUYzbGlCQTtFQUNJO0F2RjhsaUJKOztBdUY1bGlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYrbGlCSjs7QXVGN2xpQkE7RUFDSTtFQUNBO0F2RmdtaUJKOztBdUY5bGlCQTtFQUNJO0F2RmltaUJKOztBdUYvbGlCQTtFQUNJO0VBQ0E7QXZGa21pQko7O0F1RmhtaUJBO0VBQ0k7SUFDSTtFdkZtbWlCTjtBQUNGO0F1RmptaUJBO0VBQ0k7QXZGbW1pQko7O0F1RmptaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb21pQko7O0F1RmxtaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxbWlCSjs7QXVGbm1pQkE7RUFDSTtFQUNBO0F2RnNtaUJKOztBdUZwbWlCQTtFQUNJO0F2RnVtaUJKOztBdUZybWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3bWlCSjs7QXVGdG1pQkE7RUFDSTtBdkZ5bWlCSjs7QXVGdm1pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkYwbWlCSjs7QXVGeG1pQkE7RUFDSTtFQUNBO0VBQ0E7QXZGMm1pQko7O0F1RnptaUJBO0VBQ0k7QXZGNG1pQko7O0F1RjFtaUJBO0VBQ0k7RUFDQTtBdkY2bWlCSjs7QXVGM21pQkE7RUFDSTtBdkY4bWlCSjs7QXVGNW1pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RittaUJKOztBdUY3bWlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RmduaUJKOztBdUY5bWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZpbmlCSjs7QXVGL21pQkE7RUFDSTtFQUNBO0F2RmtuaUJKOztBdUZobmlCQTtFQUNJO0VBQ0E7QXZGbW5pQko7O0F1RmpuaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb25pQko7O0F1RmxuaUJBO0VBQ0k7RUFDQTtFQUFBO0F2RnFuaUJKOztBdUZubmlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZzbmlCSjs7QXVGcG5pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0F2RnVuaUJKOztBdUZybmlCQTtFQUNJO0VBQ0E7RUFBQTtBdkZ3bmlCSjs7QXVGdG5pQkE7RUFDSTtFQUNBO0F2RnluaUJKOztBdUZ2bmlCQTtFQUNJO0F2RjBuaUJKOztBdUZ4bmlCQTtFQUNJO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYybmlCSjs7QXVGem5pQkE7RUFDSTtBdkY0bmlCSjs7QXVGMW5pQkE7RUFDSTtBdkY2bmlCSjs7QXVGM25pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkY4bmlCSjs7QXVGNW5pQkE7RUFDSTtFQUNBO0VBQ0E7QXZGK25pQko7O0F1RjduaUJBO0VBQ0k7SUFDSTtFdkZnb2lCTjtBQUNGO0F1RjluaUJBO0VBQ0k7SUFDSTtFdkZnb2lCTjtBQUNGO0F1RjluaUJBO0VBQ0k7QXZGZ29pQko7O0F1RjluaUJBO0VBQ0k7QXZGaW9pQko7O0F1Ri9uaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZrb2lCSjs7QXVGem5pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm9vaUJKOztBdUZsb2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGcW9pQko7O0F1Rm5vaUJBO0VBQ0k7QXZGc29pQko7O0F1RmpvaUJBO0VBQ0k7QXZGd29pQko7O0F1RnRvaUJBO0VBQ0k7QXZGeW9pQko7O0F1RnZvaUJBO0VBQ0k7RUFDQTtBdkYwb2lCSjs7QXVGcG9pQkE7RUFDSTtFQUNBO0F2RjRvaUJKOztBdUYxb2lCQTtFQUNJO0VBQ0E7QXZGNm9pQko7O0F1RjNvaUJBO0VBQ0k7QXZGOG9pQko7O0F1RnpvaUJBO0VBQ0k7QXZGZ3BpQko7O0F1RjlvaUJBO0VBQ0k7QXZGaXBpQko7O0F1Ri9vaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RmtwaUJKOztBdUYzb2lCQTtFQUNJO0VBQ0E7RUFDQTtBdkZvcGlCSjs7QXVGbHBpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGcXBpQko7O0F1Rm5waUJBO0VBQ0k7QXZGc3BpQko7O0F1RmpwaUJBO0VBQ0k7QXZGd3BpQko7O0F1RnRwaUJBO0VBQ0k7QXZGeXBpQko7O0F1RnZwaUJBO0VBQ0k7QXZGMHBpQko7O0F1RnJwaUJBO0VBQ0k7QXZGNHBpQko7O0F1RjFwaUJBO0VBQ0k7QXZGNnBpQko7O0F1RjNwaUJBO0VBQ0k7QXZGOHBpQko7O0F1RnpwaUJBO0VBQ0k7QXZGZ3FpQko7O0F1RjlwaUJBO0VBQ0k7QXZGaXFpQko7O0F1Ri9waUJBO0VBQ0k7SUFDSTtFdkZrcWlCTjs7RXVGN3BpQkU7SUFDSTtFdkZvcWlCTjs7RXVGbHFpQkU7SUFDSTtFdkZxcWlCTjtBQUNGO0F1Rm5xaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxcWlCSjs7QXVGbnFpQkE7RUFDSTtBdkZzcWlCSjs7QXVGcHFpQkE7RUFDSTtFQUNBO0F2RnVxaUJKOztBdUZycWlCQTtFQUNJO0F2RndxaUJKOztBdUZ0cWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ5cWlCSjs7QXVGdnFpQkE7RUFDSTtBdkYwcWlCSjs7QXVGeHFpQkE7RUFDSTtBdkYycWlCSjs7QXVGenFpQkE7RUFDSTtBdkY0cWlCSjs7QXVGMXFpQkE7RUFDSTtJQUNJO0V2RjZxaUJOO0FBQ0Y7QXVGM3FpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZxaUJKOztBdUYzcWlCQTtFQUNJO0F2RjhxaUJKOztBdUY1cWlCQTtFQUNJO0VBQ0E7QXZGK3FpQko7O0F1RjdxaUJBO0VBQ0k7QXZGZ3JpQko7O0F1RjlxaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RmlyaUJKOztBdUYvcWlCQTtFQUNJO0F2RmtyaUJKOztBdUZocmlCQTtFQUNJO0F2Rm1yaUJKOztBdUZqcmlCQTtFQUNJO0F2Rm9yaUJKOztBdUZscmlCQTtFQUNJO0lBQ0k7RXZGcXJpQk47QUFDRjtBdUZucmlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGcXJpQko7O0F1Rm5yaUJBO0VBQ0k7QXZGc3JpQko7O0F1RnByaUJBO0VBQ0k7RUFDQTtBdkZ1cmlCSjs7QXVGcnJpQkE7RUFDSTtBdkZ3cmlCSjs7QXVGdHJpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGeXJpQko7O0F1RnZyaUJBO0VBQ0k7QXZGMHJpQko7O0F1RnhyaUJBO0VBQ0k7QXZGMnJpQko7O0F1RnpyaUJBO0VBQ0k7QXZGNHJpQko7O0F1RjFyaUJBO0VBQ0k7SUFDSTtFdkY2cmlCTjtBQUNGO0F1RjNyaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY2cmlCSjs7QXVGM3JpQkE7RUFDSTtBdkY4cmlCSjs7QXVGNXJpQkE7RUFDSTtFQUNBO0F2RityaUJKOztBdUY3cmlCQTtFQUNJO0F2RmdzaUJKOztBdUY5cmlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZpc2lCSjs7QXVGL3JpQkE7RUFDSTtBdkZrc2lCSjs7QXVGaHNpQkE7RUFDSTtBdkZtc2lCSjs7QXVGanNpQkE7RUFDSTtBdkZvc2lCSjs7QXVGbHNpQkE7RUFDSTtJQUNJO0V2RnFzaUJOO0FBQ0Y7QXVGbnNpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGcXNpQko7O0F1Rm5zaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RnNzaUJKOztBdUZwc2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGdXNpQko7O0F1RnJzaUJBO0VBQ0k7QXZGd3NpQko7O0F1RnRzaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGeXNpQko7O0F1RnZzaUJBO0VBQ0k7QXZGMHNpQko7O0F1RnhzaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMnNpQko7O0F1RnpzaUJBO0VBQ0k7QXZGNHNpQko7O0F3RjNwbEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnhGRkk7RXdGR0o7RUFDQTtBeEY4cGxCSjs7QXdGM3BsQkE7RUFDSTtBeEY4cGxCSjs7QXdGM3BsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjeEZYRztFd0ZZSDtFQUNBO0F4RjhwbEJKO0F3RjVwbEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhGOHBsQlI7QXdGM3BsQkk7RUFDSSxjeEYzQkE7RXdGNEJBLGdDeEY1QkE7RXdGNEJpQztFQUNqQztFQUNBLGtDeEYxQkQ7QUF3cmxCUDtBd0YzcGxCSTtFQUNJO0VBQ0E7QXhGNnBsQlI7QXdGM3BsQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEY2cGxCWjs7QXdGeHBsQkE7RUFDSTtBeEYycGxCSjs7QXdGeHBsQkE7RUFDSTtFQUNBO0VBQ0E7QXhGMnBsQko7QXdGenBsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEYycGxCUjtBd0Z6cGxCUTtFQUNJO0F4RjJwbEJaO0F3RnhwbEJRO0VBQ0k7QXhGMHBsQlo7QXdGdHBsQkk7RUFDSTtFQUNBO0VBQ0E7QXhGd3BsQlI7O0F3RnBwbEJBO0VBQ0k7SUFDSTtJQUNBO0V4RnVwbEJOOztFd0ZwcGxCRTtJQUNJO0V4RnVwbEJOOztFd0ZwcGxCRTtJQUNJO0lBQ0E7RXhGdXBsQk47O0V3RnBwbEJFO0lBQ0k7RXhGdXBsQk47O0V3RnBwbEJFO0lBQ0k7RXhGdXBsQk47RXdGcnBsQk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFeEZ1cGxCVjtBQUNGO0F3Rm5wbEJBO0VBQ0k7SUFDSTtJQUNBO0V4RnFwbEJOOztFd0ZscGxCRTtJQUNJO0V4RnFwbEJOOztFd0ZscGxCRTtJQUNJO0V4RnFwbEJOO0V3Rm5wbEJNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXhGcXBsQlY7O0V3RmpwbEJFO0lBQ0k7RXhGb3BsQk47O0V3RmpwbEJFO0lBQ0k7RXhGb3BsQk47O0V3RmpwbEJFO0lBQ0k7RXhGb3BsQk47O0V3RmpwbEJFO0lBQ0k7SUFDQTtFeEZvcGxCTjtBQUNGO0F5Rjd5bEJBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekYreWxCSjtBeUY3eWxCSTs7RUFDSSxxQnpGVkE7RXlGV0E7QXpGZ3psQlI7O0F5RjN5bEJBO0VBQ0k7RUFDQTtBekY4eWxCSjs7QXlGM3lsQkE7RUFDSSxjekZyQkc7RXlGc0JIO0VBQ0E7QXpGOHlsQko7O0F5RjN5bEJBO0VBQ0k7QXpGOHlsQko7O0F5RjN5bEJBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekY2eWxCSjs7QXlGMXlsQkE7O0VBRUU7RUFDQTtBekY2eWxCRjs7QXlGMXlsQkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0EsY3pGM0RJO0FBdzJsQlI7O0F5RjF5bEJBO0VBQ0ksY3pGL0RJO0V5RmdFSjtBekY2eWxCSjs7QXlGMXlsQkE7RUFDSTtBekY2eWxCSjs7QXlGMXlsQkE7RUFDSTtBekY2eWxCSjtBeUYzeWxCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekY2eWxCUjtBeUZ6eWxCUTtFQUNJO0F6RjJ5bEJaOztBeUZ0eWxCQTtFQUNJLGN6RjlGSTtBQXU0bEJSOztBeUZyeWxCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGN6RnRHQTtBQTg0bEJSO0F5RnJ5bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjekY5R0E7QUFxNWxCUjs7QXlGbnlsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXekZoSVk7QUFzNmxCaEI7O0F5Rm55bEJBO0VBQ0k7QXpGc3lsQko7O0F5Rmx5bEJJO0VBQ0ksY3pGdklBO0FBNDZsQlI7QXlGbHlsQkk7RUFDSSxjekYzSUE7QUErNmxCUjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSSx5QnpGakpJO0FBbzdsQlI7O0F5Rmh5bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY3pGNUpJO0FBKzdsQlI7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0kseUJ6RmhLSTtFeUZpS0oscUJ6RmpLSTtFeUZrS0o7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0ksY3pGMUtJO0FBNjhsQlI7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7RUFDQTtBekZteWxCSjs7QXlGaHlsQkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBekZreWxCSjs7QXlGL3hsQkE7RUFFSTtFQUNBLGN6RnJNSTtBQXMrbEJSOztBeUY5eGxCQTtFQUFvQjtBekZreWxCcEI7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7RUFDQTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGbXlsQko7O0EwRnhnbUJBO0VBQ0k7SUFDRTtFMUYyZ21CSjs7RTBGeGdtQkU7SUFDRTtJQUNBO0UxRjJnbUJKOztFMEZ4Z21CRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0UxRjJnbUJKO0FBQ0Y7QTBGeGdtQkE7RUFDSTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0lBQ0E7SUFDQTtFMUYwZ21CSjs7RTBGdmdtQkU7SUFDRTtJQUNBO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKO0FBQ0Y7QTBGdmdtQkE7RUFDRTtJQUNFO0UxRnlnbUJGOztFMEZ0Z21CQTtJQUNFO0UxRnlnbUJGOztFMEZ0Z21CQTtJQUNFO0UxRnlnbUJGO0UwRnZnbUJFO0lBQ0U7RTFGeWdtQko7O0UwRnJnbUJBO0lBQ0U7SUFDQTtFMUZ3Z21CRjtFMEZ0Z21CRTtJQUNFO0UxRndnbUJKOztFMEZwZ21CQTtJQUNFO0UxRnVnbUJGOztFMEZwZ21CRTtJQUNFO0UxRnVnbUJKOztFMEZwZ21CQTtJQUNJO0UxRnVnbUJKOztFMEZwZ21CQTtJQUNFO0UxRnVnbUJGOztFMEZwZ21CQTtJQUNFO0UxRnVnbUJGOztFMEZwZ21CQTtJQUNJO0lBQ0E7RTFGdWdtQko7QUFDRjtBMEZuZ21CQTtFQUNJO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJBO0lBQ0k7RTFGcWdtQko7QUFDRjtBMEZsZ21CQTtFQUNJO0lBQ0U7RTFGb2dtQko7O0UwRmpnbUJFO0lBQ0U7SUFDQTtFMUZvZ21CSjs7RTBGamdtQkU7SUFDRTtJQUNBO0UxRm9nbUJKOztFMEZqZ21CRTtJQUNFO0lBQ0E7RTFGb2dtQko7O0UwRmpnbUJFO0lBQ0U7SUFDQTtFMUZvZ21CSjtBQUNGO0EwRmpnbUJBO0VBQ0k7SUFDSTtFMUZtZ21CTjtFMEZqZ21CTTtJQUVFO0UxRmtnbUJSOztFMEY5L2xCRTtJQUNFO0UxRmlnbUJKOztFMEY5L2xCRTtJQUNLO0UxRmlnbUJQO0FBQ0Y7QTBGOS9sQkE7RUFDSTtJQUNFO0UxRmdnbUJKO0FBQ0Y7QTBGNy9sQkE7RUFDSTtJQUNFO0UxRisvbEJKO0FBQ0Y7QTBGNS9sQkE7RUFDRTtJQUNFO0UxRjgvbEJGOztFMEY1L2xCQTtJQUNFO0UxRisvbEJGOztFMEY1L2xCQTtJQUNFO0UxRisvbEJGOztFMEY1L2xCQTtJQUNFO0UxRisvbEJGO0FBQ0Y7QTBGNS9sQkE7RUFDSTtJQUNFO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDSTtFMUY4L2xCTjs7RTBGMy9sQkU7SUFDSTtFMUY4L2xCTjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0UxRjgvbEJKO0UwRjUvbEJJO0lBQ0U7SUFDQTtFMUY4L2xCTjs7RTBGMS9sQkU7SUFDRTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7SUFDQTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7SUFDQTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEZ6L2xCSTtJQUNFO0UxRjQvbEJOOztFMEZ0L2xCSTtJQUNFO0UxRnkvbEJOOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKO0FBQ0Y7QTBGci9sQkE7RUFFSTs7SUFFRTtFMUZzL2xCSjs7RTBGbi9sQkU7SUFDSTtFMUZzL2xCTjs7RTBGbi9sQkU7SUFDRTtFMUZzL2xCSjs7RTBGbi9sQkU7SUFDSTtJQUNBO0UxRnMvbEJOOztFMEZuL2xCRTtJQUNJO0lBQ0E7RTFGcy9sQk47O0UwRm4vbEJFO0lBQ0k7RTFGcy9sQk47O0UwRm4vbEJFO0lBQ0U7RTFGcy9sQko7O0UwRm4vbEJFO0lBQ0U7RTFGcy9sQko7O0UwRm4vbEJFO0lBQ0U7RTFGcy9sQko7RTBGcC9sQkk7SUFDRTtJQUNBO0UxRnMvbEJOOztFMEZsL2xCRTtJQUNFO0lBQ0E7RTFGcS9sQko7O0UwRmwvbEJFO0lBQ0U7SUFDQTtFMUZxL2xCSjs7RTBGbC9sQkU7SUFDRTtFMUZxL2xCSjs7RTBGai9sQkU7SUFDRTtFMUZvL2xCSjtFMEZsL2xCSTtJQUNFO0lBQ0E7SUFDQTtFMUZvL2xCTjs7RTBGaC9sQkU7SUFDRTtJQUNBO0UxRm0vbEJKOztFMEZoL2xCRTtJQUNJO0lBQ0E7RTFGbS9sQk47RTBGai9sQk07SUFDRTtJQUNBO0UxRm0vbEJSOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKO0FBQ0Y7QTBGLytsQkE7RUFDSTtJQUNFO0lBQ0E7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0k7RTFGaS9sQk47O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0k7RTFGaS9sQk47O0UwRjkrbEJFO0lBQ0U7SUFDQTtJQUNBO0UxRmkvbEJKOztFMEY5K2xCRTtJQUNFO0UxRmkvbEJKOztFMEY5K2xCRTtJQUNFO0lBQ0E7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7QUFDRjtBMEY5K2xCQTtFQUNFO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7SUFDQTtJQUNBO0UxRmcvbEJGOztFMEY3K2xCQTtJQUNFO0UxRmcvbEJGOztFMEY3K2xCQTtJQUNFO0UxRmcvbEJGOztFMEY3K2xCQTtJQUNFO0lBQ0E7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0k7RTFGZy9sQko7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7SUFDQSx5QjFGaHFCSTtFQWdwbkJOOztFMEY3K2xCQTtJQUNFO0UxRmcvbEJGO0UwRjkrbEJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTFGZy9sQko7O0UwRjUrbEJBO0lBQ0U7RTFGKytsQkY7O0UwRjUrbEJBO0lBQ0k7SUFDQTtFMUYrK2xCSjs7RTBGNStsQkE7SUFDRTtFMUYrK2xCRjtFMEY3K2xCRTtJQUNJO0UxRisrbEJOO0UwRjcrbEJNO0lBQ0U7SUFDQTtJQUNBO0UxRisrbEJSOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtJQUNBO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0k7SUFDQTtFMUY2K2xCSjs7RTBGMStsQkE7SUFDRTtJQUNBO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtJQUNBO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNJO0UxRjYrbEJKOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFLHlCMUY1eEJJO0VBeXduQk47RTBGMytsQkU7SUFDRTtFMUY2K2xCSjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtJQUNBO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0lBQ0E7SUFDQTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtJQUNBO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0lBQ0E7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7SUFDQTtFMUY0K2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtJQUNBO0lBQ0E7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7SUFDQTtJQUNBO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7OztJQUdFO0lBQ0E7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNJO0lBQ0E7RTFGMitsQk47O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0k7SUFDQTtFMUYyK2xCTjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRztFMUYyK2xCTDs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0lBQ0E7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDSTtJQUNBO0UxRjIrbEJOOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKO0FBQ0Y7QUE1aG9CQTtFQUNJO0FBOGhvQko7O0FBM2hvQkE7RUFDSTtBQThob0JKOztBQTFob0JJO0VBQ0k7QUE2aG9CUjs7QUF6aG9CQTtFQUNJO0FBNGhvQko7O0FBemhvQkE7RUFDSTtBQTRob0JKOztBQXpob0JBO0VBQ0k7QUE0aG9CSjs7QUF6aG9CQTtFQUNJLHlCQXJDSTtFQXNDSixjQW5DSTtBQStqb0JSOztBQXpob0JBO0VBQ0k7SUFDRTtFQTRob0JKO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9hcHAtZmFicmljLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy92YXJpYWJsZXMtdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvbWl4aW5zLXRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGlsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmtlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FydGljbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xlYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zb3J0YWJsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZG90bmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGh1bWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pY29ubmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy93aWR0aC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlaWdodC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N2Zy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3V0aWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFkZGluZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbGF5b3V0L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbGF5b3V0L19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fYmxvY2tlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19uaWNlc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX3BhZ2Vsb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fcGx5ci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19uaWV1d3NicmllZi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fbGF5b3V0LW1vYmlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEFsZ2VtZW5lIGtsZXVyZW5cbiRkZWVwZXN0LWJsYWNrOiAjMDAwO1xuJGJsYWNrOiAjMkQyQzMxO1xuJHdoaXRlOiAjRkZGRkZGO1xuJHJlZDogI0QzMzYzNjtcbiRvcmFuZ2U6ICNGMTlFMzg7XG4kZ3JlZW46ICMxMTc4NjU7XG4kZ3JleTogI0IxQjhDNztcbiRsaWdodC1ncmV5OiAjRjVGNkY4O1xuJGRhcmstZ3JleTogIzc3N0I4NjtcblxuQGltcG9ydCBcImFwcC5zY3NzXCI7XG5cbmEucmVhZC1tb3JlID4gc3Bhbjo6YmVmb3JlLCBzcGFuLnJlYWQtbW9yZSA+IHNwYW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LWRhcmstZ3JlZW4tcmlnaHQuc3ZnKTtcbn1cblxuLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3Byb2R1Y3RzLWRlY29yYXRpb24uc3ZnKTtcbn1cblxuLmNvbXBvbmVudC10ZWtzdCB1bCBsaSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL2RhcmstZ3JlZW4tY2hlY2suc3ZnKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLnByb2R1Y3QgLnRleHQtaG9sZGVyIHVsIGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvbGlnaHRibHVlLWNoZWNrLnN2ZycpO1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciAudGV4dC1ob2xkZXIgdWwgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9kYXJrLWdyZWVuLWNoZWNrLnN2ZycpO1xufVxuXG4uY29tcG9uZW50LXF1b3RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9xdW90ZS1kYXJrLWdyZWVuLnN2Zyk7XG59XG5cbmhlYWRlciAudG9wLW1lbnUtaG9sZGVyIGxpIC52YWNhdHVyZS1jb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBoZWFkZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgIH1cbn0iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmYXVsdCB2YWx1ZXMgZm9yIEhUTUwgZWxlbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaDFgLCBgdWstaDJgLCBgdWstaDNgLCBgdWstaDRgLCBgdWstaDVgLCBgdWstaDZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ocmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFzZS1ib2R5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLW1hcmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICAgICAgIGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiRiYXNlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1oMS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgIGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRiYXNlLXByZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHRtbCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1ib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYm9keS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWJvZHktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJvZHktbGluZS1oZWlnaHQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJGJhc2UtYm9keS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1ib2R5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJvZHkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UuXG4gKiAyLiBUaGUgc2hvcnRoYW5kIGRlY2xhcmF0aW9uIGB1bmRlcmxpbmUgZG90dGVkYCBpcyBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ7IH1cblxuLypcbiAqIDEuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBTdHlsZVxuICovXG5cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkYmFzZS1jb2RlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtY29kZSgpO31cbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5cbmVtIHsgY29sb3I6ICRiYXNlLWVtLWNvbG9yOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWlucy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1pbnMtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLW1hcmstYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtbWFyay1jb2xvcjtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cblxucSB7IGZvbnQtc3R5bGU6ICRiYXNlLXF1b3RlLWZvbnQtc3R5bGU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHsgZm9udC1zaXplOiAkYmFzZS1zbWFsbC1mb250LXNpemU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogMS4gQWRkIHJlc3BvbnNpdmVuZXNzLlxuICogMi4gQXV0by1zY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudC5cbiAqIDMuIENvcnJlY3RzIHJlc3BvbnNpdmUgYG1heC13aWR0aGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkLlxuICogNC4gRXhjbHVkZSBTVkdzIGZvciBJRTExIGJlY2F1c2UgdGhleSBkb24ndCBwcmVzZXJ2ZSB0aGVpciBhc3BlY3QgcmF0aW8uXG4gKi9cblxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogNCAqL1xuQHN1cHBvcnRzIChkaXNwbGF5OiBibG9jaykge1xuXG4gICBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbn1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gRml4IGxhenkgbG9hZGluZyBpbWFnZXMgaWYgcGFyZW50IGVsZW1lbnQgaXMgc2V0IHRvIGBkaXNwbGF5OiBpbmxpbmVgIGFuZCBoYXMgYG92ZXJmbG93OiBoaWRkZW5gLlxuICogMi4gSGlkZSBgYWx0YCB0ZXh0IGZvciBsYXp5IGxvYWRpbmcgaW1hZ2VzLlxuICogTm90ZTogU2VsZWN0b3IgZm9yIGJhY2tncm91bmQgd2hpbGUgbG9hZGluZyBpbWdbZGF0YS1zcmMqPScuanBnJ11bc3JjKj0nZGF0YTppbWFnZSddIHsgYmFja2dyb3VuZDogZ3JleTsgfVxuICovXG5cbmltZzpub3QoW3NyY10pIHtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgLyogMiAqL1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIElmcmFtZVxuICogUmVtb3ZlIGJvcmRlciBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5pZnJhbWUgeyBib3JkZXI6IDA7IH1cblxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNYXJnaW5zXG4gKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7IG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHsgbWFyZ2luLXRvcDogJGJhc2UtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYsXG4udWstaGVhZGluZy1zbWFsbCxcbi51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRiYXNlLWhlYWRpbmctY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWJhc2UtaGVhZGluZygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYsXG4qICsgLnVrLWhlYWRpbmctc21hbGwsXG4qICsgLnVrLWhlYWRpbmctbWVkaXVtLFxuKiArIC51ay1oZWFkaW5nLWxhcmdlLFxuKiArIC51ay1oZWFkaW5nLXhsYXJnZSxcbiogKyAudWstaGVhZGluZy0yeGxhcmdlIHsgbWFyZ2luLXRvcDogJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5cbmgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDEoKTt9XG59XG5cbmgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDIoKTt9XG59XG5cbmgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMy1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWJhc2UtaDMoKTt9XG59XG5cbmg0LCAudWstaDQge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDQoKTt9XG59XG5cbmg1LCAudWstaDUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDUoKTt9XG59XG5cbmg2LCAudWstaDYge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDYoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgaDEsIC51ay1oMSB7IGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW07IH1cbiAgICBoMiwgLnVrLWgyIHsgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG51bCxcbm9sIHsgcGFkZGluZy1sZWZ0OiAkYmFzZS1saXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xuXG51bCA+IGxpID4gdWwsXG51bCA+IGxpID4gb2wsXG5vbCA+IGxpID4gb2wsXG5vbCA+IGxpID4gdWwgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmR0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIENocm9tZSwgRWRnZSBhbmQgSUUuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHIsIC51ay1ociB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDIgKi9cbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCB9XG5cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDtcbiAgICBmb250LXN0eWxlOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7IG1hcmdpbi10b3A6ICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1haW4geyAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG5cbi51ay1icmVha3BvaW50LXM6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1zbWFsbH0nOyB9XG4udWstYnJlYWtwb2ludC1tOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbWVkaXVtfSc7IH1cbi51ay1icmVha3BvaW50LWw6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1sYXJnZX0nOyB9XG4udWstYnJlYWtwb2ludC14bDo6YmVmb3JlIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQteGxhcmdlfSc7IH1cblxuOnJvb3Qge1xuICAgIC0tdWstYnJlYWtwb2ludC1zOiAjeyRicmVha3BvaW50LXNtYWxsfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQtbTogI3skYnJlYWtwb2ludC1tZWRpdW19O1xuICAgIC0tdWstYnJlYWtwb2ludC1sOiAjeyRicmVha3BvaW50LWxhcmdlfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQteGw6ICN7JGJyZWFrcG9pbnQteGxhcmdlfTtcbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIiRnbG9iYWwtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb2xvcjogIzY2NiAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogMTVweCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogIzMyZDI5NiAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAjZmFhMDVhICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogI2YwNTA2ZSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ndXR0ZXI6IDQwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uOiAycyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246IDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1tYXJnaW46IDcwcHggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtMnhsYXJnZS1mb250LXNpemU6IDIuNjI1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMyMjIgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhZGdlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWNvbG9yOiAjMWU4N2YwICFkZWZhdWx0O1xuJGJhc2UtbGluay1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstaG92ZXItY29sb3I6ICMwZjZlY2QgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OiBib2xkZXIgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLW1hcmstY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcbiRiYXNlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1tYXJnaW46IDQwcHggIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplLW06ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyOiAjZTVlNWU1ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtdG9wOiAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6IDcwcHggIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDogMC44ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAzcmVtICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICRmb3JtLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogNHB4ICFkZWZhdWx0O1xuJGZvcm0tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0td2lkdGgteHNtYWxsOiA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6IDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAtNHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWljb24td2lkdGg6ICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEyJTIwOCUyMDYlMjAxNiUyMDYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sOiA0cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW06ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAqIDAuODEyNSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZTogJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW0gKiAwLjggIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW06ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAqIDAuODc1ICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tICogMC44MjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sOiA2cmVtICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw6IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOiAxMXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LXRvcDogdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogdW5xdW90ZSgnY2FsYyg0cHggKyAwLjdlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4yZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXdpZHRoOiAyMDAwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiB1bnF1b3RlKCdjYWxjKDVweCArIDAuM2VtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogMy43NXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjc1ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWlnaHQtc21hbGwtaGVpZ2h0OiAxNTBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbWVkaXVtLWhlaWdodDogMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogNDUwcHggIWRlZmF1bHQ7XG4kaWNvbi1pbWFnZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGljb24tbGluay1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1zaXplOiAzNnB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLWNvbnRlbnQ6IHVucXVvdGUoJy4nKSAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGlnaHRib3gtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogIzAwMCAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg6IDEwMHZ3ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDogMTAwdmggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tc2l6ZTogNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGxpc3QtbWFya2VyLWhlaWdodDogKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJGxpc3QtbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZW1waGFzaXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtYXJnaW4tbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogMTQwcHggIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmtlci1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6IDUwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlOiAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6IGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAoJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tcG9zaXRpb246IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogMzUwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGg6IDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogNTBweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3A6IC0xMXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbTogLTM5cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdDogLTI1cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tcmlnaHQ6IC0yNXB4ICFkZWZhdWx0O1xuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogMCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zaXplOiAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDtcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6IHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogMS40cyAhZGVmYXVsdDtcbiRzdGlja3ktei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTZweCAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDIycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRvb2x0aXAtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiR0b3RvcC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2NhbGU6IDEuMDMgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogMC43cyAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM6IDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAyMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAoKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAzKSAqIDFlbSkgIWRlZmF1bHQ7XG4kbG9nby1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkZXByZWNhdGVkOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTYwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJHdpZHRoLXNtYWxsLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLTJ4bGFyZ2Utd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLW1hcmdpbi1sZWZ0OiAxMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjElMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHglM0QlMjI2JTIyJTIweSUzRCUyMjAlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTogMC44ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRiYXNlLXByZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDIwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAzMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXI6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1ib3JkZXI6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzogMCA1cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1jb2xvcjogJHRleHQtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjQpICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7IiwiQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBoZWlnaHQ6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhY2NvcmRpb24taWNvbi1tYXJnaW4tbGVmdDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG5cbiAgICAudWstb3BlbiA+ICY6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCl7XG5cbiAgICAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG4gICAgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cblxuICAgIC51ay1hbGVydCBoMSxcbiAgICAudWstYWxlcnQgaDIsXG4gICAgLnVrLWFsZXJ0IGgzLFxuICAgIC51ay1hbGVydCBoNCxcbiAgICAudWstYWxlcnQgaDUsXG4gICAgLnVrLWFsZXJ0IGg2IHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCl7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSAge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hcnRpY2xlLW1ldGEgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlcixcbiAgICAudWstYmFkZ2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbkBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhc2UtY29kZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbCAkYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2RlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbiAgICAudWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIENvZGVcbiAgICAvL1xuXG4gICAgOm5vdChwcmUpID4gY29kZSxcbiAgICA6bm90KHByZSkgPiBrYmQsXG4gICAgOm5vdChwcmUpID4gc2FtcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1jb2RlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRW1waGFzaXplXG4gICAgLy9cblxuICAgIGVtIHsgY29sb3I6ICRpbnZlcnNlLWJhc2UtZW0tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gSGVhZGluZ3NcbiAgICAvL1xuXG4gICAgaDEsIC51ay1oMSxcbiAgICBoMiwgLnVrLWgyLFxuICAgIGgzLCAudWstaDMsXG4gICAgaDQsIC51ay1oNCxcbiAgICBoNSwgLnVrLWg1LFxuICAgIGg2LCAudWstaDYsXG4gICAgLnVrLWhlYWRpbmctc21hbGwsXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtLFxuICAgIC51ay1oZWFkaW5nLWxhcmdlLFxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSxcbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKTt9XG4gICAgfVxuXG4gICAgaDEsIC51ay1oMSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDEoKTt9XG4gICAgfVxuXG4gICAgaDIsIC51ay1oMiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDIoKTt9XG4gICAgfVxuXG4gICAgaDMsIC51ay1oMyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDMoKTt9XG4gICAgfVxuXG4gICAgaDQsIC51ay1oNCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDQoKTt9XG4gICAgfVxuXG4gICAgaDUsIC51ay1oNSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDUoKTt9XG4gICAgfVxuXG4gICAgaDYsIC51ay1oNiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDYpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDYoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCbG9ja3F1b3Rlc1xuICAgIC8vXG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKTt9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSBmb290ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gSG9yaXpvbnRhbCBydWxlc1xuICAgIC8vXG5cbiAgICBociwgLnVrLWhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtYmFzZS1oci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaHIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpe1xuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cblxuICAgIC51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24oKXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLWRlZmF1bHQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLXRleHQtYm9yZGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2Utb3V0O1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXtcblxuICAgICY6OmJlZm9yZSB7IHJpZ2h0OiAwOyB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXtcblxuICAgIC8qIEdyb3VwXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIENvbGxhcHNlIGJvcmRlclxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCA+IC51ay1idXR0b246bnRoLWNoaWxkKG4rMiksXG4gICAgLnVrLWJ1dHRvbi1ncm91cCA+IGRpdjpudGgtY2hpbGQobisyKSAudWstYnV0dG9uIHsgbWFyZ2luLWxlZnQ6ICgtJGJ1dHRvbi1ib3JkZXItd2lkdGgpOyB9XG5cbiAgICAvKlxuICAgICAqIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIHN1cGVyaW1wb3NlIHRoZSBzdWNjZXNzb3IgZWxlbWVudHMgYm9yZGVyXG4gICAgICogS25vd24gaXNzdWU6IElmIHlvdSB1c2UgYW4gYGFgIGVsZW1lbnQgYXMgYnV0dG9uIGFuZCBhbiBpY29uIGluc2lkZSxcbiAgICAgKiB0aGUgYWN0aXZlIHN0YXRlIHdpbGwgbm90IHdvcmsgaWYgeW91IGNsaWNrIHRoZSBpY29uIGluc2lkZSB0aGUgYnV0dG9uXG4gICAgICogV29ya2Fyb3VuZDogSnVzdCB1c2UgYSBgYnV0dG9uYCBvciBgaW5wdXRgIGVsZW1lbnQgYXMgYnV0dG9uXG4gICAgICovXG5cbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmZvY3VzLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXtcbiAgICAmOjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDpob3ZlcixcbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAgIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBTZWNvbmRhcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUZXh0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tdGV4dDpob3ZlcixcbiAgICAudWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuICAgIC51ay1idXR0b24tbGluazpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjsgfVxuXG5cbn1cbkBtaXhpbiBob29rLWNhcmQoKXsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpeyBib3JkZXItdG9wOiAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGggIHNvbGlkICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBEZWZhdWx0XG4gICAgICovXG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sKTtcbiAgICAgICAgfVxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCArIDE1cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCArIDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBTbWFsbFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbiAgICAvKlxuICAgICAqIExhcmdlXG4gICAgICovXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbjogMDsgfVxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHsgbWFyZ2luOiAwOyB9XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDsgfVxuXG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jYXJkKCl7XG5cbiAgICAmLnVrLWNhcmQtYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1jYXJkLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jYXJkLWJhZGdlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2xvc2UoKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xufVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyLFxuICAgIC51ay1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKXtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7IGNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7XG4gICAgcGFkZGluZzogJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXtcbiAgICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fVxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3LCAkcHJvcGVydHk6IGJhY2tncm91bmQtaW1hZ2Upe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICAjeyRwcm9wZXJ0eX06IHVucXVvdGUoJHJlcGxhY2Utc3JjKTtcbn1cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItdmVydGljYWwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCl7XG5cbiAgICAudWstZGl2aWRlci1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbiAgICAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItdmVydGljYWwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZG90bmF2KCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXtcbiAgICBib3JkZXI6ICRkb3RuYXYtaXRlbS1ib3JkZXItd2lkdGggc29saWQgJGRvdG5hdi1pdGVtLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLWFjdGl2ZS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpeyBib3JkZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKXtcblxuICAgIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJGRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRkcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7IGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpeyBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuQG1peGluIGhvb2stZm9ybSgpe1xuICAgIGJvcmRlcjogJGZvcm0tYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuQG1peGluIGhvb2stZm9ybS1mb2N1cygpeyBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1kYW5nZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1ibGFuaygpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI7XG4gICAgYm9yZGVyLXN0eWxlOiAkZm9ybS1ibGFuay1mb2N1cy1ib3JkZXItc3R5bGU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1yYWRpby1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tcmFkaW8tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXsgY29sb3I6ICRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKXtcblxuICAgIC51ay1pbnB1dCxcbiAgICAudWstc2VsZWN0LFxuICAgIC51ay10ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0oKTt9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKTt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBsYWNlaG9sZGVyXG4gICAgLy9cblxuICAgIC51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFNlbGVjdFxuICAgIC8vXG5cbiAgICAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIERhdGFsaXN0XG4gICAgLy9cblxuICAgIC51ay1pbnB1dFtsaXN0XTpob3ZlcixcbiAgICAudWstaW5wdXRbbGlzdF06Zm9jdXMgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gUmFkaW8gYW5kIGNoZWNrYm94XG4gICAgLy9cblxuICAgIC51ay1yYWRpbyxcbiAgICAudWstY2hlY2tib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKTt9XG4gICAgfVxuXG4gICAgLy8gRm9jdXNcbiAgICAudWstcmFkaW86Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvLyBDaGVja2VkXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG4gICAgfVxuXG4gICAgLy8gRm9jdXNcbiAgICAudWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vIExhYmVsXG4gICAgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstZm9ybS1pY29uIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjsgfVxuICAgIC51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCl7fVxuQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZ3JpZCgpe1xuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWhlYWRpbmctc21hbGwoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1lZGl1bSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLXhsYXJnZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctMnhsYXJnZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cbkBtaXhpbiBob29rLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1saW5lKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKXtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1tZWRpdW0ge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKTt9XG4gICAgfVxuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7IC51ay1oZWFkaW5nLXByaW1hcnkgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9fX1cblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkgeyAudWstaGVhZGluZy1oZXJvIHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fX19XG5cbiAgICAudWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbkBtaXhpbiBob29rLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpe1xuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmhvdmVyLFxuICAgIC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgICAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQnV0dG9uXG4gICAgLy9cblxuICAgIC51ay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjpob3ZlcixcbiAgICAudWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staWNvbm5hdigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpe1xuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKXtcblxuICAgIGEudWstbGluay1tdXRlZCxcbiAgICAudWstbGluay1tdXRlZCBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLW11dGVkOmhvdmVyLFxuICAgIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1tdXRlZCAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgICAudWstbGluay10ZXh0IGE6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstaGVhZGluZzpob3ZlcixcbiAgICAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLWhlYWRpbmcge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKXtcblxuICAgIC51ay1saXN0LW11dGVkID4gOjpiZWZvcmUgeyBjb2xvcjogJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWxpc3QtZW1waGFzaXMgPiA6OmJlZm9yZSB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbGlzdC1wcmltYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbGlzdC1zZWNvbmRhcnkgPiA6OmJlZm9yZSB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbGlzdC1idWxsZXQgPiA6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgIH1cblxuICAgIC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCl7XG5cbiAgICAudWstdG90b3Age1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcCgpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6aG92ZXIsXG4gICAgLnVrLXRvdG9wOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKXtcblxuICAgIC51ay1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sYWJlbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCl7XG5cbiAgICAvL1xuICAgIC8vIElucHV0XG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtaW5wdXQgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWNvbG9yOyB9XG5cbiAgICAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbiAgICAvL1xuICAgIC8vIEljb25cbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24geyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cbiAgICAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBTdHlsZSBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpO31cbiAgICB9XG4gICAgXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUb2dnbGVcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZTpob3ZlcixcbiAgICAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCl7XG5cbiAgICAvL1xuICAgIC8vIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gICAgLy9cblxuICAgIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIERlZmF1bHRcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXZiYXIoKXtcblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItaXRlbSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsXG4gICAgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4gICAgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCl7XG5cbiAgICAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlcixcbiAgICAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpdmlkZXJcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUGlsbFxuICAgIC8vXG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlcixcbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXNhYmxlZFxuICAgIC8vXG5cbiAgICAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtcGFnaW5hdGlvbigpe1xuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlcixcbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKXtcblxuICAgIC51ay10YWIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYigpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gKiA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXRhYiA+ICogPiBhOmZvY3Vze1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKXtcblxuICAgIC51ay1zbGlkZW5hdiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2KCk7fVxuICAgIH1cblxuICAgIC51ay1zbGlkZW5hdjpob3ZlcixcbiAgICAudWstc2xpZGVuYXY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCl7XG5cbiAgICAudWstdGV4dC1sZWFkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRleHQtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1tZXRhKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW11dGVkIHsgY29sb3I6ICRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWVtcGhhc2lzIHsgY29sb3I6ICRpbnZlcnNlLXRleHQtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1zZWNvbmRhcnkgeyBjb2xvcjogJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCl7XG5cbiAgICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAgIC51ay1kcm9wY2FwIHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZHJvcGNhcCgpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvOmhvdmVyLFxuICAgIC51ay1sb2dvOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogaW5saW5lOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UoKXtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZ3JpZCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXZiYXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtcGFnaW5hdGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zbGlkZW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb25uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRleHQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpO1xufVxuQG1peGluIGhvb2stbGFiZWwoKXtcbiAgICBib3JkZXItcmFkaXVzOiAkbGFiZWwtYm9yZGVyLXJhZGl1cztcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGxhYmVsLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWxlYWRlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sZWFkZXIoKXtcblxuICAgIC51ay1sZWFkZXItZmlsbDo6YWZ0ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxlYWRlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbkBtaXhpbiBob29rLWxpbmstbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpeyBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdGlja3koKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpeyBib3gtc2hhZG93OiBub25lOyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7IGZvbnQtc2l6ZTogJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGJhci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBOYXZiYXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG4gICAgLypcbiAgICAgKiBHcmlkIERpdmlkZXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICgkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgLyAyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbCAvIDIpO1xuICAgICAgICBsZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbkBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbkBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyKCl7IGJvcmRlcjogJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aCBkYXNoZWQgJHBsYWNlaG9sZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe31cbkBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wcmludCgpe31cbkBtaXhpbiBob29rLXByb2dyZXNzKCl7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbkBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpeyBib3JkZXI6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGggc29saWQgJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYoKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXNob3coKXt9XG5AbWl4aW4gaG9vay1zbGlkZXNob3ctbWlzYygpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lcigpe31cbkBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbkBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fVxuQG1peGluIGhvb2stc3VibmF2KCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXtcbiAgICBmb250LXNpemU6ICRzdWJuYXYtaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRzdWJuYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fVxuQG1peGluIGhvb2stdGFiKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWl0ZW0oKXtcbiAgICBib3JkZXItYm90dG9tOiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYi1ib3R0b20oKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWJvdHRvbS1pdGVtKCl7XG4gICAgYm9yZGVyLXRvcDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLWxlZnQoKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLXJpZ2h0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXtcbiAgICBib3JkZXItcmlnaHQ6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1taXNjKCl7XG5cbiAgICAudWstdGFiIC51ay1kcm9wZG93biB7IG1hcmdpbi1sZWZ0OiAoJHRhYi1tYXJnaW4taG9yaXpvbnRhbCArICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWwpIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWIoKXtcblxuICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogJGludmVyc2UtdGFiLWJvcmRlcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDsgfVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYmxlKCl7fVxuQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1zdHJpcGVkLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1taXNjKCl7XG5cbiAgICAudWstdGFibGUgdGJvZHkgdHIgeyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFibGUoKXtcblxuICAgIC51ay10YWJsZSB0aCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSBjYXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuICAgIC51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4gICAgLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkdGV4dC1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdigpe31cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0aHVtYm5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKXtcbiAgICAmOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDsgfVxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10aHVtYm5hdigpe1xuXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRodW1ibmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10aWxlKCl7fVxuQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbkBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcCgpe31cbkBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbkBtaXhpbiBob29rLXRvdG9wKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1kcm9wY2FwKCl7XG4gICAgLy8gUHJldmVudCBsaW5lIHdyYXBcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xufVxuQG1peGluIGhvb2stbG9nbygpe31cbkBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlua1xuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGxpbmtzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGluay1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpbmstdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpbmstaGVhZGluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpbmstcmVzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGluay10b2dnbGVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaW5rXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1tdXRlZCxcbi51ay1saW5rLW11dGVkIGEge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQoKTt9XG59XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstbXV0ZWQge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay10ZXh0LFxuLnVrLWxpbmstdGV4dCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0KSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0KCk7fVxufVxuXG5hLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLXRleHQge1xuICAgIGNvbG9yOiAkbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQtaG92ZXIoKTt9XG59XG5cblxuLyogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1oZWFkaW5nLFxuLnVrLWxpbmstaGVhZGluZyBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nKCk7fVxufVxuXG5hLnVrLWxpbmstaGVhZGluZzpob3Zlcixcbi51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZy1ob3ZlcigpO31cbn1cblxuXG4vKiBSZXNldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cblxuYS51ay1saW5rLXJlc2V0LFxuLnVrLWxpbmstcmVzZXQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1yZXNldCkpIHtAaW5jbHVkZSBob29rLWxpbmstcmVzZXQoKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpbmstdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuIFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbWlzYykpIHtAaW5jbHVkZSBob29rLWxpbmstbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSGVhZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGhlYWRpbmdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGVhZGluZy1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1oZXJvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWxpbmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGhlYWRpbmctc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tICogMC44ICFkZWZhdWx0OyAgICAgIC8vIDM4cHggMC43M1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0OyAgICAgLy8gNDBweCAwLjcxNFxuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDsgICAgICAvLyA1MHB4IDAuNzhcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDsgICAgICAgICAgICAgLy8gNHJlbSAvIDY0cHhcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gNnJlbSAvIDk2cHhcblxuJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAqIDAuODEyNSAhZGVmYXVsdDsgICAvLyAzLjI1cmVtIC8gNTJweFxuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAqIDAuODc1ICFkZWZhdWx0OyAgICAvLyAzLjVyZW0gLyA1NnB4XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDRyZW0gLyA2NHB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgIC8vIDZyZW0gLyA5NnB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDhyZW0gLyAxMjhweFxuXG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDY0cHhcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gOTZweFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgIDhyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMjhweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgIDExcmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxNzZweFxuXG4kaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1idWxsZXQtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNHB4ICsgMC43ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjJlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4zZW0pJykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1zbWFsbCgpO31cbn1cblxuLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1tZWRpdW0pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLW1lZGl1bSgpO31cbn1cblxuLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbGFyZ2UoKTt9XG59XG5cbi51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy14bGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmcteGxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy14bGFyZ2UoKTt9XG59XG5cbi51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctMnhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctMnhsYXJnZSgpO31cbn1cblxuLyogVGFibGV0IExhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGVhZGluZy1zbWFsbCB7IGZvbnQtc2l6ZTogJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy1tZWRpdW0geyBmb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLWxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTsgfVxuXG59XG5cbi8qIExhcHRvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sOyB9XG4gICAgLnVrLWhlYWRpbmctbGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sOyB9XG4gICAgLnVrLWhlYWRpbmcteGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOyB9XG5cbn1cblxuXG4vKiBQcmltYXJ5XG4gICBEZXByZWNhdGVkOiBVc2UgYHVrLWhlYWRpbmctbWVkaXVtYCBpbnN0ZWFkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgIDMuNzVyZW0gIWRlZmF1bHQ7ICAvLyA2MHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6ICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOSAhZGVmYXVsdDsgLy8gNTRweFxuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDsgLy8gNDhweFxuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXByaW1hcnkoKTt9XG59XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHsgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOyB9XG59XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDtcbiAgICB9XG59XG5cbn1cblxuXG4vKiBIZXJvXG4gICBEZXByZWNhdGVkOiBVc2UgYHVrLWhlYWRpbmcteGxhcmdlYCBpbnN0ZWFkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICAgIDhyZW0gIWRlZmF1bHQ7IC8vIDEyOHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjc1ICFkZWZhdWx0OyAvLyA5NnB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7IC8vIDY0cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbkBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1oZXJvKCk7fVxufVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTtcbiAgICB9XG59XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDtcbiAgICB9XG59XG5cbn1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctZGl2aWRlcigpO31cbn1cblxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1idWxsZXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIFVzaW5nIGBpbmxpbmUtYmxvY2tgIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25tZW50XG4gKiAyLiBDZW50ZXIgdmVydGljYWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkaGVhZGluZy1idWxsZXQtdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIGhlaWdodDogJGhlYWRpbmctYnVsbGV0LWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWJ1bGxldCgpO31cbn1cblxuXG4vKiBMaW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENsaXAgdGhlIGNoaWxkIGVsZW1lbnRcbiAqL1xuXG4udWstaGVhZGluZy1saW5lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBDZW50ZXIgdmVydGljYWxseVxuICogMi4gTWFrZSB0aGUgZWxlbWVudCBhcyBsYXJnZSBhcyBwb3NzaWJsZS4gSXQncyBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXIuXG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKCN7JGhlYWRpbmctbGluZS10b3B9IC0gKCN7JGhlYWRpbmctbGluZS1oZWlnaHR9IC8gMikpJyk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkaGVhZGluZy1saW5lLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1saW5lKCk7fVxufVxuXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDtcbn1cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWVkaXVtKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmcteGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy0yeGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERpdmlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBkaXZpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRpdmlkZXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXZpZGVyLXZlcnRpY2FsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRpdmlkZXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuXG4kZGl2aWRlci1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5cbltjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWJvdHRvbTogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBbY2xhc3MqPSd1ay1kaXZpZGVyJ10geyBtYXJnaW4tdG9wOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGRpdmlkZXItaWNvbi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRkaXZpZGVyLWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkZGl2aWRlci1pY29uLWxpbmUtdG9wO1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgLSAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIGJvcmRlci1ib3R0b206ICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZSgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlIHtcbiAgICByaWdodDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgbGVmdDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKTt9XG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRml4IGhlaWdodCBiZWNhdXNlIG9mIGBpbmxpbmUtYmxvY2tgXG4gKiAyLiBVc2luZyA6OmFmdGVyIGFuZCBpbmxpbmUtYmxvY2sgdG8gbWFrZSBgdGV4dC1hbGlnbmAgd29ya1xuICovXG5cbi8qIDEgKi9cbi51ay1kaXZpZGVyLXNtYWxsIHsgbGluZS1oZWlnaHQ6IDA7IH1cblxuLyogMiAqL1xuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGRpdmlkZXItc21hbGwtd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6ICRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItc21hbGwoKTt9XG59XG5cblxuLyogVmVydGljYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6ICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXZlcnRpY2FsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci12ZXJ0aWNhbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIE1peGluXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgbWl4aW5zIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFNWR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldyl7XG5cbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRyZXBsYWNlLXNyYywgXCIjXCIsIFwiJTIzXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChxdW90ZSgkcmVwbGFjZS1zcmMpKTtcbn0iLCIvLyBOYW1lOiAgICAgICAgICAgIExpc3Rcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpc3RgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGlzdC1kaXNjYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1jaXJjbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LXNxdWFyZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtZGVjaW1hbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtaHlwaGVuYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtZW1waGFzaXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zdHJpcGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtY29sbGFwc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGxpc3QtbWFya2VyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcblxuJGxpc3QtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbGlzdCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuLnVrLWxpc3QgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+ICogPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LW1hcmdpbi10b3A7IH1cblxuXG4vKiBNYXJrZXIgbW9kaWZpZXJzXG4gKiBNb3ZpbmcgYDo6bWFya2VyYCBpbnNpZGUgYDo6YmVmb3JlYCB0byBzdHlsZSBpdCBkaWZmZXJlbnRseVxuICogVG8gc3R5bGUgdGhlIGA6Om1hcmtlcmAgaXMgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWRpc2MgPiAqLFxuLnVrLWxpc3QtY2lyY2xlID4gKixcbi51ay1saXN0LXNxdWFyZSA+ICosXG4udWstbGlzdC1kZWNpbWFsID4gKixcbi51ay1saXN0LWh5cGhlbiA+ICogeyBwYWRkaW5nLWxlZnQ6ICRsaXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogVHlwZSBtb2RpZmllcnNcbiAqL1xuXG4udWstbGlzdC1kZWNpbWFsIHsgY291bnRlci1yZXNldDogZGVjaW1hbDsgfVxuLnVrLWxpc3QtZGVjaW1hbCA+ICogeyBjb3VudGVyLWluY3JlbWVudDogZGVjaW1hbDsgfVxuXG5bY2xhc3MqPSd1ay1saXN0J10gPiA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6ICgtJGxpc3QtcGFkZGluZy1sZWZ0KTtcbiAgICB3aWR0aDogJGxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGhlaWdodDogJGxpc3QtbWFya2VyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAoLSRsaXN0LW1hcmtlci1oZWlnaHQpO1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi51ay1saXN0LWRpc2MgPiA6OmJlZm9yZSB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuLnVrLWxpc3QtY2lyY2xlID4gOjpiZWZvcmUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgfVxuLnVrLWxpc3Qtc3F1YXJlID4gOjpiZWZvcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgfVxuLnVrLWxpc3QtZGVjaW1hbCA+IDo6YmVmb3JlIHsgY29udGVudDogY291bnRlcihkZWNpbWFsLCBkZWNpbWFsKSAnXFwyMDBBLlxcMDBBMCc7IH1cbi51ay1saXN0LWh5cGhlbiA+IDo6YmVmb3JlIHsgY29udGVudDogJ+KAk1xcMDBBMFxcMDBBMCc7IH1cblxuLypcbiAqIENvbG9yIG1vZGlmaWVyc1xuICovXG5cbi51ay1saXN0LW11dGVkID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3QtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3QtZW1waGFzaXMgPiA6OmJlZm9yZSB7IGNvbG9yOiAkbGlzdC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstbGlzdC1wcmltYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3QtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstbGlzdC1zZWNvbmRhcnkgPiA6OmJlZm9yZSB7IGNvbG9yOiAkbGlzdC1zZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEltYWdlIGJ1bGxldCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWJ1bGxldCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRsaXN0LXBhZGRpbmctbGVmdDsgfVxuXG4udWstbGlzdC1idWxsZXQgPiA6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogKC0kbGlzdC1wYWRkaW5nLWxlZnQpO1xuICAgIHdpZHRoOiAkbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgaGVpZ2h0OiAkbGlzdC1tYXJrZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICgtJGxpc3QtbWFya2VyLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlLCBcIiMwMDBcIiwgJGxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1saXN0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICAgIHBhZGRpbmc6ICRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stbGlzdC1zdHJpcGVkKCk7fVxufVxuXG4udWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kOiAkbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3QtbGFyZ2UgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1sYXJnZSA+ICogPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLW1hcmdpbi10b3A7IH1cblxuLnVrLWxpc3QtY29sbGFwc2UgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1jb2xsYXBzZSA+ICogPiB1bCB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xufVxuXG4udWstbGlzdC1jb2xsYXBzZS51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gKiB7IHBhZGRpbmc6ICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstbGlzdC1jb2xsYXBzZS51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1zdHJpcGVkID4gOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEZXNjcmlwdGlvbiBsaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRlcm1cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0IHtcbiAgICBjb2xvcjogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCk7fVxufVxuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZGQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5lXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlciA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aCBzb2xpZCAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0YWJsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWJsZS1taWRkbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1qdXN0aWZ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc2hyaW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXJlc3BvbnNpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUgeyBtYXJnaW4tdG9wOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUgdGgge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1oZWFkZXItY2VsbCgpO31cbn1cblxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2VsbCgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEZvb3RlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0Zm9vdCB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jYXB0aW9uKCk7fVxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbi51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc3RyaXBlZCgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBBY3RpdmUgc3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpO31cbn1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc21hbGwoKTt9XG59XG5cbi51ay10YWJsZS1sYXJnZSB0aCxcbi51ay10YWJsZS1sYXJnZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbGFyZ2UoKTt9XG59XG5cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblxuLyogQ2VsbCBzaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNocmluayB7IHdpZHRoOiAxcHg7IH1cbi51ay10YWJsZS1leHBhbmQgeyBtaW4td2lkdGg6ICR0YWJsZS1leHBhbmQtbWluLXdpZHRoOyB9XG5cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG5cbi51ay10YWJsZS1saW5rIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay10YWJsZS1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEgeyBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLXRvcDogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLWJvdHRvbTogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBJY29uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWljb24taW1hZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWJ1dHRvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbi1pbWFnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cblxuLnVrLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm0gUmFuZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0aGUgcmFuZ2UgaW5wdXQgdHlwZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXJhbmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMikgKiAtMSk7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogVHJhY2tcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLyogMSAqL1xuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogICAgICAgICAgIDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiAgICAgIDdweCAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqICAgIERlZmF1bHQgaXMgYGNvbnRlbnQtYm94YCB3aXRoIGZvbGxvd2luZyBleGNlcHRpb25zIHNldCB0byBgYm9yZGVyLWJveGBcbiAqICAgIGBzZWxlY3RgLCBgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdYCBhbmQgYGlucHV0W3R5cGU9XCJyYWRpb1wiXWBcbiAqICAgIGBpbnB1dFt0eXBlPVwic2VhcmNoXCJdYCBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIGBpbnB1dFt0eXBlPVwiY29sb3JcIl1gIGluIEZpcmVmb3hcbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbi51ay1pbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG5cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbi51ay10ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuLnVrLWZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuLyogSW5wdXQsIHNlbGVjdCBhbmQgdGV4dGFyZWFcbiAqIEFsbG93ZWQ6IGB0ZXh0YCwgYHBhc3N3b3JkYCwgYGRhdGV0aW1lYCwgYGRhdGV0aW1lLWxvY2FsYCwgYGRhdGVgLCAgYG1vbnRoYCxcbiAgICAgICAgICAgIGB0aW1lYCwgYHdlZWtgLCBgbnVtYmVyYCwgYGVtYWlsYCwgYHVybGAsIGBzZWFyY2hgLCBgdGVsYCwgYGNvbG9yYFxuICogRGlzYWxsb3dlZDogYHJhbmdlYCwgYHJhZGlvYCwgYGNoZWNrYm94YCwgYGZpbGVgLCBgc3VibWl0YCwgYHJlc2V0YCBhbmQgYGltYWdlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXRleHRhcmVhIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBSZXNldCBkZWZhdWx0XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogMCAkZm9ybS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0pKSB7QGluY2x1ZGUgaG9vay1mb3JtKCk7fVxufVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWhlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc2luZ2xlLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXNpbmdsZS1saW5lKCk7fVxufVxuXG4vKiAyICovXG4udWstaW5wdXQ6bm90KGlucHV0KSxcbi51ay1zZWxlY3Q6bm90KHNlbGVjdCkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIE11bHRpLWxpbmVcbiAqL1xuXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0sXG4udWstdGV4dGFyZWEge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbXVsdGktbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tbXVsdGktbGluZSgpO31cbn1cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdIHsgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1mb2N1cy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tZm9jdXMoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbi51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstZm9ybS1zbWFsbCB7IGZvbnQtc2l6ZTogJGZvcm0tc21hbGwtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstZm9ybS1sYXJnZSB7IGZvbnQtc2l6ZTogJGZvcm0tbGFyZ2UtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1saW5lLWhlaWdodDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXJyb3JcbiAqL1xuXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kYW5nZXIoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMgIHtcbiAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogQmxhbmtcbiAqL1xuXG4udWstZm9ybS1ibGFuayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuaykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmsoKTt9XG59XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmstZm9jdXMoKTt9XG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cblxuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgteHNtYWxsOyB9XG5cbnNlbGVjdC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAoJGZvcm0td2lkdGgteHNtYWxsICsgMjVweCk7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgtc21hbGw7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHsgd2lkdGg6ICRmb3JtLXdpZHRoLW1lZGl1bTsgfVxuXG4udWstZm9ybS13aWR0aC1sYXJnZSB7IHdpZHRoOiAkZm9ybS13aWR0aC1sYXJnZTsgfVxuXG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqIDQuIFNldCBgY29sb3JgIGZvciBvcHRpb25zIGluIHRoZSBzZWxlY3QgZHJvcGRvd24sIGJlY2F1c2UgdGhlIGluaGVyaXRlZCBgY29sb3JgIG1pZ2h0IGJlIHRvbyBsaWdodC5cbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogNCAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgb3B0aW9uIHsgY29sb3I6ICRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBEYXRhbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBDaHJvbWVcbiAqL1xuXG4gLnVrLWlucHV0W2xpc3RdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1kYXRhbGlzdC1wYWRkaW5nLXJpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi51ay1pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1pbnB1dFtsaXN0XTpmb2N1cyB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcik7IH1cblxuLyogMSAqL1xuLnVrLWlucHV0W2xpc3RdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG5cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXJhZGlvLW1hcmdpbi10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWZvY3VzKCk7fVxufVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG5cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvbnNcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpO31cbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogTGVnZW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbGVnZW5kIHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250LXNpemU6ICRmb3JtLWxlZ2VuZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sZWdlbmQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxlZ2VuZCgpO31cbn1cblxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgbGVmdDogMDtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDQgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiA1ICovXG4gICAgZm9udC1zaXplOiA1MDBweDtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mb3JtLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGFiZWwoKTt9XG59XG5cblxuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN0YWNrZWRcbiAqL1xuXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbn1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC8qIEJlaGF2ZSBsaWtlIGB1ay1mb3JtLXN0YWNrZWRgICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMgeyBtYXJnaW4tbGVmdDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDsgfVxuXG4gICAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzLXRleHQgeyBwYWRkaW5nLXRvcDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOyB9XG5cbn1cblxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNldCB3aWR0aFxuICogMy4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1mb3JtLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGZvcm0taWNvbi13aWR0aDtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiA0ICovXG4gICAgY29sb3I6ICRmb3JtLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBJbnB1dCBwYWRkaW5nXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSB+IC51ay1pbnB1dCB7IHBhZGRpbmctbGVmdDogJGZvcm0taWNvbi13aWR0aCAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG5cbi51ay1mb3JtLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLnVrLWZvcm0taWNvbi1mbGlwIH4gLnVrLWlucHV0IHsgcGFkZGluZy1yaWdodDogJGZvcm0taWNvbi13aWR0aCAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCdXR0b25cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBidXR0b25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnV0dG9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWJ1dHRvbi1ncm91cGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1idXR0b24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxhcmdlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidXR0b24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tdGV4dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCdXR0b25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDQuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA1LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGZvciBgaW5wdXQgdHlwZT1cInN1Ym1pdFwiYGluIGlPUy5cbiAqIDcuIFN0eWxlXG4gKiA4LiBgbGluZS1oZWlnaHRgIGlzIHVzZWQgdG8gY3JlYXRlIGEgaGVpZ2h0IGJlY2F1c2UgaXQgYWxzbyBjZW50ZXJzIHRoZSB0ZXh0IHZlcnRpY2FsbHkgZm9yIGBhYCBlbGVtZW50cy5cbiAqICAgIEJldHRlciB3b3VsZCBiZSB0byB1c2UgaGVpZ2h0IGFuZCBmbGV4Ym94IHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGJ1dCBmbGV4Ym94IGRvZXNuJ3Qgd29yayBpbiBGaXJlZm94IG9uIGBidXR0b25gIGVsZW1lbnRzLlxuICogOS4gQWxpZ24gdGV4dCBpZiBidXR0b24gaGFzIGEgd2lkdGhcbiAqIDEwLiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1idXR0b24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDYgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA3ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gICAgLyogOCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmUtaGVpZ2h0O1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMTAgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbigpO31cbn1cblxuLnVrLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1mb2N1cykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1mb2N1cygpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRhbmdlcjpob3Zlcixcbi51ay1idXR0b24tZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG5cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tc21hbGwtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc21hbGwpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc21hbGwoKTt9XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxhcmdlKCk7fVxufVxuXG5cbi8qIFRleHQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tdGV4dCB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tdGV4dC1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tbGluazpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogR3JvdXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cblxuLnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJvZ3Jlc3Ncbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcm9ncmVzcyBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcHJvZ3Jlc3NgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogMy4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiA0LiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94IGFuZCBFZGdlXG4gKiA1LiBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgcHJvZ3Jlc3MgY29udGFpbmVyIGluIEZpcmVmb3gsIElFMTEgYW5kIEVkZ2VcbiAqIDYuIFN0eWxlXG4gKi9cblxuLnVrLXByb2dyZXNzIHtcbiAgICAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgYm9yZGVyOiAwO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7IG1hcmdpbi10b3A6ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZSB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgY29udGFpbmVyXG4gKiAyLiBSZW1vdmUgcHJvZ3Jlc3MgYmFyIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIEZpcmVmb3hcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIgeyB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlY3Rpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIGxheW91dCBzZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VjdGlvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zZWN0aW9uLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW92ZXJsYXBgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cblxuLnVrLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24pKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zZWN0aW9uID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogWFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24teHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbi1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLypcbiAqIFhMYXJnZVxuICovXG5cbi51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbi14bGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstc2VjdGlvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIE11dGVkXG4gKi9cblxuLnVrLXNlY3Rpb24tbXV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW11dGVkKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1zZWN0aW9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1wcmltYXJ5KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstc2VjdGlvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLyogT3ZlcmxhcCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNlcnZlZCBtb2RpZmllciB0byBtYWtlIGEgc2VjdGlvbiBvdmVybGFwIGFub3RoZXIgc2VjdGlvbiB3aXRoIGFuIGJvcmRlciBpbWFnZVxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuLnVrLXNlY3Rpb24tb3ZlcmxhcCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tb3ZlcmxhcCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tb3ZlcmxhcCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW92ZXJsYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDb250YWluZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGFsaWduIGFuZCBjZW50ZXIgeW91ciBzaXRlIGFuZCBncmlkIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29udGFpbmVyLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmQtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbnRhaW5lci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg6ICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6ICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAgICAgICAgICAgICAgMTQwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOiAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEJveCBzaXppbmcgaGFzIHRvIGJlIGBjb250ZW50LWJveGAgc28gdGhlIG1heC13aWR0aCBpcyBhbHdheXMgdGhlIHNhbWUgYW5kXG4gKiAgICB1bmFmZmVjdGVkIGJ5IHRoZSBwYWRkaW5nIG9uIGRpZmZlcmVudCBicmVha3BvaW50cy4gSXQncyBpbXBvcnRhbnQgZm9yIHRoZSBzaXplIG1vZGlmaWVycy5cbiAqL1xuXG4udWstY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb250YWluZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6ICRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXIteGxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuXG4vKiBFeHBhbmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXhwYW5kIG9uZSBzaWRlIG9ubHlcbiAqL1xuXG4udWstY29udGFpbmVyLWV4cGFuZC1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14bGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byByZXNldCBjb250YWluZXIgcGFkZGluZyBvbiB0aGUgbGVmdCBvciByaWdodCBzaWRlXG4gKiBOb3RlOiBJdCBoYXMgdG8gYmUgbmVnYXRpdmUgbWFyZ2luIG9uIHRoZSBpdGVtLCBiZWNhdXNlIGl0J3Mgc3BlY2lmaWMgdG8gdGhlIGl0ZW0uXG4gKi9cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbH0pJykgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKSB9XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXMpOyB9XG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXMpOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKSB9XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW0pOyB9XG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW0pOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb250YWluZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbnRhaW5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRpbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aWxlZCBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRpbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGlsZS14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUteGxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc2Vjb25kYXJ5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGlsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10aWxlIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlKSkge0BpbmNsdWRlIGhvb2stdGlsZSgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstdGlsZS14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay10aWxlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay10aWxlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stdGlsZS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstdGlsZS1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXRpbGUtbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXRpbGUtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtc2Vjb25kYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGlsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aWxlKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDYXJkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYm94ZWQgY29udGVudCBjb250YWluZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2FyZGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jYXJkLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1tZWRpYS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtYmFkZ2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY2FyZC1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbGFyZ2VgXG4vL1xuLy8gVXNlczogICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNhcmQtYmFkZ2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG5cbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQpKSB7QGluY2x1ZGUgaG9vay1jYXJkKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYm9keSB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1ib2R5KCk7fVxufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZm9vdGVyKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIGFsaWdubWVudCBtb2RpZmllciB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCwgZS5nLiB3aXRoIGBib3JkZXItcmFkaXVzYFxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLXRvcCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtbGVmdCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQgIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS10b3ApKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXRvcCgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtcmlnaHQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY2FyZC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC10aXRsZSgpO31cbn1cblxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQb3NpdGlvblxuICogMi4gU2l6ZVxuICogMy4gU3R5bGVcbiAqIDQuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkY2FyZC1iYWRnZS10b3A7XG4gICAgcmlnaHQ6ICRjYXJkLWJhZGdlLXJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGNhcmQtYmFkZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJGNhcmQtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtYmFkZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkY2FyZC1iYWRnZS1mb250LXNpemU7XG4gICAgLyogNCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1jYXJkLWJhZGdlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWhvdmVyOm5vdCgudWstY2FyZC1kZWZhdWx0KTpub3QoLnVrLWNhcmQtcHJpbWFyeSk6bm90KC51ay1jYXJkLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdCgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1jYXJkLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7IH1cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1taXNjKSkge0BpbmNsdWRlIGhvb2stY2FyZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jYXJkLWJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1jbG9zZSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1jbG9zZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWNsb3NlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTcGlubmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBsb2FkaW5nIHNwaW5uZXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zcGlubmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7IC8vIE1pbnVzIHN0cm9rZSB3aWR0aCB0byBwcmV2ZW50IG92ZXJmbG93IGNsaXBwaW5nXG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjRzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc3Bpbm5lciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXIpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyKCk7fVxufVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zcGlubmVyID4gKiB7IGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxufVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cblxuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLWRhc2ggJHNwaW5uZXItZHVyYXRpb24gZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgc3Ryb2tlLXdpZHRoOiAkc3Bpbm5lci1zdHJva2Utd2lkdGg7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlLzQ7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyk7XG4gICAgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNwaW5uZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3Bpbm5lcigpe31cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG90b3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBpY29uIHRvIHNjcm9sbCBiYWNrIHRvIHRvcFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvdG9wYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b3RvcC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay10b3RvcCB7XG4gICAgcGFkZGluZzogJHRvdG9wLXBhZGRpbmc7XG4gICAgY29sb3I6ICR0b3RvcC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3ApKSB7QGluY2x1ZGUgaG9vay10b3RvcCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRvdG9wOmhvdmVyLFxuLnVrLXRvdG9wOmZvY3VzIHtcbiAgICBjb2xvcjogJHRvdG9wLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdG90b3AtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay10b3RvcDphY3RpdmUge1xuICAgIGNvbG9yOiAkdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1hY3RpdmUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvdG9wLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNYXJrZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIG1hcmtlciBpY29uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbWFya2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJrZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRtYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJrZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbWFya2VyIHtcbiAgICBwYWRkaW5nOiAkbWFya2VyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG1hcmtlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbWFya2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1tYXJrZXI6aG92ZXIsXG4udWstbWFya2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJG1hcmtlci1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxlcnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbGVydCBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsZXJ0YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWFsZXJ0LWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFsZXJ0LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYWxlcnQtY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGVydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmctcmlnaHQgJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQpKSB7QGluY2x1ZGUgaG9vay1hbGVydCgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLWFsZXJ0IHsgbWFyZ2luLXRvcDogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFsZXJ0ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkYWxlcnQtY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1hbGVydC1jbG9zZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlciArIEZvY3VzXG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmhvdmVyLFxuLnVrLWFsZXJ0LWNsb3NlOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1hbGVydC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1hbGVydC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWFsZXJ0LWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsZXJ0KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQbGFjZWhvbGRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHBsYWNlaG9sZGVyIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGxhY2Vob2xkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGxhY2Vob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWwgJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkcGxhY2Vob2xkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1wbGFjZWhvbGRlcigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXBsYWNlaG9sZGVyIHsgbWFyZ2luLXRvcDogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBsYWNlaG9sZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGxhY2Vob2xkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhZGdlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIGJhZGdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhZGdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWRnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstYmFkZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkYmFkZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWRnZS1zaXplO1xuICAgIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsICRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWJhZGdlOmhvdmVyLFxuLnVrLWJhZGdlOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhZGdlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExhYmVsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBpbmRpY2F0ZSBpbXBvcnRhbnQgbm90ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sYWJlbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1sYWJlbC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmctdmVydGljYWwgJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBsaW5lLWhlaWdodDogJGxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1sYWJlbCgpO31cbn1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1sYWJlbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWxhYmVsLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1sYWJlbC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE92ZXJsYXlcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb250ZW50IGFyZWFzIG92ZXJsYXlpbmcgYW4gaW1hZ2Vcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vdmVybGF5YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW92ZXJsYXktaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1vdmVybGF5LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVybGF5LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheSB7XG4gICAgcGFkZGluZzogJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbCAkb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXktaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktaWNvbikpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktaWNvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1vdmVybGF5LWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1vdmVybGF5LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktbWlzYykpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQXJ0aWNsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFydGljbGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYXJ0aWNsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hcnRpY2xlLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYXJ0aWNsZS1tZXRhYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhcnRpY2xlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBcnRpY2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAkYXJ0aWNsZS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLXRpdGxlKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlIHsgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWV0YSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDb21tZW50XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbmVzdGVkIGNvbW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29tbWVudGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb21tZW50LWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LW1ldGFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWF2YXRhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbGlzdGBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb21tZW50LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06ICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29tbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYm9keSgpO31cbn1cblxuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1tZXRhIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY29tbWVudC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1ldGEoKTt9XG59XG5cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYXZhdGFyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1hdmF0YXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWF2YXRhcigpO31cbn1cblxuXG4vKiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICAgIG1hcmdpbjogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wIDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1YikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWIoKTt9XG59XG5cbi8qIFRhYmxldCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgeyBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW07IH1cblxufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtcHJpbWFyeSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VhcmNoXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGhlIHNlYXJjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlYXJjaGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zZWFyY2gtaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtdG9nZ2xlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLXNlYXJjaC1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXNlYXJjaC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLW5hdmJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gUmVzZXQgYGZvcm1gXG4gKi9cblxuLnVrLXNlYXJjaCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiBJbnB1dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiA1LiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICogNy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA4LiBUYWtlIHRoZSBmdWxsIGNvbnRhaW5lciB3aWR0aFxuICogOS4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWlucHV0IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDcgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDggKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA5ICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkc2VhcmNoLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtaW5wdXQoKTt9XG59XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaWNvbjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgeyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1uYXZiYXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLW5hdmJhci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cblxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgeyB3aWR0aDogJHNlYXJjaC1sYXJnZS13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1sYXJnZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC10b2dnbGUge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBY2NvcmRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhY2NvcmRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWNjb3JkaW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFjY29yZGlvbi10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjY29yZGlvbi1jb250ZW50YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWNjb3JkaW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24oKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24gPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1pdGVtKCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuLnVrLWFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1jb250ZW50KSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4gLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHBvc2l0aW9uIGFueSBlbGVtZW50IG5leHQgdG8gYW55IG90aGVyIGVsZW1lbnQuXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Atei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cblxuLnVrLWRyb3Age1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Atei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGRyb3Atd2lkdGg7XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3AtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Atc3RhY2sgLnVrLWRyb3AtZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZHJvcGRvd24gbWVudXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wZG93bmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1kcm9wZG93bi1uYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcGRvd24tdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tbmF2IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wZG93bi10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLXN0YWNrIC51ay1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbW9kYWwtY2xvc2UtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLW91dHNpZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1mdWxsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW1vZGFsLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZ1bGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbW9kYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuXG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6ICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbCgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1vZGFsIHsgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW1vZGFsLnVrLW9wZW4geyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbW9kYWwtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogJG1vZGFsLWRpYWxvZy13aWR0aDtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAwLjAxcHgpJykgIWltcG9ydGFudDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kO1xuICAgIC8qIDUgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZGlhbG9nKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZGlhbG9nKCk7fVxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cblxuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHsgd2lkdGg6ICRtb2RhbC1jb250YWluZXItd2lkdGg7IH1cblxuLypcbiAqIEZ1bGwgc2l6ZVxuICogMS4gUmVtb3ZlIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgZnJvbSBtb2RhbFxuICogMi4gUmVzZXQgYWxsIGRlZmF1bHQgZGVjbGFyYXRpb25zIGZyb20gbW9kYWwgZGlhbG9nXG4gKi9cblxuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mdWxsKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtYm9keSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWJvZHkoKTt9XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1oZWFkZXIoKTt9XG59XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRtb2RhbC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC10aXRsZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0OmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLyogMSAqL1xuICAgIHJpZ2h0OiAoLSRtb2RhbC1jbG9zZS1wYWRkaW5nKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIDEgKi9cbiAgICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXNob3dcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzbGlkZXNob3dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVzaG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlc2hvdy1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3cge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3cpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3coKTt9XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAvKiA1ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLyogNiAqL1xuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdy1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIHNsaWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlci1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAtMTFweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgLTM5cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgIC0yNXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAtMjVweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlciB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbi51ay1zbGlkZXItY29udGFpbmVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogV2lkZW4gY29udGFpbmVyIHRvIHByZXZlbnQgYm94LXNoYWRvd3MgZnJvbSBjbGlwcGluZywgYGxhcmdlLWJveC1zaGFkb3dgXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXItb2Zmc2V0IHtcbiAgICBtYXJnaW46ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b20gJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZzogKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgKiAtMSkgKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodCAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbSAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQgKiAtMSk7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0IHN0eWxlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBncmlkXG4gKiAyLiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXM6bm90KC51ay1ncmlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWstc2xpZGVyLWl0ZW1zLnVrLWdyaWQgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTGV0IGl0ZW1zIHRha2UgY29udGVudCBkaW1lbnNpb25zICgwIDAgYXV0bylcbiAqICAgIGBtYXgtd2lkdGhgIG5lZWRlZCB0byBrZWVwIGltYWdlIHJlc3BvbnNpdmVuZXNzIGFuZCBwcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiA0LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA1LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDQgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4vKiA1ICovXG4udWstc2xpZGVyLWl0ZW1zID4gOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdGlja3lcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG1ha2UgZWxlbWVudHMgc3RpY2t5IGluIHRoZSB2aWV3cG9ydFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN0aWNreWBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zdGlja3ktZml4ZWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdGlja3ktei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc29sdmUgZnJhbWUgcmF0ZSBpc3N1ZXMgb24gZGV2aWNlcyB3aXRoIGxvd2VyIGZyYW1lIHJhdGVzIGJ5IGZvcmNpbmcgaGFyZHdhcmUgYWNjZWxlcmF0aW9uXG4gKi9cblxuLnVrLXN0aWNreS1maXhlZCB7XG4gICAgei1pbmRleDogJHN0aWNreS16LWluZGV4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIEZhc3RlciBhbmltYXRpb25zXG4gKi9cblxuLnVrLXN0aWNreVtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuLnVrLXN0aWNreS51ay1hbmltYXRpb24tcmV2ZXJzZSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN0aWNreS1taXNjKSkge0BpbmNsdWRlIGhvb2stc3RpY2t5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBPZmYtY2FudmFzXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gb2ZmLWNhbnZhcyBzaWRlYmFyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstb2ZmY2FudmFzYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW9mZmNhbnZhcy1iYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXBhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb2ZmY2FudmFzLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW9mZmNhbnZhcy1mbGlwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWJhci1hbmltYXRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcmV2ZWFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLW92ZXJsYXlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRvZmZjYW52YXMtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPZmYtY2FudmFzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcyB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIEJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNpemUgYW5kIHN0eWxlXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmdcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgpO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aDtcbiAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsICRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWJhcikpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1iYXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgICAgICBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pO1xuICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTtcbiAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tICRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLyogRmxpcCBtb2RpZmllciAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIgeyByaWdodDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTsgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7IGxlZnQ6IDA7IH1cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogU2xpZGUgQW5pbWF0aW9uIChVc2VkIGluIHNsaWRlIGFuZCBwdXNoIG1vZGUpXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHsgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0OyB9XG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcmlnaHQ7IH1cblxuLypcbiAqIFJldmVhbCBBbmltYXRpb25cbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2xpcCB0aGUgYmFyXG4gKiAzLiBBbmltYXRpb25cbiAqIDQuIFJlc2V0IHBvc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xufVxuXG4udWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogNCAqL1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogNCAqL1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07IH1cblxufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb2ZmY2FudmFzLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xuICAgIHRvcDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1jbG9zZSgpO31cbn1cblxuXG4vKiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE92ZXJsYXkgdGhlIHdob2xlIHBhZ2UuIE5lZWRlZCBmb3IgdGhlIGA6OmJlZm9yZWBcbiAqIDEuIFVzaW5nIGAxMDB2d2Agc28gbm8gbW9kaWZpY2F0aW9uIGlzIG5lZWRlZCB3aGVuIG9mZi1jYW52YXMgaXMgZmxpcHBlZFxuICogMi4gQWxsb3cgZm9yIGNsb3Npbmcgd2l0aCBzd2lwZSBnZXN0dXJlIG9uIGRldmljZXMgd2l0aCBwb2ludGVyIGV2ZW50cy5cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwdnc7XG4gICAgLyogMiAqL1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIDEuIE1hc2sgdGhlIHdob2xlIHBhZ2VcbiAqIDIuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgICAvKiAxICovXG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1vdmVybGF5KCk7fVxufVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFByZXZlbnQgc2Nyb2xsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2hlbiB0aGUgY29udGVudCBpcyBzbGlkZS1vdXRcbiAqIEhhcyB0byBiZSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQgdG9vIHRvIG1ha2UgaXQgd29yayBvbiB0aGUgYGJvZHlgXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1wYWdlLFxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIgeyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlcGFyZSBzbGlkZS1vdXQgYW5pbWF0aW9uIChVc2VkIGluIHJldmVhbCBhbmQgcHVzaCBtb2RlKVxuICogVXNpbmcgYHBvc2l0aW9uOiBsZWZ0YCBpbnN0ZWFkIG9mIGB0cmFuc2Zvcm1gIGJlY2F1c2UgcG9zaXRpb24gYGZpeGVkYCBlbGVtZW50cyBsaWtlIHN0aWNreSBuYXZiYXJzXG4gKiBsb3NlIHRoZWlyIGZpeGVkIHN0YXRlIGFuZCBiZWhhdmVzIGxpa2UgYGFic29sdXRlYCB3aXRoaW4gYSB0cmFuc2Zvcm1lZCBjb250YWluZXJcbiAqIDEuIFByb3ZpZGUgYSBmaXhlZCB3aWR0aCBhbmQgcHJldmVudCBzaHJpbmtpbmdcbiAqL1xuXG4udWstb2ZmY2FudmFzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0O1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKlxuICogQWN0aXZhdGUgc2xpZGUtb3V0IGFuaW1hdGlvblxuICovXG5cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi51ay1vZmZjYW52YXMtZmxpcC51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgpOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN3aXRjaGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBuYXZpZ2F0ZSB0aHJvdWdoIGRpZmZlcmVudCBjb250ZW50IHBhbmVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3dpdGNoZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN3aXRjaGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zd2l0Y2hlciA+IDpub3QoLnVrLWFjdGl2ZSkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc3dpdGNoZXIgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3dpdGNoZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXN3aXRjaGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN3aXRjaGVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBMZWFkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbGVhZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxlYWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGVhZGVyLWZpbGwtY29udGVudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGVhZGVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gUGxhY2UgZWxlbWVudCBpbiB0ZXh0IGZsb3dcbiAqIDIuIE5ldmVyIGJyZWFrIGludG8gYSBuZXcgbGluZVxuICogMy4gR2V0IGEgc3RyaW5nIGJhY2sgd2l0aCBhcyBtYW55IHJlcGVhdGluZyBjaGFyYWN0ZXJzIHRvIGZpbGwgdGhlIGNvbnRhaW5lclxuICogNC4gUHJldmVudCB3cmFwcGluZy4gT3ZlcmZsb3dpbmcgY2hhcmFjdGVycyB3aWxsIGJlIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lclxuICovXG5cbi51ay1sZWFkZXItZmlsbDo6YWZ0ZXIge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgLyogMyAqL1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1maWxsKTtcbiAgICAvKiA0ICovXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbGVhZGVyKCk7fVxufVxuXG4vKlxuICogSGlkZSBpZiBtZWRpYSBkb2VzIG5vdCBtYXRjaFxuICovXG5cbi51ay1sZWFkZXItZmlsbC51ay1sZWFkZXItaGlkZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTXG4gKi9cblxuLnVrLWxlYWRlci1maWxsLWNvbnRlbnQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRsZWFkZXItZmlsbC1jb250ZW50fSc7IH1cbjpyb290IHsgLS11ay1sZWFkZXItZmlsbC1jb250ZW50OiAjeyRsZWFkZXItZmlsbC1jb250ZW50fTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbGVhZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxlYWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5vdGlmaWNhdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5vdGlmaWNhdGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRub3RpZmljYXRpb24tcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOb3RpZmljYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICB6LWluZGV4OiAkbm90aWZpY2F0aW9uLXotaW5kZXg7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRub3RpZmljYXRpb24td2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbigpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cbi51ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcixcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAoJG5vdGlmaWNhdGlvbi13aWR0aCAvIC0yKTtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG5cbi8qIFJlc3BvbnNpdmVuZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstbm90aWZpY2F0aW9uIHtcbiAgICAgICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG59XG5cblxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKTt9XG59XG5cbiogKyAudWstbm90aWZpY2F0aW9uLW1lc3NhZ2UgeyBtYXJnaW4tdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpO31cbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvb2x0aXBcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0b29sdGlwc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvb2x0aXBgXG4vL1xuLy8gTW9kaWZpZXJzICAgICAgICBgdWstdG9vbHRpcC10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b29sdGlwLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG9vbHRpcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFBvc2l0aW9uXG4gKiAzLiBSZW1vdmUgdG9vbHRpcCBmcm9tIGRvY3VtZW50IGZsb3cgdG8ga2VlcCB0aGUgVUlraXQgY29udGFpbmVyIGZyb20gY2hhbmdpbmcgaXRzIHNpemUgd2hlbiBpbmplY3RlZCBpbnRvIHRoZSBkb2N1bWVudCBpbml0aWFsbHlcbiAqIDQuIERpbWVuc2lvbnNcbiAqIDUuIFN0eWxlXG4gKi9cblxuLnVrLXRvb2x0aXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJHRvb2x0aXAtei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgdG9wOiAwO1xuICAgIC8qIDQgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmctdmVydGljYWwgJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcCgpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay10b29sdGlwLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJHRvb2x0aXAtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b29sdGlwLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNvcnRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc29ydGFibGUgZ3JpZHMgYW5kIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc29ydGFibGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc29ydGFibGUtZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtaGFuZGxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNvcnRhYmxlLWVtcHR5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRyYWdgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc29ydGFibGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBEcmFnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLWRyYWcge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6ICRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXggIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZHJhZykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLWRyYWcoKTt9XG59XG5cblxuLyogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6ICRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCk7fVxufVxuXG5cbi8qIEVtcHR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLWVtcHR5IHtcbiAgICBtaW4taGVpZ2h0OiAkc29ydGFibGUtZW1wdHktaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1lbXB0eSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLWVtcHR5KCk7fVxufVxuXG5cbi8qIEhhbmRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhvdmVyICovXG4udWstc29ydGFibGUtaGFuZGxlOmhvdmVyIHsgY3Vyc29yOiBtb3ZlOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdW50ZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvdW50ZG93biB0aW1lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3VudGRvd25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY291bnRkb3duLW51bWJlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1zZXBhcmF0b3JgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tbGFiZWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgLy8gNjRweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7IC8vIDk2cHhcblxuJGNvdW50ZG93bi1zZXBhcmF0b3ItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgIDEuNiAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyAxNnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7IC8vIDQ4cHhcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ291bnRkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93biB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIsXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLWl0ZW0oKTt9XG59XG5cblxuLyogTnVtYmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKlxuICogMS4gTWFrZSBudW1iZXJzIGFsbCBvZiB0aGUgc2FtZSBzaXplIHRvIHByZXZlbnQganVtcGluZy4gTXVzdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIGZvbnQuXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICAvKiAxICovXG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24tbnVtYmVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLW51bWJlcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIFNlcGFyYXRvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvdW50ZG93bi1zZXBhcmF0b3ItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1zZXBhcmF0b3IpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLWxhYmVsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1taXNjKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgR3JpZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHJlc3BvbnNpdmUsIGZsdWlkIGFuZCBuZXN0YWJsZSBncmlkc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWdyaWRgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZ3JpZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtY29sbGFwc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hdGNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWNvbGxhcHNlYFxuLy9cbi8vIFN1Yi1tb2RpZmllcjogICAgYHVrLWdyaWQtaXRlbS1tYXRjaGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuXG4udWstZ3JpZCA+ICogeyBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQsXG4udWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQsXG4gICAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1jb2x1bW4tc21hbGwgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLXNtYWxsID4gKixcbi51ay1ncmlkLWNvbHVtbi1zbWFsbCA+ICogIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1jb2x1bW4tbWVkaXVtIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbi51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAqLFxuICAgIC51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbiAgICAudWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbiAgICAudWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAudWstZ3JpZC1yb3ctbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZC1jb2x1bW4tY29sbGFwc2UgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWdyaWQtY29sbGFwc2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLWxlZnQ6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCkpIHtAaW5jbHVkZSBob29rLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCk7fVxufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbn1cblxuXG4vKiBNYXRjaCBjaGlsZCBvZiBhIGdyaWQgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuXG4udWstZ3JpZC1tYXRjaCA+ICosXG4udWstZ3JpZC1pdGVtLW1hdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi51ay1ncmlkLW1hdGNoID4gKiA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSksXG4udWstZ3JpZC1pdGVtLW1hdGNoID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGZsZXg6IGF1dG87XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1taXNjKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbi8vIEBtaXhpbiBob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe31cbi8vIEBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIHN0eWxlcyBmb3IgbGlzdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXYtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtc3ViYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdi1wYXJlbnQtaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtY2VudGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcblxuJG5hdi1wYXJlbnQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXRcbiAqIDEuIFByZXBhcmUgbGlzdHNcbiAqIDIuIFByZXBhcmUgbGlua3NcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IGZvY3VzIHN0eWxlXG4gKi9cblxuLyogMSAqL1xuLnVrLW5hdixcbi51ay1uYXYgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1uYXYgbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIDMgKi9cbi51ay1uYXYgbGkgPiBhOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogSXRlbXNcbiAqIE11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGxpc3RzKVxuICovXG5cbi51ay1uYXYgPiBsaSA+IGEgeyBwYWRkaW5nOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGV2ZWwgMlxuICogYHVsYCBuZWVkZWQgZm9yIGhpZ2hlciBzcGVjaWZpY2l0eSB0byBvdmVycmlkZSBwYWRkaW5nXG4gKi9cblxudWwudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZzogJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgMCAkbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbCAkbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtc3ViKSkge0BpbmNsdWRlIGhvb2stbmF2LXN1YigpO31cbn1cblxuLypcbiAqIExldmVsIDMgYW5kIGRlZXBlclxuICovXG5cbi51ay1uYXYtc3ViIHVsIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXN1YiBhIHsgcGFkZGluZzogJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAwOyB9XG5cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAkbmF2LXBhcmVudC1pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXYtcGFyZW50LWljb24oKTt9XG59XG5cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIEhlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkbmF2LWhlYWRlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtaGVhZGVyKCk7fVxufVxuXG4udWstbmF2LWhlYWRlcjpub3QoOmZpcnN0LWNoaWxkKSB7IG1hcmdpbi10b3A6ICRuYXYtaGVhZGVyLW1hcmdpbi10b3A7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBtYXJnaW46ICRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWwgJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWRlZmF1bHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIFByaW1hcnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBTdWJsaXN0cyAqL1xuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIsXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBQYXJlbnQgaWNvbiBtb2RpZmllciAgKi9cbi51ay1uYXYtY2VudGVyLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2YmFyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBuYXZpZ2F0aW9uIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZiYXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2YmFyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWl0ZW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN1YnRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3BiYXJgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duYCArIE1vZGlmaWVyc1xuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1ncmlkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdmJhci1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRyYW5zcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN0aWNreWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1zdGFja2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gY2VudGVyIG5hdmJhciBncm91cFxuICovXG5cbi51ay1uYXZiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItY29udGFpbmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvbiAoaWYgQ29udGFpbmVyIGNvbXBvbmVudCBpcyB1c2VkKVxuICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBHcm91cHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gbmF2cyBhbmQgaXRlbXMgdmVydGljYWxseSBpZiB0aGV5IGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0XG4gKiAyLiBOb3RlOiBJRSAxMSByZXF1aXJlcyBhbiBleHRyYSBgZGl2YCB3aGljaCBhZmZlY3RzIHRoZSBjZW50ZXIgc2VsZWN0b3JcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLy8gMi4gW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlciddLFxuLnVrLW5hdmJhci1jZW50ZXIsXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0ID4gKixcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0ID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIEhvcml6b250YWwgYWxpZ25tZW50XG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgY2VudGVyZWQgbmF2YmFyIHdpdGggc3ViIGdyb3VwcyAobGVmdC9yaWdodClcbiAqIDIuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKiAzLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDQuIEFsaWduIHN1YiBncm91cHMgZm9yIGNlbnRlcmVkIG5hdmJhclxuICovXG5cbi51ay1uYXZiYXItcmlnaHQgeyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAzICovXG4gICAgei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMTA7XG59XG5cbi8qIDQgKi9cbi51ay1uYXZiYXItY2VudGVyLWxlZnQsXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG59XG5cbi51ay1uYXZiYXItY2VudGVyLWxlZnQgeyByaWdodDogMTAwJTsgfVxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgeyBsZWZ0OiAxMDAlOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10ge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8qIE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLW5hdmJhci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogT25seSBub3QgYGFic29sdXRlYCBwb3NpdGlvbmVkIGdyb3Vwc1xuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAgICAvLyBOYXYgaXRlbVxuLnVrLW5hdmJhci1pdGVtLCAgICAgICAgICAgIC8vIENvbnRlbnQgaXRlbVxuLnVrLW5hdmJhci10b2dnbGUgeyAgICAgICAgIC8vIENsaWNrYWJsZSBpdGVtXG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDQgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci10b2dnbGUge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbjpob3ZlciA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24sXG46Zm9jdXMgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXByaW1hcnkoKTt9XG59XG5cbi51ay1uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdHJhbnNwYXJlbnQpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKTt9XG59XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN0aWNreSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdGlja3koKTt9XG59XG5cblxuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbmF2YmFyLWRyb3Bkb3duLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDIpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMyk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDUpOyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyKCk7fVxufVxuXG4vKlxuICogU2xpZGUgbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3BiYXItei1pbmRleDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN1Ym5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgc3ViIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdWJuYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc3VibmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zdWJuYXYtcGlsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN1Ym5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN1Ym5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1zdWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU2V0IGd1dHRlciBcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgoJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsICogMikgKyAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoKTsgfVxuXG4vKlxuICogQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIDEuIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAtICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1sZWZ0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vKiAxICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc3VibmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIFBpbGwgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCcmVhZGNydW1iXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBicmVhZGNydW1iIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1icmVhZGNydW1iYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCcmVhZGNydW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstYnJlYWRjcnVtYiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYigpO31cbn1cblxuLypcbiAqIDEuIERvZXNuJ3QgZ2VuZXJhdGUgYW55IGJveCBhbmQgcmVwbGFjZWQgYnkgY2hpbGQgYm94ZXNcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogeyBkaXNwbGF5OiBjb250ZW50czsgfVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4udWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gc3Bhbixcbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiBhOm5vdChbaHJlZl0pIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqIDEuIFJlbW92ZSBzcGFjZSBiZXR3ZWVuIGlubGluZSBibG9jayBlbGVtZW50cy5cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAwIHVucXVvdGUoJ2NhbGMoI3skYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsfSAtIDRweCknKTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItbWlzYykpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQYWdpbmF0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBwYWdlIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYWdpbmF0aW9uYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLXBhZ2luYXRpb24tbmV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZ2luYXRpb24tcHJldmlvdXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZ2luYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXBhZ2luYXRpb24gPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4udWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFiXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSB0YWJiZWQgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRhYmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWItYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciB0ZXh0IGlmIGEgd2lkdGggaXMgc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay10YWIgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWwgJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdGFiID4gKiA+IGE6aG92ZXIsXG4udWstdGFiID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJvdHRvbVxuICovXG5cbi51ay10YWItYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20oKTt9XG59XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tLWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBMZWZ0ICsgUmlnaHRcbiAqIDEuIFJlc2V0IEd1dHRlclxuICovXG5cbi51ay10YWItbGVmdCxcbi51ay10YWItcmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiAxICovXG4udWstdGFiLWxlZnQgPiAqLFxuLnVrLXRhYi1yaWdodCA+ICogeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYi1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWxlZnQpKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdCgpO31cbn1cblxuLnVrLXRhYi1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodCkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodCgpO31cbn1cblxuLnVrLXRhYi1sZWZ0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdC1pdGVtKCk7fVxufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZW5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByZXZpb3VzL25leHQgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlbmF2LWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zbGlkZW5hdi1wcmV2aW91c2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1hY3RpdmUoKTt9XG59XG5cblxuLyogSWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2aW91c1xuICovXG5cbi51ay1zbGlkZW5hdi1wcmV2aW91cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LXByZXZpb3VzKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKTt9XG59XG5cbi8qXG4gKiBOZXh0XG4gKi9cblxuLnVrLXNsaWRlbmF2LW5leHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1uZXh0KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbmV4dCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWxhcmdlIHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWxhcmdlKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERvdG5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRvdG5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1kb3RuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERvdG5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2KSkge0BpbmNsdWRlIGhvb2stZG90bmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtc1xuICogMS4gSGlkZSB0ZXh0IGlmIHByZXNlbnRcbiAqL1xuXG4udWstZG90bmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkb3RuYXYtaXRlbS13aWR0aDtcbiAgICBoZWlnaHQ6ICRkb3RuYXYtaXRlbS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgLyogMSAqL1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4udWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstZG90bmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1kb3RuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRvdG5hdigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRodW1ibmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGh1bWJuYWlsIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGh1bWJuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstdGh1bWJuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGh1bWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdikpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2KCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZy1sZWZ0OiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRodW1ibmF2ID4gKiA+IDpob3Zlcixcbi51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLXRodW1ibmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstdGh1bWJuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2KCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvbm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29ubmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWljb25uYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2KCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsXG4udWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWljb25uYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kaWNvbm5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstaWNvbm5hdi12ZXJ0aWNhbCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWljb25uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdigpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBMaWdodGJveFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGxpZ2h0Ym94IGltYWdlIGdhbGxlcnlcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGJveGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saWdodGJveC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtYnV0dG9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtY2FwdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWlmcmFtZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaWdodGJveC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHZ3ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEwMHZoICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKiA3LiBQcmV2ZW50IGNhbmNlbGxhdGlvbiBvZiBwb2ludGVyIGV2ZW50cyB3aGlsZSBkcmFnZ2luZ1xuICovXG5cbi51ay1saWdodGJveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJGxpZ2h0Ym94LXotaW5kZXg7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIC8qIDcgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBpbmNoLXpvb207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94KSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3goKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDE7XG59XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbGlnaHRib3gtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBDb2xvciBuZWVkZWQgZm9yIHNwaW5uZXIgaWNvblxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICogICAgVXNpbmcgYHZoYCBhbmQgYHZ3YCB0byBtYWtlIHJlc3BvbnNpdmUgaW1hZ2Ugd29yayBpbiBJRTExXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvbG9yO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtaXRlbSgpO31cbn1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICAgIG1heC13aWR0aDogJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6ICRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ7XG59XG5cbi8qIDYgKi9cbi51ay1saWdodGJveC1pdGVtcyA+IDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+IDpub3QoaWZyYW1lKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAudWstYWN0aXZlIHsgZGlzcGxheTogZmxleDsgfVxuXG4vKiBUb29sYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWwgJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhcigpO31cbn1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgPiAqIHsgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWNvbG9yOyB9XG5cblxuLyogVG9vbGJhciBJY29uIChDbG9zZSlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbjpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3ZlcigpO31cbn1cblxuXG5cbi8qIEJ1dHRvbiAoU2xpZGVuYXYpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1saWdodGJveC1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRsaWdodGJveC1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRsaWdodGJveC1idXR0b24tc2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsaWdodGJveC1idXR0b24tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpob3Zlcixcbi51ay1saWdodGJveC1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1saWdodGJveC1idXR0b246YWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1jYXB0aW9uOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1pZnJhbWUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Iga2V5ZnJhbWUgYW5pbWF0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFuaW1hdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFuaW1hdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24ta2VuYnVybnNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2hha2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc3Ryb2tlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXJldmVyc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tZmFzdGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hbmltYXRpb24tdG9nZ2xlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDJzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgIDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG5cbi8qIEFuaW1hdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay1hbmltYXRpb24tZmFkZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhZGUtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7IH1cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4OyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0OyB9XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtOyB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbi51ay1hbmltYXRpb24ta2VuYnVybnMge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb247XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbi51ay1hbmltYXRpb24tc2hha2UgeyBhbmltYXRpb24tbmFtZTogdWstc2hha2U7IH1cblxuLypcbiAqIFNWRyBTdHJva2VcbiAqIFRoZSBgLS11ay1hbmltYXRpb24tc3Ryb2tlYCBjdXN0b20gcHJvcGVydHkgY29udGFpbnMgdGhlIGxvbmdlc3QgcGF0aCBsZW5ndGguXG4gKiBTZXQgaXQgbWFudWFsbHkgb3IgdXNlIGB1ay1zdmc9XCJzdHJva2UtYW5pbWF0aW9uOiB0cnVlXCJgIHRvIHNldCBpdCBhdXRvbWF0aWNhbGx5LlxuICogQWxsIHN0cm9rZXMgYXJlIGFuaW1hdGVkIGJ5IHRoZSBzYW1lIHBhY2UgYW5kIGRvZXNuJ3QgZW5kIHNpbXVsdGFuZW91c2x5LlxuICogVG8gZW5kIHNpbXVsdGFuZW91c2x5LCBgcGF0aExlbmd0aD1cIjFcImAgY291bGQgYmUgdXNlZCwgYnV0IGl0J3Mgbm90IHdvcmtpbmcgaW4gU2FmYXJpIHlldC5cbiAqL1xuXG4udWstYW5pbWF0aW9uLXN0cm9rZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXN0cm9rZTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uO1xufVxuXG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAudWstYW5pbWF0aW9uLWZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjsgfVxuXG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIHVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Age1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b21cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0XG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBEb3duXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgMTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gICAgMjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgICAzMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgICA0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gICAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gICAgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH1cbn1cblxuLypcbiAqIFN0cm9rZVxuICovXG5cbiBAa2V5ZnJhbWVzIHVrLXN0cm9rZSB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7IH1cbiAgICAxMDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbmltYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFuaW1hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgV2lkdGhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB3aWR0aHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jaGlsZC13aWR0aC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstd2lkdGgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kd2lkdGgtc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtMnhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFdpZHRoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBFcXVhbCBjaGlsZCB3aWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jaGlsZC13aWR0aCddID4gKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICogeyB3aWR0aDogNTAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay1jaGlsZC13aWR0aC0xLTQgPiAqIHsgd2lkdGg6IDI1JTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNSA+ICogeyB3aWR0aDogMjAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS02ID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHsgd2lkdGg6IGF1dG87IH1cblxuLypcbiAqIDEuIFJlc2V0IHRoZSBgbWluLXdpZHRoYCwgd2hpY2ggaXMgc2V0IHRvIGF1dG8gYnkgZGVmYXVsdCwgYmVjYXVzZVxuICogICAgZmxleCBpdGVtcyB3b24ndCBzaHJpbmsgYmVsb3cgdGhlaXIgbWluaW11bSBpbnRyaW5zaWMgY29udGVudCBzaXplLlxuICogICAgVXNpbmcgYDFweGAgaW5zdGVhZCBvZiBgMGAsIHNvIGl0ZW1zIHN0aWxsIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lLFxuICogICAgaWYgdGhleSBoYXZlIHplcm8gd2lkdGggYW5kIHBhZGRpbmcgYW5kIHRoZSBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGUuXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgLyogMSAqL1xuICAgIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAcyA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBzID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHhsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEB4bCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGBtYXgtd2lkdGhgIGlzIG5lZWRlZCBmb3IgdGhlIHBpeGVsLWJhc2VkIGNsYXNzZXNcbiAqL1xuXG5bY2xhc3MqPSd1ay13aWR0aCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7IHdpZHRoOiA1MCU7IH1cblxuLyogVGhpcmRzICovXG4udWstd2lkdGgtMS0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLXdpZHRoLTItMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuLyogUXVhcnRlcnMgKi9cbi51ay13aWR0aC0xLTQgeyB3aWR0aDogMjUlOyB9XG4udWstd2lkdGgtMy00IHsgd2lkdGg6IDc1JTsgfVxuXG4vKiBGaWZ0aHMgKi9cbi51ay13aWR0aC0xLTUgeyB3aWR0aDogMjAlOyB9XG4udWstd2lkdGgtMi01IHsgd2lkdGg6IDQwJTsgfVxuLnVrLXdpZHRoLTMtNSB7IHdpZHRoOiA2MCU7IH1cbi51ay13aWR0aC00LTUgeyB3aWR0aDogODAlOyB9XG5cbi8qIFNpeHRocyAqL1xuLnVrLXdpZHRoLTEtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbi51ay13aWR0aC01LTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbi8qIFBpeGVsICovXG4udWstd2lkdGgtc21hbGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4udWstd2lkdGgtbWVkaXVtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbi51ay13aWR0aC1sYXJnZSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14bGFyZ2UgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLTJ4bGFyZ2UgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbkBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2UgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuLyogQXV0byAqL1xuLnVrLXdpZHRoLWF1dG8geyB3aWR0aDogYXV0bzsgfVxuXG4vKiBFeHBhbmQgKi9cbi51ay13aWR0aC1leHBhbmQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHMgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHMgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHMgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAcyB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAcyB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAcyB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAcyB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBzIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBzIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAcyB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQG0geyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQG0geyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQG0geyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQG0geyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbSB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbSB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbSB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBtIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQG0geyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAeGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHhsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHhsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEB4bCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEB4bCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAeGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEB4bCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHhsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEB4bCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEB4bCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay13aWR0aC1taXNjKSkge0BpbmNsdWRlIGhvb2std2lkdGgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2std2lkdGgtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSGVpZ2h0XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgaGVpZ2h0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhlaWdodC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRoZWlnaHQtc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbWVkaXVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVpZ2h0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstaGVpZ2h0J10geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuXG4udWstaGVpZ2h0LTEtMSB7IGhlaWdodDogMTAwJTsgfVxuXG4vKlxuICogVXNlZnVsIHRvIGNyZWF0ZSBpbWFnZSB0ZWFzZXJzXG4gKi9cblxuLnVrLWhlaWdodC12aWV3cG9ydCB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qXG4gKiBQaXhlbFxuICogVXNlZnVsIGZvciBgb3ZlcmZsb3c6IGF1dG9gXG4gKi9cblxuLnVrLWhlaWdodC1zbWFsbCB7IGhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWVkaXVtIHsgaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbGFyZ2UgeyBoZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cbi51ay1oZWlnaHQtbWF4LXNtYWxsIHsgbWF4LWhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LW1lZGl1bSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbGFyZ2UgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlaWdodC1taXNjKSkge0BpbmNsdWRlIGhvb2staGVpZ2h0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUZXh0XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRleHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJHRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cbi51ay10ZXh0LWRlZmF1bHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQ7XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGlnaHQgeyBmb250LXdlaWdodDogMzAwOyB9XG4udWstdGV4dC1ub3JtYWwgeyBmb250LXdlaWdodDogNDAwOyB9XG4udWstdGV4dC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuIFxuLnVrLXRleHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XG4udWstdGV4dC1ib2xkZXIgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbiBcbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbi51ay10ZXh0LWl0YWxpYyB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC11cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWVtcGhhc2lzIHsgY29sb3I6ICR0ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zZWNvbmRhcnkgeyBjb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3IgIWltcG9ydGFudDtcbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuXG4gICAgLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIDMgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbHVtblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHQgY29sdW1uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbHVtbi0qYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbHVtbi1zcGFuYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNvbHVtbi1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2x1bW4tZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSB7IGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICBbY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sOyB9XG5cbn1cblxuLypcbiAqIEZpeCBpbWFnZSAxcHggbGluZSB3cmFwcGluZyBpbnRvIHRoZSBuZXh0IGNvbHVtbiBpbiBDaHJvbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10gaW1nIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERvdWJsZSB0aGUgY29sdW1uIGdhcFxuICovXG5cbi51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi0xLTIgeyBjb2x1bW4tY291bnQ6IDI7fVxuLnVrLWNvbHVtbi0xLTMgeyBjb2x1bW4tY291bnQ6IDM7IH1cbi51ay1jb2x1bW4tMS00IHsgY29sdW1uLWNvdW50OiA0OyB9XG4udWstY29sdW1uLTEtNSB7IGNvbHVtbi1jb3VudDogNTsgfVxuLnVrLWNvbHVtbi0xLTYgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBzIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBzIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBzIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBzIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBzIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQG0geyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQG0geyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQG0geyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQG0geyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQG0geyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBsIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBsIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBsIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAeGwgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQHhsIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAeGwgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQHhsIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogTWFrZSBlbGVtZW50IHNwYW4gYWNyb3NzIGFsbCBjb2x1bW5zXG4gKiBEb2VzIG5vdCB3b3JrIGluIEZpcmVmb3ggeWV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi1zcGFuIHsgY29sdW1uLXNwYW46IGFsbDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbHVtbi1taXNjKSkge0BpbmNsdWRlIGhvb2stY29sdW1uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ292ZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGxldCBlbWJlZGRlZCBjb250ZW50IGNvdmVyIHRoZWlyIGNvbnRhaW5lciBpbiBhIGNlbnRlcmVkIHBvc2l0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY292ZXJgXG4vL1xuLy8gU3ViLW9iamVjdDogICAgICBgdWstY292ZXItY29udGFpbmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBXb3JrcyB3aXRoIGlmcmFtZXMgYW5kIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDEuIFJlc2V0IHJlc3BvbnNpdmVuZXNzIGZvciBlbWJlZGRlZCBjb250ZW50XG4gKiAyLiBDZW50ZXIgb2JqZWN0XG4gKiBOb3RlOiBQZXJjZW50IHZhbHVlcyBvbiB0aGUgYHRvcGAgcHJvcGVydHkgb25seSB3b3JrcyBpZiB0aGlzIGVsZW1lbnRcbiAqICAgICAgIGlzIGFic29sdXRlIHBvc2l0aW9uZWQgb3IgaWYgdGhlIGNvbnRhaW5lciBoYXMgYSBoZWlnaHRcbiAqL1xuXG4udWstY292ZXIge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbn1cblxuaWZyYW1lLnVrLWNvdmVyIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUGFyZW50IGNvbnRhaW5lciB3aGljaCBjbGlwcyByZXNpemVkIG9iamVjdFxuICogMi4gTmVlZGVkIGlmIHRoZSBjaGlsZCBpcyBwb3NpdGlvbmVkIGFic29sdXRlLiBTZWUgbm90ZSBhYm92ZVxuICovXG5cbi51ay1jb3Zlci1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY292ZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBCYWNrZ3JvdW5kXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgYmFja2dyb3VuZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWNrZ3JvdW5kLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFja2dyb3VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1kZWZhdWx0IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1tdXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLXByaW1hcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLXNlY29uZGFyeSB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOyB9XG5cblxuLyogU2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyLFxuLnVrLWJhY2tncm91bmQtY29udGFpbixcbi51ay1iYWNrZ3JvdW5kLXdpZHRoLTEtMSxcbi51ay1iYWNrZ3JvdW5kLWhlaWdodC0xLTEge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4udWstYmFja2dyb3VuZC1jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4udWstYmFja2dyb3VuZC13aWR0aC0xLTEgeyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWhlaWdodC0xLTEgeyBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTsgfVxuXG5cbi8qIFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtdG9wLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgfVxuXG5cbi8qIFJlcGVhdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLW5vcmVwZWF0IHsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG5cbi8qIEF0dGFjaG1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRml4IGJ1ZyBpbnRyb2R1Y2VkIGluIENocm9tZSA2NzogdGhlIGJhY2tncm91bmQgaW1hZ2UgaXMgbm90IHZpc2libGUgaWYgYW55IGVsZW1lbnQgb24gdGhlIHBhZ2UgdXNlcyBgdHJhbnNsYXRlM2RgXG4gKi9cblxuLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgLyogMSAqL1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIEV4Y2x1ZGUgdG91Y2ggZGV2aWNlcyBiZWNhdXNlIGBmaXhlZGAgZG9lc24ndCB3b3JrIG9uIGlPUyBhbmQgQW5kcm9pZFxuICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWJhY2tncm91bmQtZml4ZWQgeyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgfVxufVxuXG5cbi8qIEltYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHMgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbSB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQGwgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHhsIHtiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtbXVsdGlwbHkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zY3JlZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtb3ZlcmxheSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGFya2VuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWxpZ2h0ZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWRvZGdlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItYnVybiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaGFyZC1saWdodCB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc29mdC1saWdodCB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGlmZmVyZW5jZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZXhjbHVzaW9uIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWh1ZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zYXR1cmF0aW9uIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvciB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWx1bWlub3NpdHkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWNrZ3JvdW5kLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWNrZ3JvdW5kLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxpZ25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGFsaWduIGVtYmVkZGVkIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGlnbi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tY2VudGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbltjbGFzcyo9J3VrLWFsaWduJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7XG59XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHsgbWFyZ2luLXRvcDogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKi9cblxuLnVrLWFsaWduLWNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogTGVmdC9SaWdodFxuICovXG5cbi51ay1hbGlnbi1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4udWstYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tbGVmdCxcbiAgICAudWstYWxpZ24tbGVmdFxcQHMsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7IG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1hbGlnbi1yaWdodCxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBzLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0sXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7IG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGlnbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxpZ24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxpZ24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFNWR1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gc3R5bGUgU1ZHc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN2Z2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi8qIDEgKi9cbi51ay1zdmcsXG4vKiAyICovXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN2Zy1taXNjKSkge0BpbmNsdWRlIGhvb2stc3ZnLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBVdGlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBjb2xsZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFuZWwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNsZWFyZml4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmxvYXQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJmbG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNpemUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc3BsYXktKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlubGluZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzcG9uc2l2ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmUtd2lkdGhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3JkZXItKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGNhcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxvZ29gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ibGVuZC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tb3JpZ2luLSpgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ292ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAzKSAqIDFlbSkgIWRlZmF1bHQ7XG5cbiRsb2dvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGRyYWdvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUGFuZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFuZWwge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cblxuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGggc29saWQgJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICByZXNpemU6IGJvdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhbmVsLXNjcm9sbGFibGUpKSB7QGluY2x1ZGUgaG9vay1wYW5lbC1zY3JvbGxhYmxlKCk7fVxufVxuXG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG5cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cblxuLnVrLWZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnVrLWZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqIE5vdGU6IEZpcmVmb3ggaWdub3JlcyBgcGFkZGluZy1ib3R0b21gIGZvciB0aGUgc2Nyb2xsYWJsZSBvdmVyZmxvdyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MThcbiAqL1xuXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1yZXNpemUgeyByZXNpemU6IGJvdGg7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstaW5saW5lLWNsaXAge1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIFJlc3BvbnNpdmUgb2JqZWN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG5cbi51ay1wcmVzZXJ2ZS13aWR0aCxcbi51ay1wcmVzZXJ2ZS13aWR0aCBjYW52YXMsXG4udWstcHJlc2VydmUtd2lkdGggaW1nLFxuLnVrLXByZXNlcnZlLXdpZHRoIHN2Zyxcbi51ay1wcmVzZXJ2ZS13aWR0aCB2aWRlbyB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIENvcnJlY3RzIGBtYXgtd2lkdGhgIGFuZCBgbWF4LWhlaWdodGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkXG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogYXV0bztcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5cbi8qIEJvcmRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3JkZXItY2lyY2xlIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4udWstYm9yZGVyLXBpbGwgeyBib3JkZXItcmFkaXVzOiA1MDBweDsgfVxuLnVrLWJvcmRlci1yb3VuZGVkIHsgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM7IH1cblxuLypcbiAqIEZpeCBgb3ZlcmZsb3c6IGhpZGRlbmAgdG8gYmUgaWdub3JlZCB3aXRoIGJvcmRlci1yYWRpdXMgYW5kIENTUyB0cmFuc2Zvcm1zIGluIFdlYmtpdFxuICovXG5cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3gtc2hhZG93LXNtYWxsIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1tZWRpdW0geyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1sYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1ib3gtc2hhZG93LWhvdmVyJ10geyB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRib3gtc2hhZG93LWR1cmF0aW9uIGVhc2UtaW4tb3V0OyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXNtYWxsOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1tZWRpdW06aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXIteGxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJveC1zaGFkb3cgYm90dG9tXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvbi5cbiAqIDIuIFNldCBzdHlsZVxuICogMy4gQmx1ciBkb2Vzbid0IHdvcmsgb24gcHNldWRvIGVsZW1lbnRzIHdpdGggbmVnYXRpdmUgYHotaW5kZXhgIGluIEVkZ2UuXG4gKiAgICBTb2x2ZWQgYnkgdXNpbmcgYGJlZm9yZWAgYW5kIGFkZCBwb3NpdGlvbiBjb250ZXh0IHRvIGNoaWxkIGVsZW1lbnRzLlxuICovXG5cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSB7XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206ICgtJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvKiAyICovXG4gICAgICAgIGhlaWdodDogJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoJGJveC1zaGFkb3ctYm90dG9tLWJsdXIpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYm94LXNoYWRvdy1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpO31cbiAgICB9XG5cbiAgICAvKiAzICovXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG59XG5cblxuLyogRHJvcCBjYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlyZWZveCBkb2Vzbid0IGFwcGx5IGA6OmZpcnN0LWxldHRlcmAgaWYgdGhlIGZpcnN0IGxldHRlciBpcyBpbnNpZGUgY2hpbGQgZWxlbWVudHNcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDAwNFxuICogMi4gSW4gRmlyZWZveCwgYSBmbG9hdGluZyBgOjpmaXJzdC1sZXR0ZXJgIGRvZXNuJ3QgaGF2ZSBhIGxpbmUgYm94IGFuZCB0aGVyZSBmb3Igbm8gYGxpbmUtaGVpZ2h0YFxuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE3OTMzXG4gKiAzLiBDYXVzZWQgYnkgMS46IEVkZ2UgY3JlYXRlcyB0d28gbmVzdGVkIGA6OmZpcnN0LWxldHRlcmAgY29udGFpbmVycywgb25lIGZvciBlYWNoIHNlbGVjdG9yXG4gKiAgICBUaGlzIGRvdWJsZXMgdGhlIGBmb250LXNpemVgIGV4cG9uZW50aWFsIHdoZW4gdXNpbmcgdGhlIGBlbWAgdW5pdC5cbiAqL1xuXG4udWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuLyogMSAqL1xuLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGNhcC1tYXJnaW4tcmlnaHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkZHJvcGNhcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3BjYXApKSB7QGluY2x1ZGUgaG9vay1kcm9wY2FwKCk7fVxufVxuXG4vKiAyICovXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuXG4gIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gIC51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIgeyBtYXJnaW4tdG9wOiAxLjElOyB9XG5cbn1cblxuLyogMyAqL1xuQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG5cbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7IGZvbnQtc2l6ZTogMWVtOyB9XG5cbn1cblxuXG4vKiBMb2dvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbG9nbyB7XG4gICAgZm9udC1zaXplOiAkbG9nby1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRsb2dvLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkbG9nby1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvKSkge0BpbmNsdWRlIGhvb2stbG9nbygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWxvZ286aG92ZXIsXG4udWstbG9nbzpmb2N1cyB7XG4gICAgY29sb3I6ICRsb2dvLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxvZ28taG92ZXIoKTt9XG59XG5cbi51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogRGlzYWJsZWQgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzYWJsZWQgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWcgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTmVlZGVkIGlmIG1vdmluZyBvdmVyIGVsZW1lbnRzIHdpdGggaGF2ZSB0aGVpciBvd24gY3Vyc29yIG9uIGhvdmVyLCBlLmcuIGxpbmtzIG9yIGJ1dHRvbnNcbiAqIDIuIEZpeCBkcmFnZ2luZyBvdmVyIGlmcmFtZXNcbiAqL1xuXG4udWstZHJhZyxcbi8qIDEgKi9cbi51ay1kcmFnICogeyBjdXJzb3I6IG1vdmU7IH1cblxuLyogMiAqL1xuLnVrLWRyYWcgaWZyYW1lIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnb3ZlciBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDcmVhdGUgYSBib3gtc2hhZG93IHdoZW4gZHJhZ2dpbmcgYSBmaWxlIG92ZXIgdGhlIHVwbG9hZCBhcmVhXG4gKi9cblxuLnVrLWRyYWdvdmVyIHsgYm94LXNoYWRvdzogJGRyYWdvdmVyLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ibGVuZC1tdWx0aXBseSB7IG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJsZW5kLXNjcmVlbiB7IG1peC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1ibGVuZC1vdmVybGF5IHsgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1ibGVuZC1kYXJrZW4geyBtaXgtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmxlbmQtbGlnaHRlbiB7IG1peC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmxlbmQtY29sb3ItZG9kZ2UgeyBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1ibGVuZC1jb2xvci1idXJuIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1ibGVuZC1oYXJkLWxpZ2h0IHsgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1ibGVuZC1zb2Z0LWxpZ2h0IHsgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1ibGVuZC1kaWZmZXJlbmNlIHsgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1ibGVuZC1leGNsdXNpb24geyBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmxlbmQtaHVlIHsgbWl4LWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJsZW5kLXNhdHVyYXRpb24geyBtaXgtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJsZW5kLWNvbG9yIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmxlbmQtbHVtaW5vc2l0eSB7IG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLyogVHJhbnNmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cblxuLyogVHJhbnNmb3JtIE9yaWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIgeyB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdXRpbGl0eS1taXNjKSkge0BpbmNsdWRlIGhvb2stdXRpbGl0eS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2stbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxvZ28tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRmxleFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGxheW91dHMgYmFzZWQgb24gZmxleGJveFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZsZXgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRmxleFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mbGV4IHsgZGlzcGxheTogZmxleDsgfVxuLnVrLWZsZXgtaW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cblxuLnVrLWZsZXg6OmJlZm9yZSxcbi51ay1mbGV4OjphZnRlcixcbi51ay1mbGV4LWlubGluZTo6YmVmb3JlLFxuLnVrLWZsZXgtaW5saW5lOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWxpZ24gaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBIb3Jpem9udGFsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtYXJvdW5kIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAcyB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAcyB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBtIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBpbiB0aGUgY3Jvc3MgYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBWZXJ0aWNhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXN0cmV0Y2ggeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuLnVrLWZsZXgtdG9wIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LW1pZGRsZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi51ay1mbGV4LWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG5cbi8qIERpcmVjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbi51ay1mbGV4LXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4udWstZmxleC1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4udWstZmxleC1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1ub3dyYXAgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuLnVrLWZsZXgtd3JhcCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC13cmFwLXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG4udWstZmxleC13cmFwLXRvcCB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LXdyYXAtbWlkZGxlIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC13cmFwLWJvdHRvbSB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC13cmFwLWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC13cmFwLWFyb3VuZCB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cblxuLnVrLWZsZXgtZmlyc3QgeyBvcmRlcjogLTE7fVxuLnVrLWZsZXgtbGFzdCB7IG9yZGVyOiA5OTt9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBzIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHMgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbSB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBtIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAeGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAeGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG5cbi8qXG4gKiBObyBGbGV4OiAwIDAgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWZsZXgtbm9uZSB7IGZsZXg6IG5vbmU7IH1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG5cbi51ay1mbGV4LWF1dG8geyBmbGV4OiBhdXRvOyB9XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG5cbi51ay1mbGV4LTEgeyBmbGV4OiAxOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZmxleC1taXNjKSkge0BpbmNsdWRlIGhvb2stZmxleC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBNYXJnaW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBtYXJnaW5zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbWFyZ2luLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tc21hbGwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1tZWRpdW0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1sYXJnZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXhsYXJnZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXJlbW92ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWF1dG8tKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFyZ2luLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmdpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1hcmdpbiB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbC1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBNZWRpdW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWVkaXVtLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFhMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by10b3AgeyBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1ib3R0b20geyBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBzIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHMgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1hcmdpbi1hdXRvXFxAbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAbSB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBtIHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1hdXRvXFxAbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAbCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBsIHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1hdXRvXFxAeGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHhsIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHhsIHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAudWstbWFyZ2luLXJlbW92ZSB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtdG9wIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gXG4gLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiB9XG4gXG4gLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqLFxuIC51ay1tYXJnaW4tcmVtb3ZlLWZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtbGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBzIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbSB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEB4bCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmdpbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFyZ2luLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQYWRkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgcGFkZGluZ1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZGRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1yZW1vdmUtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFkZGluZy1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZGRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXNtYWxsIHsgcGFkZGluZzogJHBhZGRpbmctc21hbGwtcGFkZGluZzsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctcmVtb3ZlIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtdG9wIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWJvdHRvbSB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWRkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWRkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUG9zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHBvc2l0aW9uIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wb3NpdGlvbi1hYnNvbHV0ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJlbGF0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tei1pbmRleGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY292ZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstcG9zaXRpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBgbWF4LXdpZHRoOiAxMDAlYCBpcyB1c2VkIGluc2lkZSBwb3NpdGlvbiBjb250YWluZXIuXG4gKi9cblxuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQgaXMgd3JvbmcgaWYgdGhlIHBhcmVudCBoYXMgcGFkZGluZy4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIENvcm5lcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIENlbnRlclxuICogMS4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqL1xuXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7IGxlZnQ6IDA7IH1cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQgeyByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgICByaWdodDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQtb3V0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7IHRvcDogMDsgfVxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyBib3R0b206IDA7IH1cblxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWFic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHsgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLXotaW5kZXggeyB6LWluZGV4OiAxOyB9XG5cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXBvc2l0aW9uLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tc21hbGwtbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luLCAoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLnVrLXBvc2l0aW9uLW1lZGl1bSB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbWVkaXVtLW1hcmdpbn0gKiAyKSknKTtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4sICgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstcG9zaXRpb24tbGFyZ2Uge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLWxhcmdlLW1hcmdpbn0gKiAyKSknKTtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW47XG59XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4sICgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbH0gKiAyKSknKTtcbiAgICAgICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw7XG4gICAgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCkpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuICAgIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCk7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBvc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wb3NpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUcmFuc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdHJhbnNpdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10cmFuc2l0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdHJhbnNpdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLW9wYXF1ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWAsXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLWFjdGl2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuM3MgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjAzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMC43cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBUcmFuc2l0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICpcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWAsXG4gKiAgICAgICB0aGVyZWZvcmUgaXQncyByZWNvbW1lbmRlZCB0byB1c2UgYW4gZXh0cmEgYGRpdmAgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tZmFkZSB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7IH1cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24geyB0cmFuc2Zvcm06IHNjYWxlKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwxKTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVmlzaWJpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gc2hvdyBvciBoaWRlIGNvbnRlbnQgb24gYnJlYWtwb2ludHMsIGhvdmVyIG9yIHRvdWNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGlkZGVuLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi10b3VjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ub3RvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5cbltoaWRkZW5dLFxuLnVrLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGlkZGVuXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhpZGRlblxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogMS4gVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFRoZSB0YXJnZXQgc3RheXMgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCB3aXRoaW4gcmVjZWl2ZXMgZm9jdXMgdGhyb3VnaCBrZXlib2FyZFxuICogICAgRG9lc24ndCB3b3JrIGluIEVkZ2UsIHlldC5cbiAqIDMuIENhbid0IHVzZSBgZGlzcGxheTogbm9uZWAgbm9yIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgYm90aCBhcmUgbm90IGZvY3VzYWJsZS5cbiAqXG4gKi9cblxuLyogMSArIDIgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEludmlzaWJsZVxuICovXG5cbi8qIDEgKyAyICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWludmlzaWJsZS1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIC8qIDMgKi9cbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGhhcyBsaW1pdGVkIGFjY3VyYWN5LCBlLmcuIGEgdG91Y2ggc2NyZWVuLlxuICogV29ya3Mgb24gbW9iaWxlIGJyb3dzZXJzOiBTYWZhcmksIENocm9tZSBhbmQgQW5kcm9pZCBicm93c2VyXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGlzIGFjY3VyYXRlLCBlLmcuIG1vdXNlLlxuICogMS4gRmFsbGJhY2sgZm9yIElFMTEgYW5kIEZpcmVmb3gsIGJlY2F1c2UgYHBvaW50ZXJgIGlzIG5vdCBzdXBwb3J0ZWRcbiAqIDIuIFJlc2V0IGlmIHN1cHBvcnRlZFxuICovXG5cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay12aXNpYmlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay12aXNpYmlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSW52ZXJzZVxuLy8gRGVzY3JpcHRpb246ICAgICBJbnZlcnNlIGNvbXBvbmVudCBzdHlsZSBmb3IgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGFya2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBsaWdodCkgeyAudWstbGlnaHQgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gZGFyaykgeyAudWstZGFyayB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQcmludFxuLy8gRGVzY3JpcHRpb246ICAgICBPcHRpbWl6ZSBwYWdlIGZvciBwcmludGluZ1xuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlXG4vL1xuLy8gTW9kaWZpY2F0aW9uczogICBSZW1vdmVkIGxpbmsgYGhyZWZgIGFuZCBgdGl0bGVgIHJlbGF0ZWQgcnVsZXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuXG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJpbnQpKSB7QGluY2x1ZGUgaG9vay1wcmludCgpO31cblxufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByaW50KCl7fVxuIiwiJGdlbmVyYWwtZm9udDogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuLy9CYXNlIGNvbnRhaW5lciB3aWR0aFxuJGNvbnRhaW5lci13aWR0aDogMTI1MHB4O1xuJGxhcmdlLWNvbnRhaW5lci13aWR0aDogMTM5MHB4O1xuXG4vLyBBbGdlbWVuZSBrbGV1cmVuXG4vLyAkZGVlcGVzdC1ibGFjazogIzAwMDtcbi8vICRibGFjazogIzJEMkMzMTtcbi8vICR3aGl0ZTogI0ZGRkZGRjtcbi8vICRyZWQ6ICNEMzM2MzY7XG4vLyAkb3JhbmdlOiAjRjE5RTM4O1xuLy8gLyokZ3JlZW46ICMwNEI2Q0U7Ki9cbi8vICRncmVlbjogIzAwOWUzZTtcbi8vICRncmV5OiAjQjFCOEM3O1xuLy8gJGxpZ2h0LWdyZXk6ICNGNUY2Rjg7XG4vLyAkZGFyay1ncmV5OiAjNzc3Qjg2O1xuXG4kdHJhbnNpdGlvbjogYWxsIC4zcztcblxuJWNvbnRhaW5lci1zZXR0aW5ncyB7XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4lbGFyZ2UtY29udGFpbmVyLXNldHRpbmdzIHtcbiAgICBtYXgtd2lkdGg6ICRsYXJnZS1jb250YWluZXItd2lkdGg7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbiVmb250LXNldHRpbmdzLWJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbiVmb250LXNldHRpbmdzLTEtbWVnYSB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgfVxufVxuXG4lZm9udC1zZXR0aW5ncy0xIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxufVxuXG4lZm9udC1zZXR0aW5ncy0yIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cbn1cblxuJWZvbnQtc2V0dGluZ3MtMyB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuJWZvbnQtc2V0dGluZ3MtNCB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuODBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkZ3JlZW47XG59IiwiKiBbdHJhbnNpdGlvbl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaHRtbCxcbmJvZHkge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtYm9keTtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5odG1sLm1lbnUtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYm9keSB7XG4gICAgb3ZlcmZsb3c6IG92ZXJsYXk7XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmgxIHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTE7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuaDEubWVnYSwgaDIubWVnYSB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0xLW1lZ2E7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuaDEuY3VzdG9tIHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTQ7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuaDIge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMjtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5oMi5jdXN0b20ge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMTtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5oMyB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0zO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmg0IHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTQ7XG59XG5cbi5jb250YWluZXIge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1zZXR0aW5ncztcbn1cblxuLmxhcmdlLWNvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAlbGFyZ2UtY29udGFpbmVyLXNldHRpbmdzO1xufVxuXG5tYWluLmNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmVtIHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5hLCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA4cHg7XG59XG4gICAgXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7IFxuICAgIHdpZHRoOiA5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW5cbn0iLCJoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDAwMTtcbn1cblxuaGVhZGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuaGVhZGVyIC50b3AtbWVudS1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIFxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgLnZhY2F0dXJlLWNvdW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNDklO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQ3JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIH1cbiAgICBcbiAgICBsaS5leHRlcm5hbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvd2hpdGUtYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIG1heC13aWR0aDogMTg1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICB3aWR0aDogNDQwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICBcbiAgICAmLmN1c3RvbS1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1iYXIgLmhlYWRlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5oZWFkZXIgLm1lbnUtYmFyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnVrLWFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiKDAgMCAwIC8gMTAlKTtcbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1iYXIgLm1lbnUtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG5oZWFkZXIgLm1lbnUtYmFyIC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIFxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmhhcy1zdWIge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYXJyb3ctZG93bi1ibGFjay5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogN3B4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQ0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7ICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtYmFyIC5tZW51ID4gdWwgPiBsaSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuaGVhZGVyIC5tZW51LWJhciAubWVudS1yaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xufVxuXG5oZWFkZXIgLm1lbnUtcmlnaHQgLmxhbmd1YWdlLXNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBcbiAgICAmOmhvdmVyIC5jdXJyZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1yaWdodCAubGFuZ3VhZ2Utc2VsZWN0b3IgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmhlYWRlciAubWVudS1yaWdodCAubGFuZ3VhZ2Utc2VsZWN0b3IgLmN1cnJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2Fycm93LWRvd24tYmxhY2suc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LXJpZ2h0IC5sYW5ndWFnZS1zZWxlY3RvciB1bCB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLCAxMCUpO1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cblxuXG5oZWFkZXIgLm1lbnUtcmlnaHQgLmxhbmd1YWdlLXNlbGVjdG9yOmhvdmVyIHtcbiAgICAuY3VycmVudDo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgICAgXG4gICAgfVxuICAgIFxuICAgIHVsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1yaWdodCAuc2VhcmNoLWhvbGRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRTBFMEUwO1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxufVxuXG5cblxuaGVhZGVyIC5tZW51LWN0YSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgXG4gICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMDBweCk7XG4gICAgICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaGVhZGVyIC5tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuaGVhZGVyIC5uYXYtdG9nZ2xlLWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuICAgIFxuaGVhZGVyIC5uYXYtdG9nZ2xlIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaGVhZGVyIC5uYXYtdG9nZ2xlIC5saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbn1cblxuaGVhZGVyIC5uYXYtdG9nZ2xlIC5saW5lLmxpbmUtdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuaGVhZGVyIC5uYXYtdG9nZ2xlIC5saW5lLmxpbmUtbWlkZGxlIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG5oZWFkZXIgLm5hdi10b2dnbGUgLmxpbmUubGluZS1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG4uZGVza3RvcC1tZW51LWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZXBlc3QtYmxhY2s7XG4gICAgb3BhY2l0eTogLjc1O1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHRvcDogMDtcbiAgICBcbiAgICAmLmhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNpdGUtc2VsZWN0aW9uLW1lbnUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsIDAuNyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7ICAgIFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvd2hpdGUtYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zaXRlLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7ICAgIFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgID4gZGl2OjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNpdGUtbWVudSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LWJhciAge1xuICAgIC5oYXMtc3ViIGEge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc21hbGwtc3VibWVudS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1cHgpO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNtYWxsLXN1Ym1lbnUgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhcy1zdWI6aG92ZXIgLnNtYWxsLXN1Ym1lbnUtaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5mYWtlLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMkQyQzMxO1xufVxuXG4uZ3RyYW5zbGF0ZV93cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOm5vdCguZ3QtY3VycmVudC1sYW5nKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICBoZWFkZXIgLmhhcy1zdWIgLnN1Ym1lbnUtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNjBweCkge1xuICAgIGhlYWRlciAubWVudS1iYXIgLm1lbnUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubWVudS1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIC5sb2dvLWhvbGRlciBpbWcuY3VzdG9tLWxvZ28ge1xuICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1jdGEgLnRleHQtaG9sZGVyOjpiZWZvcmUsIGhlYWRlciAubWVudS1jdGEgLmltYWdlLWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDUwcHgpO1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5oYXMtc3ViIC5zdWJtZW51LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDY1cHggMCA3MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoZWFkZXIgLm1lbnUtYmFyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tZW51LWhvbGRlciB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubW9iaWxlLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDEzM3B4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzNweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogNTBweCA0MHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFN0U3RTc7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL21lbnUtYmFja2dyb3VuZC5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDExNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDZweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtbWVudSB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgZGl2ID4gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1tZW51IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgXG4gICAgICAgIC5hcnJvdy1ob2xkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYmxhY2stYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLXN1Ym1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweCA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIG92ZXJmbG93LXk6IG92ZXJsYXk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLXN1Ym1lbnUgLnN1Ym1lbnUtaGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIFxuICAgICAgICAuY2xvc2Utc3VibWVudSB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvd2hpdGUtYXJyb3ctcmlnaHQuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLXN1Ym1lbnUgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFN0U3RTc7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubmF2LXRvZ2dsZS1ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5tb2JpbGUtbWVudS1iYWNrZHJvcCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZXBlc3QtYmxhY2s7XG4gICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBcbiAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWN0YSB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDA7XG4gICAgICAgIFxuICAgICAgICAuY3RhLWlubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtY3RhIC50ZXh0LWhvbGRlcjo6YmVmb3JlLCBoZWFkZXIgLm1lbnUtY3RhIC5pbWFnZS1ob2xkZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMDBweCk7XG4gICAgICAgIGxlZnQ6IC01MHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyLnVrLWFjdGl2ZSAubW9iaWxlLW1lbnUge1xuICAgICAgICB0b3A6IDkycHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDkycHgpO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyICB7XG4gICAgICAgIC5oYXMtc3ViIGEge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIGhlYWRlciAubWVudS1iYXIgLm1vYmlsZS1tZW51IHtcbiAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBoZWFkZXIgLnRvcC1tZW51LWhvbGRlciAudG9wLW1lbnUgbmF2ID4gdWwge1xuICAgICAgICA+IGxpOm5vdCguc2l0ZS1zZWxlY3Rpb24tbWVudSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLnRvcC1tZW51LWhvbGRlciAuc2l0ZS1zZWxlY3Rpb24tbWVudTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtbWVudSB1bCAudG9wLW1lbnUtaXRlbXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLnZhY2F0dXJlLWNvdW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNDklO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQ3JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1vYmlsZS1tZW51IHtcbiAgICAgICAgdG9wOiAxMDlweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDlweCk7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtc3VibWVudSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMTA5cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHggNDBweDtcbiAgICAgICAgdG9wOiAtNzBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhci51ay1hY3RpdmUgLm1vYmlsZS1tZW51IHtcbiAgICAgICAgdG9wOiAxMDlweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTA5cHgpO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1zdWJtZW51IC5zdWJtZW51LWhlYWRlciAuY2xvc2Utc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLXN1Ym1lbnUgLnN1Ym1lbnUtaGVhZGVyIC5jbG9zZS1tb2JpbGUtbWVudSB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Nsb3NlLWljb24uc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1lbnUtcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubWVudS1ob2xkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1vYmlsZS1tZW51IHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIC5sb2dvLWhvbGRlciBpbWcuY3VzdG9tLWxvZ28ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzM3B4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXIgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgfVxuICAgIFxuICAgIC5ndF9jb250YWluZXItLW9pejlxcyBhLmdsaW5rIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTBweCkge1xuICAgIGhlYWRlciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTk2cHg7XG4gICAgfVxufSIsImZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk4MDtcbn1cblxuZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG59XG5cbmZvb3RlciAudGl0bGUtaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbmZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY2VydGlmaWNhdGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgycHg7XG4gICAgfVxufVxuXG5mb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLnRpdGxlLWNvbHVtbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuZm9vdGVyIGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuZm9vdGVyIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBcbiAgICAmLnNlY29uZC1oNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxufVxuXG4uZm9vdGVyLWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5mb290ZXItaG9sZGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZm9vdGVyLWhvbGRlciBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1tZW51IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIH1cbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MG1zO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLWhvbGRlciAuc3VwcG9ydC10aXRsZSB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZvb3Rlci1ob2xkZXIgLmxvY2F0aW9uLWhvbGRlciBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmZvb3Rlci1ob2xkZXIgLmxvY2F0aW9uLWhvbGRlciBhID4gc3BhbiB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG59XG5cbi5mb290ZXItaG9sZGVyIC5mb290ZXItZGlzY2xhaW1lciB7XG4gICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICM3NzdCODY7XG4gICAgXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzc3Qjg2O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIHVsLmRpc2NsYWltZXItbWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzdCODY7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLWhvbGRlciAuZm9vdGVyLWRpc2NsYWltZXIgLnNvY2lhbHMge1xuICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIFxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmZhY2Vib29rIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9mYWNlYm9vay5zdmcnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9mYWNlYm9vay13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5saW5rZWRJbiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvbGlua2VkSW4uc3ZnJyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvbGlua2VkSW4td2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYueW91dHViZSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMveW91dHViZS5zdmcnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy95b3V0dWJlLXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnBpbnRlcmVzdCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvcGludGVyZXN0LnN2ZycpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3BpbnRlcmVzdC13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2luc3RhZ3JhbS5zdmcnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9pbnN0YWdyYW0td2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuXG5mb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNlcnRpZmljYXRlbi5tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdXBwb3J0LW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIH1cbn1cblxuZm9vdGVyIC5kaXNjbGFpbWVyLW1lbnUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuZm9vdGVyIC5zb2NpYWxzLWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbn1cblxuLmZvb3Rlci1jZXJ0aWZpY2FhdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIFxuICAgIC5jZXJ0aWZpY2FhdC1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIFxuICAgIC5jZXJ0aWZpY2FhdCB7XG4gICAgICAgIFxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYXRhLXBhcnRuZXItbG9nbyB7XG4gICAgbWF4LXdpZHRoOiA5MHB4O1xufVxuXG4uZGlzY2xhaW1lci1tZW51LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICBmb290ZXIuZXh0cmEtcGFkZGluZyAuZm9vdGVyLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgODBweDtcbiAgICB9ICAgIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5mb290ZXItaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNzVweCAwO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIuZXh0cmEtcGFkZGluZyAuZm9vdGVyLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgNzVweDtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1kaXNjbGFpbWVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1kaXNjbGFpbWVyIC5zb2NpYWxzIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5zdXBwb3J0LWRla3N0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAudWstd2lkdGgtMS0yXFxAbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5mb290ZXItaG9sZGVyIC5mb290ZXItZGlzY2xhaW1lciAuc29jaWFscyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNlcnRpZmljYXRlbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLnRpdGxlLWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLnVrLXdpZHRoLTEtM1xcQG0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC51ay13aWR0aC0yLTNcXEBtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY2VydGlmaWNhYXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jZXJ0aWZpY2F0ZW4ubW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jZXJ0aWZpY2F0ZW4uZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XG4gICAgfSBcbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuZm9vdGVyLXRvcCAudWstZ3JpZC1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICAuY29sbGFwc2UtaXRlbS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA2MDYwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNvbGxhcHNlLWl0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYXJyb3ctZG93bi13aGl0ZS5zdmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAuY29sbGFwc2UtaXRlbSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGgzOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1kaXNjbGFpbWVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuZGlzY2xhaW1lci1tZW51LWhvbGRlciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuc29jaWFscy1ob2xkZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgXG4gICAgLnN1cHBvcnQtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zdXBwb3J0LW1vYmlsZSAudGl0bGUtaG9sZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuc3VwcG9ydC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAudGl0bGUtY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfSBcbiAgICBcbiAgICBmb290ZXIgLnNvY2lhbHMtY29sdW1uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItY2VydGlmaWNhYXQge1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIuZXh0cmEtcGFkZGluZyAuZm9vdGVyLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmV4dHJhLXBhZGRpbmcgLmZvb3Rlci10b3Age1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA2MDYwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5mb290ZXItbG9nbyBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgLmRhdGEtcGFydG5lci1sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9IFxuICAgIFxuICAgIC5kaXNjbGFpbWVyLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSIsIi5ob21lcGFnZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlOyAgICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zY3JvbGxlciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzAlO1xuICAgIGxlZnQ6IDgwcHg7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmV5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5LjVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNHB4O1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICBsZWZ0OiAxOHB4O1xuICAgICAgICBhbmltYXRpb246IGZhZGUgMS41cyBpbmZpbml0ZTtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGV0YWlsLWhlYWRlciAuc2Nyb2xsZXI6aG92ZXIge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgIH1cbn1cblxuLmhvbWVwYWdlLWhlYWRlciAudGV4dC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5ob21lcGFnZS1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDEwMHB4IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMTYwcHggMCBhdXRvO1xuICAgIFxuICAgIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgfVxufVxuXG4uZmlyc3QtYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmhvbWVwYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgXG4gICAgaW1nOm5vdCguaGVhZGVyLWlsbHVzdHJhdGlvbikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgbWF4LWhlaWdodDogNzc1cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG59XG5cbi5ob21lcGFnZS1oZWFkZXIgLmltYWdlLWhvbGRlciAuaGVhZGVyLWlsbHVzdHJhdGlvbiB7XG4gICAgd2lkdGg6IDg3JTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5uby1pbWFnZS1oZWFkZXItaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG4ubm8taW1hZ2UtaGVhZGVyIHtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTIwcHg7XG4gICAgbWF4LXdpZHRoOiAxODUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgaDEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgJi5jdXN0b20ge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbn1cblxuLm5vLWltYWdlLWhlYWRlciBoMi5jdXN0b20ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgaDQge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm5vLWltYWdlLWhlYWRlciAuaW50cm8ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIG1hcmdpbjogMTBweCAwIDAgYXV0bztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgfVxufVxuXG4ubm8taW1hZ2UtaGVhZGVyIC5zY3JvbGxlciB7XG4gICAgdG9wOiAxOTVweDtcbn1cblxuLmltYWdlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW1hZ2UtaGVhZGVyIGg0IHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5pbWFnZS1oZWFkZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xufVxuXG4uaW1hZ2UtaGVhZGVyIC5mbGV4LWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbWFnZS1oZWFkZXIgLnNjcm9sbGVyIHtcbiAgICB0b3A6IDE5NXB4O1xufVxuXG4uaW1hZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MDBweDtcbiAgICAgICAgdG9wOiA3NXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAmLmN1c3RvbS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIgLnByb2R1Y3Rlbi1pbnRyby1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciAucHJvZHVjdCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXG4gICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCA3MHB4O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIgLnByb2R1Y3Q6aG92ZXIge1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIC5idXR0b24taG9sZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggMCByZ2IoMCAwIDAgLyAyMCUpO1xuICAgIH1cbn1cblxuLnByb2R1Y3Rlbi1ncmlkLm1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhvbWVwYWdlLWN0YS1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEyMHB4IDAgMTAwcHg7XG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTsqL1xuICAgIFxuICAgIC8qJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDY4dnc7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9Ki9cbiAgICBcbiAgICAvKiY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9Ki9cbiAgICBcbiAgICA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG59XG5cbi5ob21lcGFnZS1jdGEtaG9sZGVyIC5jb2x1bW4geyAgICBcbiAgICBwYWRkaW5nOiA1NXB4IDcwcHggNDVweDtcbiAgICBjb2xvcjogJHdoaXRlOyAgICAgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICAmLmJsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrOyAgIFxuICAgIH1cbiAgICBcbiAgICAmLmJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47ICAgXG4gICAgfVxuICAgIFxuICAgIC5pY29uLWhvbGRlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwNSUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjdzO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGEucmVhZC1tb3JlLCBzcGFuLnJlYWQtbW9yZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtY3RhLWhvbGRlciB7XG4gICAgLmNvbHVtbiB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjdzIGN1YmljLWJlemllcigwLjEsIDAuMzgsIDAuNTMsIDAuOTgpLCBvcGFjaXR5IDEuM3MgZWFzZTtcbiAgICB9XG4gICAgXG4gICAgLmxhcmdlLWNvbnRhaW5lciB7XG4gICAgICAgIC5jb2x1bW4uYmxhY2sge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwcHgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY29sdW1uLmJsdWUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNTBweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zaG93IHtcbiAgICAgICAgLmxhcmdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuaWNvbi1ob2xkZXIgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhvbWVwYWdlLWN0YS1vbmUtY29sdW1uIHtcbiAgICAuY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NzBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuXG4uZGVtby1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmc6IDEyMHB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgLyomOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogNjh2dztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9Ki9cbiAgICBcbiAgICA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG59XG5cbi5kZW1vLWhvbGRlciAudGV4dC1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xufVxuXG4uZGVtby1ob2xkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4OyAgICBcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmc6IDE1MHB4IDAgMDtcbiAgICBcbiAgICAuZGllbnN0ZW4taW50cm8taG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIFxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAuZGllbnN0ZW4tdGFicyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLmRpZW5zdGVuLXRhYnMtaW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC5zaG93IC5sYWJlbC1ob2xkZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTdweDtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICAgICAgXG4gICAgfVxufVxuXG4uY29ycG9yYXRlIC5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlciB7XG4gICAgJi5hY3RpdmUge1xuICAgICAgICAubGFiZWwud2l0aC1pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5sYWJlbCB7XG4gICAgICAgICYud2l0aC1pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmlubmVyLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAyOHB4KTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlci5hY3RpdmUgLmxhYmVsLCAuZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXI6aG92ZXIgLmxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICBwYWRkaW5nOiA5MHB4IDAgMDtcbiAgICBcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBcbiAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDMwcHg7XG4gICAgfVxuICAgIFxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZ3JlZW4tY2hlY2suc3ZnJyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyIC5pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXItbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgIC5hcnJvdyB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjVweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYXJyb3ctYmxhY2stcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dvLXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG4ubG9nby1zbGlkZXIgLnVrLXNsaWRlci1pdGVtcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5sb2dvLXNsaWRlciBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cblxuLmxvZ28tc2xpZGVyIC5zcXVhcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMTAlKTtcbiAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICB9XG59XG5cbi5rbGFudGVuLWhvbGRlciB7XG4gICAgbWFyZ2luOiAxMjBweCAwO1xufVxuXG4ua2xhbnRlbi1ob2xkZXIgLmtsYW50ZW4taW50cm8taG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xufVxuXG4uYmVraWprLWNpcmtlbFxue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA4MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMsIHZpc2liaWxpdHkgMzAwbXMsIHRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC42NCwgMC41NywgMC42NywgMS4yKTtcbn1cblxuLmxvZ28tc2xpZGVyIC5zcXVhcmUud2l0aC1saW5rOmhvdmVyIC5iZWtpamstY2lya2VsXG57XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5sb2dvLXNsaWRlciAuYmVraWprLWNpcmtlbFxue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2VjdGlvbi12aWN0YVFsaWtIb21lcGFnZSAuY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgcGFkZGluZzogMTQwcHggMDtcbiAgICBcbiAgICAuY3RhLWRlc2NyaXB0aW9uOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIH1cbn1cblxuLm5pZXV3cy1ob2xkZXIge1xuICAgIG1hcmdpbjogMTAwcHggMDtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICYuY3VzdG9tIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1pbnRyby1ob2xkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbn1cblxuLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNzBweDtcbiAgICBsZWZ0OiA4MHB4O1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5uaWV1d3MtZ3JpZC1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBcbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn1cblxuLm5pZXV3cy1ncmlkLWhvbGRlciAubmlldXdzLWl0ZW0ge1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uaWV1d3MtZ3JpZC1ob2xkZXIgLm5pZXV3cy1pdGVtIC50ZXh0LWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMzBweCAyNXB4O1xuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgXG4gICAgLmRhdGUge1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxufVxuXG4ubmlldXdzLWdyaWQtaG9sZGVyIC5idXR0b24taG9sZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLmN0YS1yaWdodC1pbWFnZS5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG4ucG9wdXAge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDEwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWF4LXdpZHRoOiA3NzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIHotaW5kZXg6IDEwMDAwMDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIHRvcDogNDAlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnBvcHVwIC5wb3B1cC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG59XG5cbi5wb3B1cCAuaW1hZ2UtaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4ucG9wdXAgLnRleHQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9wb3B1cC1kZWNvcmF0aW9uLnN2ZycpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgaGVpZ2h0OiAyMjRweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5wb3B1cCAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDY1cHggNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBcbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgfVxufVxuXG4ucG9wdXAtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcGVzdC1ibGFjaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB0b3A6IC0zMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cblxuLmZpbHRlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuLmZpbHRlciAubGFiZWwge1xuICAgIC8vY29sb3I6ICR3aGl0ZTtcbn1cblxuLmZpbHRlciAuY2F0LWxhYmVsIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JleTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLmZpbHRlciAuY2F0LWxhYmVsIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLnJlc291cmNlcy1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG59XG5cbi5yZXNvdXJjZXMtaG9sZGVyIC5pbWFnZS1ob2xkZXIgLmxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDNweCAxNXB4O1xuICAgIHotaW5kZXg6IDQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uc2VjdGlvbi1yZXNvdXJjZXNPdmVyemljaHQsIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IHtcbiAgICAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICAgIH1cbn1cblxuLnNlY3Rpb24tcmVzb3VyY2VzT3ZlcnppY2h0LCAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCB7XG4gICAgLm5pZXV3cy1ob2xkZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1yZXNvdXJjZXNPdmVyemljaHQsIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IHtcbiAgICAubmlldXdzLWdyaWQtaG9sZGVyIC5uaWV1d3MtaXRlbSAudGV4dC1ob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMzVweCAyMHB4O1xuICAgIH1cbn1cblxuLnNlY3Rpb24tcmVzb3VyY2VzT3ZlcnppY2h0IGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciwgLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciwgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi5wcm9kdWN0ZW4taGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgcGFkZGluZy1ib3R0b206IDE0NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNzN2dztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5wcm9kdWN0ZW4taGVhZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWF4LXdpZHRoOiA4NzBweDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG4ucHJvZHVjdGVuLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBtYXJnaW46IDAgMTAwcHggMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMDtcbiAgICBcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTUwcHg7XG4gICAgbGVmdDogODBweDtcbiAgICB6LWluZGV4OiA1O1xufVxuXG4uc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvcHJvZHVjdHMtZGVjb3JhdGlvbi1ncmVlbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMjE4cHg7XG4gICAgICAgIGhlaWdodDogMzg4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5zZWN0aW9uLXByb2R1Y3Rlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xufVxuXG4uZGV0YWlsLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uZGV0YWlsLWhlYWRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xufVxuXG4uZGV0YWlsLWhlYWRlciAudGV4dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogNjBweCA3MHB4IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgbWFyZ2luOiA1MHB4IC0xMDVweCAwIGF1dG87XG4gICAgXG4gICAgaDEuY3VzdG9tIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG4gICAgXG4gICAgLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbiNpbmhvdWQubm8tbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uZGllbnN0ZW4taGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAvKiY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2RpZW5zdGVuLWlsbHVzdHJhdGlvbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAyNjVweDtcbiAgICAgICAgaGVpZ2h0OiAyMjlweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9Ki9cbiAgICBcbiAgICAuZGllbnN0ZW4tcGFydGljbGVzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA5JSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gICAgXG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taGVhZGVyIC5pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwIDEyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gICAgXG4gICAgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICAgICAgdG9wOiAtMTAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0IC50ZXh0LWhvbGRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTM4M0Q7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2dyZWVuLWNoZWNrLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLmRvdHMtYW5pbWF0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xufVxuXG4ucHJvZHVjdHMtaG9sZGVyLmxpY2VudGllcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICB9XG59XG5cbi5zZWN0aW9uLWRpZW5zdGVuIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2RpZW5zdC1kZXRhaWwtaWxsdXN0cmF0aW9uLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgIHdpZHRoOiAxNTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgICA+ICoge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICAgIFxuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbnAubnItcmVzdWx0cyB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuXG4ucmVzdWx0YXRlbi1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnJlc3VsdGF0ZW4gLnNlYXJjaC1pdGVtIHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHggMzBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIFxuICAgICYuZmlyc3QtcmVzdWx0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5O1xuICAgIH1cbiAgICBcbiAgICA+ICoge1xuICAgICAgICBtYXgtd2lkdGg6IDk3MHB4O1xuICAgIH1cbiAgICBcbiAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgXG4gICAgfVxufVxuXG4ucmVzdWx0YXRlbiAuc2VhcmNoLWl0ZW0gaDMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogJGdyZWVuO1xufVxuXG4ucmVzdWx0YXRlbiAuc2VhcmNoLWl0ZW0gaDMgKyBwIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG59XG4ucmVzdWx0YXRlbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG59XG5cbi5mb3JtLWhvbGRlci56b2VrLWZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5mb3JtLWhvbGRlci56b2VrLWZvcm0gaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweCA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG59XG5cbi5mb3JtLWhvbGRlci56b2VrLWZvcm0gLmlucHV0LWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9zZWFyY2gtaWNvbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRvcDogMTdweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5mb3JtLWhvbGRlci56b2VrLWZvcm0gYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbn1cblxuLmNvbnRhY3QtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nOiAxMTBweCAwO1xufVxuXG4uY29udGFjdC1oZWFkZXIgaDEsIC5jb250YWN0LWhlYWRlciBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmNvbnRhY3QtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIFxuICAgICYucmlnaHQge1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB9XG59XG5cbi5jb250YWN0LWhlYWRlciAudmVzdGlnaW5nZW4taG9sZGVyIC51ay1kb3RuYXZ7XG4gICAgXG4gICAgPiAqID4gKiB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIH1cbiAgICBcbiAgICA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4uY29udGFjdC1oZWFkZXIgLmNvbnRhY3QtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0QzRDZERjtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLmNvbnRhY3QtaGVhZGVyIC5sb2NhdGlvbi1ob2xkZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgXG4gICAgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNEI2Q0U7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MG1zO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0LWhlYWRlciAubG9jYXRpb24taG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIFxuICAgIFxuICAgICYub2RkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAudmVzdGlnaW5nbmFhbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIFxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbn1cblxuLmNvbnRhY3QtaGVhZGVyIC5ibG9ra2VuLWhvbGRlciAuYmxvayB7XG4gICAgcGFkZGluZzogMTVweCAwIDMwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEM0Q2REY7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBcbiAgICAmLmxhc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICB9XG4gICAgXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5jb250YWN0LWhlYWRlciAuYmxva2tlbi1ob2xkZXIgLmJ1dHRvbi1ob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgXG4gICAgLmZpcnN0LWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLnVuZGVybGluZSB7XG4gICAgICAgIGNvbG9yOiAjNzc3Qjg2O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjUwbXM7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy9mb3JtdWxpZXJcbi5jb250YWN0LWZvcm11bGllci1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbn1cblxuLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwMHB4O1xuICAgIGxlZnQ6IDcwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICRncmV5O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uIHtcbiAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogMzAwMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMjAwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgIFxuICAgICYubm8taW1hZ2U6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAtNzVweDtcbiAgICB9XG59XG5cbi5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmFjaHRlcmdyb25kLXRpdGVsIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5yaWdodC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTgwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDE4MHB4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlclxuICAgIH1cbn1cblxuLm5vLWltYWdlLWhlYWRlci1ob2xkZXIud2l0aC1pbGx1c3RyYXRpb24gLmRvdHMtYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTtcbn1cblxuLml0ZW1zLWNvbnRhaW5lciAuaXRlbSB7XG4gICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOm5vdCgucGFydG5lci1pdGVtKTpob3ZlciB7XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uaXRlbS1jb2x1bW4ge1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgb3BhY2l0eTogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMTtcbn1cblxuLml0ZW0tY29sdW1uLmhpZGUge1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4ubG9hZC1tb3JlLWJ1dHRvbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBcbiAgICAmLmN1c3RvbSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIH1cbn1cblxuLmxvYWQtbW9yZS1idXR0b24tY29udGFpbmVyIC5hbW91bnQtdmlzaWJsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAkZ3JleTtcbn1cblxuLmxvYWQtbW9yZS1idXR0b24taG9sZGVyLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pdGVtcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMCAxMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbn1cblxuLml0ZW1zLWNvbnRhaW5lciAuaXRlbS5vdmVyemljaHQtY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXG4gICAgLnVrLWdyaWQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3NtYWxsLWN0YS1pbGx1c3RyYXRpb24uc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTQ5cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLndpdGgtaW1hZ2U6OmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogLTMwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmN0YS10ZXh0LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMjBweCAzNXB4IDU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgXG4gICAgICAgICYubm8taW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMzVweCA1NXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLml0ZW1zLWNvbnRhaW5lciAuaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDM1cHggMTEwcHg7XG4gICAgICAgIFxuICAgICAgICAudGV4dC1ib3R0b20ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgICAgICAgYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgbGVmdDogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLml0ZW1zLWNvbnRhaW5lciAuaXRlbSAudGV4dC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgXG4gICAgLmxvZ28taG9sZGVyIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5idXR0b24taG9sZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyLFxuLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIsXG4uc2VjdGlvbi1wYXJ0bmVyc092ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDI4MHB4O1xufVxuXG4uc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5sb2FkLW1vcmUtY29udGFpbmVyLFxuLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5sb2FkLW1vcmUtY29udGFpbmVyLFxuLnNlY3Rpb24tcGFydG5lcnNPdmVyemljaHQgLmxvYWQtbW9yZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgbWFyZ2luLXRvcDogLTE0MHB4O1xufVxuXG4uc2VjdGlvbi1rbGFudHZlcmhhbGVuIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlcixcbi5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIsXG4uc2VjdGlvbi1wYXJ0bmVyc092ZXJ6aWNodCAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNjEwcHg7XG4gICAgbWFyZ2luOiA1MHB4IC0xNDVweCAwIGF1dG87XG4gICAgcGFkZGluZzogNjBweCA2MHB4IDcwcHggNzBweDtcbn1cblxuLnNlY3Rpb24tcGFydG5lcnNPdmVyemljaHQgLml0ZW1zLWNvbnRhaW5lciAuaXRlbSAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDM1cHg7XG59XG5cbi5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAuaXRlbXMtY29udGFpbmVyIC5pdGVtIC50ZXh0LWJvdHRvbSAuYnV0dG9uLWhvbGRlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBcbiAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5pdGVtcy1jb250YWluZXIgLml0ZW0gLmRhdGUge1xuICAgIGNvbG9yOiAkZ3JleTtcbn1cblxuLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5pdGVtcy1jb250YWluZXIgLml0ZW0gaDMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi8vZG90cyBhbmltYXRpb25cblxuLmRvdHMtYW5pbWF0aW9uIHN2ZyBjaXJjbGUge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5kb3RzLWFuaW1hdGlvbiBzdmcgcG9seWdvbiB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmhvbWVwYWdlLWhlYWRlciAuZG90cy1hbmltYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLmN0YS1yaWdodC1pbWFnZS5sZWZ0IC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLm5vLWltYWdlLWhlYWRlci1ob2xkZXIgLmRvdHMtYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi5jdGEtcmlnaHQtaW1hZ2U6bm90KC5sZWZ0KSAuZG90cy1hbmltYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4uaGVhZGVyLTQwNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwMHB4IDIwcHg7XG59XG5cblxuLmhlYWRlci00MDQgLmNvbnRlbnQtNDA0IHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufSBcblxuLmhlYWRlci00MDQgc3ZnIHtcbiAgICB3aWR0aDogMzI5cHg7XG4gICAgaGVpZ2h0OiAzNTBweDtcbiAgICBjdXJzb3I6IG5vbmU7XG59XG5cbi5oZWFkZXItNDA0IGgxIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5oZWFkZXItNDA0IC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbiNiaWctdiwgXG4jc2VhcmNoIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xufVxuXG4uaGVhZGVyLTQwNCBzdmcuaW5hY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmhlYWRlci00MDQgc3ZnLmluYWN0aXZlICNiaWctdixcbi5oZWFkZXItNDA0IHN2Zy5pbmFjdGl2ZSAjc2VhcmNoe1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5zZWN0aW9uLWNvbnRhY3RFblN1cHBvcnQgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi52aWRlby1wb3B1cCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDc3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgei1pbmRleDogMTAwMDAwMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcGFkZGluZzogNTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIHRvcDogNDAlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnZpZGVvLXBvcHVwIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG59XG5cbi52aWRlby1wb3B1cC1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVwZXN0LWJsYWNrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIHRvcDogLTMwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLm5vLWltYWdlLWhlYWRlciAuZm9ybS1ob2xkZXIge1xuICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQyNDY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MzQyNDY7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubmljZS1zZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0MjQ2ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MzQyNDYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm9wdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5mdWktbGFiZWwsIC5mdWktZXJyb3IgLmZ1aS1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIFxuICAgIC5mdWktZXJyb3IgLmZ1aS1pbnB1dC1jb250YWluZXIgaW5wdXQ6Zm9jdXMsIC5mdWktZXJyb3IgLmZ1aS1pbnB1dC1jb250YWluZXIgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0MjQ2ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudFxuICAgIH1cbiAgICBcbiAgICAuZnVpLWVycm9yIC5mdWktaW5wdXQtY29udGFpbmVyIGlucHV0LCAuZnVpLWVycm9yIC5mdWktaW5wdXQtY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuXG4uY3RhLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgXG4gICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG59XG5cbi52aWN0YS1kaWVuc3RlbiB7XG4gICAgcGFkZGluZzogNzVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBcbiAgICAuaW50cm8tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIFxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuY3VzdG9tLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgfVxufVxuXG4uZGllbnN0ZW4tc2xpZGVyLWhvbGRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL3dpZHRoOiA5M3Z3O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgXG4gICAgLnVrLXNsaWRlci1jb250YWluZXIge1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogNDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgICAuaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2Fycm93cy5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTE2cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgXG4gICAgICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5NXB4IDIwcHggNzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5zdGVwLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmJ1dHRvbi1ob2xkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAtNzVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmltYWdlLWhvbGRlciBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWN0YS1kaWVuc3RlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC5kaWVuc3Rlbi1kb3RzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAudWstZG90bmF2IHtcbiAgICAgICAgJi51ay1tYXJnaW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+ICogPiAqIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gKiA+IDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5zd2lwZS1jaXJrZWxcbntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogODBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdmlzaWJpbGl0eSAzMDBtcywgdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjY0LCAwLjU3LCAwLjY3LCAxLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3N3aXBlLWljb24uc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMzdweDtcbiAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5zbGlkZXItaG9sZGVyOmhvdmVyIC5zd2lwZS1jaXJrZWxcbntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnN3aXBlLWNpcmtlbFxue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaWxsdXN0cmF0aW9uLWhvbGRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDR2dyAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmlib24tYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBcbiAgICAucmlib24taW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDE1NjBweDtcbiAgICB9XG4gICAgXG4gICAgLnJpYm9uLWljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE4NTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAmLmN1c3RvbSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4O1xuICAgICAgICBcbiAgICAgICAgLm1pY3Jvc29mdC1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5saW5rZWRpbi1ob2xkZXIgYSB7XG4gICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC5saW5rZWRpbi1ob2xkZXIgYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9saW5rZWRJbi13aGl0ZS5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1hbGVydC1zdWNjZXNzIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDMwcHggOTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGVjay1vdXRsaW5lLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG59XG5cbi52aWN0YS1kaWVuc3Rlbi5kZXRhaWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgXG4gICAgLml0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICAgIG1heC13aWR0aDogMjU1cHg7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC51ay1zbGlkZXItY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiA0MCU7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIC5zY3JvbGxlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0b3A6IDYwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2lkZS1wb3B1cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwYWRkaW5nOiA1MHB4IDQwcHggMjBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9wb3B1cC1kZWNvcmF0aW9uLnN2Zyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgXG4gICAgLnNpZGUtcG9wdXAtY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgKyBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLmhvbWUtcGFydGljbGVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWF4LXdpZHRoOiAzNTBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMiUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI2MHB4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogLjM7XG4gICAgXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIHdpZHRoOiA3JSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubGFuZGluZy1wYXJ0aWNsZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDclICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5wcm9kdWN0LWxhYmVscy1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBcbiAgICAucHJvZHVjdC1sYWJlbHMtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdC1sYWJlbHMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuICAgICAgICA+IGRpdiA+IGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjVweCA1cHggNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pY29uLWhvbGRlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQgLm5pZXV3cy1ncmlkLWhvbGRlciAubmlldXdzLWl0ZW0gLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLm9tc2NocmlqdmluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG4ubmlldXdzYnJpZWYtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjZGODtcbiAgICBcbiAgICAudGl0bGUtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MzBweDtcbiAgICB9XG59XG5cbi5wYXltZW50LWZvcm0gaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucGF5bWVudC1mb3JtIHtcbiAgICBtYXJnaW46IDgwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIFxuICAgIC5idXR0b24ge1xuICAgICAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICB9XG4gICAgXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuLnBvZGNhc3RzLWhvbGRlciB7XG4gICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgLml0ZW0ge1xuICAgICAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyNXB4IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb2RjYXN0LWl0ZW0ge1xuICAgIG1heC13aWR0aDogODcwcHg7XG4gICAgbWFyZ2luOiA3NXB4IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIGF1ZGlvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgXG4gICAgICAgICY6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJbY2xhc3MqPXVrLWFuaW1hdGlvbi1dIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodEN1c3RvbTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodEN1c3RvbTtcbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0Q3VzdG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgICB9XG4gICAgXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgfVxufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b21DdXN0b207XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tQ3VzdG9tO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tQ3VzdG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XG4gICAgfVxuICAgIFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB9XG4gICAgXG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgfVxufVxuXG4ucmV2ZWFsLWVsZW1lbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmxpbmUtYW5pbWF0aW9uLCAubGluZS1hbmltYXRpb24tZGVsYXkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY2FsZS11cCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOXMgY3ViaWMtYmV6aWVyKDAuMSwgMC4zOCwgMC41MywgMC45OCk7ICBcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgdHJhbnNsYXRlWSgxMDBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uZmFkZS1ib3R0b20ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjlzIGN1YmljLWJlemllcigwLjEsIDAuMzgsIDAuNTMsIDAuOTgpOyAgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cblxuLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAxMTEwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxMTAwO1xuICAgIGZvbnQtc2l6ZTogMjUwcHg7XG59XG5cbi5sYXJnZS1vdXRsaW5lLXRleHQuc2hvdyB0ZXh0IHtcbiAgICBhbmltYXRpb246IGZpbGxPdXRsaW5lIDNzIGxpbmVhciBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBmaWxsT3V0bGluZSB7XG4gIHRvIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxufSIsIi8qIElFIDEwIGFsZXJ0ICovXG4uYmxvY2tlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuOTApO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuM3M7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJsb2NrZXIgLmJsb2NrX2hvbGRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDE1JSBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xufVxuXG4uYmxvY2tlciAuYmxvY2tfaG9sZGVyIGEge1xuICAgIGNvbG9yOiAjNEJBRTQ3O1xufVxuXG4uYmxvY2tlci5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsImEuYnV0dG9uLCBidXR0b24uYnV0dG9uLCBzcGFuLmJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDUlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4yLCAxKTtcbiAgICB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEzNSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMSUsMCwwKTtcbiAgICB9XG4gICAgXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIFxuICAgID4gc3BhbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjIsIDEpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+IHNwYW4gPiBzcGFuIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogTW92ZVJpZ2h0SW5pdGlhbCAwLjNzIGZvcndhcmRzLCBNb3ZlUmlnaHRFbmQgMC4zcyBmb3J3YXJkcyAwLjJzO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjAxcyAwLjNzIGN1YmljLWJlemllcigwLjcsIDAsIDAuMiwgMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3N0I4NjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5ncmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmRvd25sb2FkIHtcbiAgICAgICAgXG4gICAgICAgID4gc3BhbiA+IHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZG93bmxvYWQtaWNvbi5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5vcmFuZ2UtcmV2ZWFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuYmxhY2sub3JhbmdlLXJldmVhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYS5yZWFkLW1vcmUsIHNwYW4ucmVhZC1tb3JlIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTBtcztcbiAgICB9XG4gICAgXG4gICAgPiBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYXJyb3ctZ3JlZW4tcmlnaHQuc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuYmxhY2sge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYXJyb3ctYmxhY2stcmlnaHQuc3ZnJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQGtleWZyYW1lcyBNb3ZlUmlnaHRJbml0aWFsIHtcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLDAsMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIE1vdmVSaWdodEVuZCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG59IiwiLmNvbXBvbmVudC1ncmlkIHtcbiAgICBtYXJnaW46IDgwcHggYXV0bztcbn1cblxuLmNvbXBvbmVudC1ncmlkLTEge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAudWstZ3JpZC1kaXZpZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcG9uZW50LWdyaWQgLmNvbXBvbmVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbXBvbmVudC1ncmlkIC5jb21wb25lbnQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4uY29tcG9uZW50LWdyaWQgLmZsZXgtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb21wb25lbnQtZ3JpZCAuZmxleC1jb2x1bW4uY29sdW1uLTIgPiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4jaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4jaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3IuZ3JpanM6Zmlyc3QtY2hpbGQgPiAuY29tcG9uZW50LWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDE3MHB4O1xufVxuXG4jaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3IuZ3JpanM6Zmlyc3QtY2hpbGQgPiAuY29tcG9uZW50LWdyaWQuY29udGFpbmVyLWZvcm11bGllciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yLndpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4jaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3Iubm8tdG9wLW1hcmdpbiA+IC5jb21wb25lbnQtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmJhY2tncm91bmQtY29sb3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBcbiAgICAmLmdyaWpzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgfVxuICAgIFxuICAgICYud2l0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuXG4vL3Rla3N0XG4uY29tcG9uZW50LXRla3N0LCAuY29tcG9uZW50LWh0bWwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDk3MHB4O1xufVxuXG4uY29udGFpbmVyLXRla3N0IHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG59XG4uY29tcG9uZW50LXRla3N0IGgzLCAge1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG5cbi5jb21wb25lbnQtdGVrc3QgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY29tcG9uZW50LXRla3N0IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9ncmVlbi1jaGVjay5zdmcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgIH1cbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLmNvbXBvbmVudC10ZWtzdCB7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLnVrLWdyaWQtZGl2aWRlciAuY29tcG9uZW50LXRla3N0IHtcbiAgICBtYXgtd2lkdGg6IDM3MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAuY29sdW1uLTIgLmNvbXBvbmVudC10ZWtzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8vbWVkaWFcbi5jb21wb25lbnQtZ3JpZC5jb250YWluZXItbWVkaWEge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmNvbXBvbmVudC1tZWRpYSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LW1lZGlhIGltZy5mdWxsLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC5jb21wb25lbnQtbWVkaWEge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLnVrLWdyaWQtZGl2aWRlciAuY29tcG9uZW50LW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAudWstZ3JpZC1kaXZpZGVyIC5jb21wb25lbnQtbWVkaWEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLnVrLWdyaWQtZGl2aWRlciAuY29sdW1uLTEgLmNvbXBvbmVudC1tZWRpYSB7XG4gICAgICBmbG9hdDogbm9uZTtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLmNvbHVtbi0xIC5jb21wb25lbnQtbWVkaWEge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLy9idXR0b25cbi5jb21wb25lbnQtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA5NzBweDtcbn1cblxuLmNvbnRhaW5lci1idXR0b24ge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbn1cblxuLmNvbXBvbmVudC1idXR0b246bm90KC5jb21wb25lbnQtaW5kZXgtMSkge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAuY29sdW1uLTIgLmNvbXBvbmVudC1idXR0b24ge1xuICBtYXgtd2lkdGg6IDQ3MHB4O1xufVxuXG4vL3F1b3RlXG4uY29udGFpbmVyLXF1b3RlIHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgbWF4LXdpZHRoOiAxMjUwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmNvbXBvbmVudC1xdW90ZSB7XG4gIHBhZGRpbmctbGVmdDogMTQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG4gICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWFnZXMvcXVvdGUuc3ZnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC0ycHg7XG4gIH1cbiAgXG59XG5cbi5jb21wb25lbnQtcXVvdGUgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0xO1xufVxuXG4uY29tcG9uZW50LXF1b3RlIC5xdW90ZXMgaW1nIHtcbiAgICB3aWR0aDogNTZweDtcbn1cblxuLmNvbXBvbmVudC1xdW90ZSAuYXV0ZXVyIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4uY29tcG9uZW50LXF1b3RlIC5hdXRldXIgPiBkaXYge1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi8vQ2FsbCB0byBhY3Rpb25cbi5jb21wb25lbnQtZ3JpZC5jb250YWluZXItY2FsbFRvQWN0aW9uIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICBwYWRkaW5nOiAyMDBweCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjg1O1xuICAgIH1cbn1cblxuLmN0YS1mdWxsLWJhY2tncm91bmQgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5jdGEtZnVsbC1iYWNrZ3JvdW5kIGgyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4uY3RhLWZ1bGwtYmFja2dyb3VuZCBoNCB7XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuLmN0YS1mdWxsLWJhY2tncm91bmQgLmN0YS1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIH1cbn1cblxuLmN0YS1mdWxsLWJhY2tncm91bmQgLmN0YS1kZXNjcmlwdGlvbiAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uY3RhLXJpZ2h0LWltYWdlIHtcbiAgICBwYWRkaW5nOiAyMDBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMDBweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjAwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgIH1cbn1cblxuLmN0YS1yaWdodC1pbWFnZSAuY3RhLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMCAxMDBweCAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgXG4gICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDI1cHggMjVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuYXJyb3ctaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvY3RhLWFycm93LnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjYsIDAsIDAsIDEpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBcbiAgICAgICAgLmFycm93LWhvbGRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3RhLWZ1bGwtbm8tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHBhZGRpbmc6IDEwMHB4IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL2N0YS1kb3RzLWxlZnQtY29ybmVyLnN2Zyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jdGEtZG90cy1yaWdodC1jb3JuZXIuc3ZnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLmN0YS1mdWxsLW5vLWJhY2tncm91bmQgLmN0YS10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmN0YS1mdWxsLW5vLWJhY2tncm91bmQgaDIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5jdGEtZnVsbC1uby1iYWNrZ3JvdW5kIGg0IHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4uY29sdW1uLTEgLmN0YS0xLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbn1cblxuLmNvbHVtbi0yIC5jdGEtMS0yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG59XG5cbi5jdGEtMS0yIHtcbiAgICBwYWRkaW5nOiA2MHB4IDUwcHggMTIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3RhLTEtMiBoMyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uY3RhLTEtMiBhLnJlYWQtbW9yZSwgLmN0YS0xLTIgc3Bhbi5yZWFkLW1vcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUwcHg7XG59XG5cbi5jb2x1bW4tMiAuY3RhLTEtMiBhLnJlYWQtbW9yZSwgLmNvbHVtbi0yIC5jdGEtMS0yIHNwYW4ucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIFxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuXG4uY29sdW1uLTIgLmN0YS0xLTIgYS5yZWFkLW1vcmUgPiBzcGFuOjpiZWZvcmUsIC5jb2x1bW4tMiAuY3RhLTEtMiBzcGFuLnJlYWQtbW9yZSA+IHNwYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1ibGFjay1yaWdodC5zdmcpO1xufVxuXG4vL1VpdGdlbGljaHRlIGl0ZW1zXG4uY29tcG9uZW50LWdyaWQuY29udGFpbmVyLXVpdGdlbGljaHRlSXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBcbiAgICAuaXRlbS1ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDUwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtMzAwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMTAwcHgpO1xuICAgICAgICB3aWR0aDogMzAwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvID4gKiB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm8gaDIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0taG9sZGVyID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS1ob2xkZXIgLml0ZW0tdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgJi53aXRoLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS1ob2xkZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS10ZXh0LmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS10ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi8vZm9ybXVsaWVyXG4uY29tcG9uZW50LWZvcm11bGllciB7XG4gICAgcGFkZGluZzogMTIwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb21wb25lbnQtZm9ybXVsaWVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTUwcHg7O1xuICAgIGxlZnQ6IDcwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICRncmV5O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xufVxuXG4uY29tcG9uZW50LWZvcm11bGllciAuYWNodGVyZ3JvbmQtdGl0ZWwgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb21wb25lbnQtZ3JpZC5jb250YWluZXItZm9ybXVsaWVyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8vc2xpZGVyXG4uY29tcG9uZW50LWdyaWQuY29udGFpbmVyLXNsaWRlciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY29tcG9uZW50LXNsaWRlciB7XG4gICAgcGFkZGluZzogMTUwcHggMCAxNTBweDtcbn1cblxuLnNsaWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgKyA1MDBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNTBweDtcbn1cblxuLnNsaWRlciAuc2xpZGVyLWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zbGlkZXIgLnNsaWRlci1pbWFnZSAubGFuZHNjYXBlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNsaWRlciAuc2xpZGVyLWltYWdlIC5wb3J0cmFpdCB7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBtYXJnaW4tdG9wOiA3MHB4O1xufVxuXG4ua29sb20tdGl0ZWwge1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICAgIFxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIFxuICAgID4gZGl2IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG4udnJhZ2VuLWNvbXBvbmVudCB7XG4gICAgLnZyYWdlbi1pbnRyby1ob2xkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA3MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC52cmFnZW4taG9sZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC52cmFhZzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgXG4gICAgLnZyYWFnLWhlYWRlciB7ICAgIFxuICAgICAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTM7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNzVweCAyMHB4IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LWRvd24tYmxhY2suc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC52cmFhZy1hbnR3b29yZCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG4gICAgXG4gICAgLnZyYWFnLWhlYWRlci5vcGVuICB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICArIC52cmFhZy1hbnR3b29yZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuN3MgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbn1cblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vcmVzcG9uc2l2ZVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODUwcHgpIHtcbiAgICAuY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybyB7XG4gICAgXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAtOTdweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWZvcm11bGllciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAuY29tcG9uZW50LXVpdGdlbGljaHRlSXRlbXM6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtNjdweDtcbiAgICAgIHRvcDogMzhweDtcbiAgICAgIHdpZHRoOiAyMTRweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC11aXRnZWxpY2h0ZUl0ZW1zOjphZnRlciB7XG4gICAgICByaWdodDogLTg1cHg7XG4gICAgICBib3R0b206IDE4cHg7XG4gICAgICB3aWR0aDogMjI1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDEyMHB4IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC5jb21wb25lbnQtdWl0Z2VsaWNodGVJdGVtczo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtdWl0Z2VsaWNodGVJdGVtczo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm86OmJlZm9yZSwgXG4gICAgLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm86OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtNjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1mb3JtdWxpZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzMjBweCkge1xuICAgIC5jb21wb25lbnQtZ3JpZC0yIC5jb21wb25lbnQtbWVkaWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgIC5jb21wb25lbnQtZ3JpZCB7XG4gICAgICBtYXJnaW46IDcwcHggYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1xdW90ZSAucXVvdGVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC02NXB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXF1b3RlIC5xdW90ZXMgaW1nIHtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAuY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDA7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmNvbXBvbmVudC1mb3JtdWxpZXIge1xuICAgICAgcGFkZGluZzogMTJ2dyAwIDgwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtdWl0Z2VsaWNodGVJdGVtcyB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDAgMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1zbGlkZXIge1xuICAgICAgcGFkZGluZzogNzBweCAwIDgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jdGEtcmlnaHQtaW1hZ2UgLmN0YS1idXR0b24gLnRleHQtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggMjVweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZSAuY3RhLWJ1dHRvbiAuYXJyb3ctaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2UgLmN0YS1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDgwcHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICAgIFxuICAgIC52cmFnZW4tY29tcG9uZW50IC52cmFnZW4taW50cm8taG9sZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLnZyYWdlbi1jb21wb25lbnQgLnZyYWFnLWhlYWRlciB7ICAgIFxuICAgICAgICBwYWRkaW5nOiAyMHB4IDYwcHggMjBweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnZyYWdlbi1jb21wb25lbnQgLnZyYWFnLWFudHdvb3JkIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jb21wb25lbnQtZ3JpZCB7XG4gICAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1ncmlkLmNvbXBvbmVudC1ncmlkLTEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1ncmlkIC5jb21wb25lbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWdyaWQtMiAuY29tcG9uZW50LXRla3N0IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1ncmlkLTIgLmNvbXBvbmVudC1tZWRpYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgI2luaG91ZCA+IC5iYWNrZ3JvdW5kLWNvbG9yLmdyaWpzOmZpcnN0LWNoaWxkID4gLmNvbXBvbmVudC1ncmlkXG4gICAge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdyaWQuY29tcG9uZW50LWdyaWQtMS5jb250YWluZXItdGVrc3QsXG4gICAgLmNvbXBvbmVudC1ncmlkLmNvbXBvbmVudC1ncmlkLTEuY29udGFpbmVyLWJ1dHRvbixcbiAgICAuY29tcG9uZW50LWdyaWQuY29tcG9uZW50LWdyaWQtMS5jb250YWluZXItcXVvdGVcbiAgICB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1xdW90ZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1xdW90ZSAuYXV0ZXVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1mb3JtdWxpZXIge1xuICAgICAgcGFkZGluZzogMzVweCAwIDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtdWl0Z2VsaWNodGVJdGVtcyB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC1zbGlkZXIge1xuICAgICAgcGFkZGluZzogMzVweCAwIDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zbGlkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgLnNsaWRlciAuc2xpZGVyLWltYWdlIC5wb3J0cmFpdCB7XG4gICAgICB3aWR0aDogNTguNSU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLWhvbGRlciA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIC5jdGEtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuY3RhLWZ1bGwtYmFja2dyb3VuZCAuY3RhLWRlc2NyaXB0aW9uIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZTo6YmVmb3JlLFxuICAgIC5jdGEtcmlnaHQtaW1hZ2U6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtZnVsbC1uby1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jdGEtMS0yIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCA4NXB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLTEtMiBhLnJlYWQtbW9yZSB7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2UgLmN0YS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAudnJhZ2VuLWNvbXBvbmVudCAudnJhYWctaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggMjBweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC52cmFnZW4tY29tcG9uZW50IC52cmFnZW4taW50cm8taG9sZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICB9XG59IiwiYm9keSB7XG4gIC5uaWNlLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGhlaWdodDogNThweDtcbiAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuIH1cbiBcbiAuZnVpLWkgKiwgLmZ1aS1pIDo6YWZ0ZXIsIC5mdWktaSA6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uZnVpLWlucHV0OmZvY3VzLCAuZnVpLXNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5uaWNlLXNlbGVjdCBzcGFuIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4gIC5uaWNlLXNlbGVjdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDgxMTExOyB9XG4gIC5uaWNlLXNlbGVjdDphY3RpdmUsIC5uaWNlLXNlbGVjdC5vcGVuLCAubmljZS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2Q4MTExMTsgfVxuICAubmljZS1zZWxlY3Q6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjIyO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyMjI7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA5cHg7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE4cHg7XG4gICAgdG9wOiA0NSU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiA5cHg7XG4gfVxuICAubmljZS1zZWxlY3Qub3BlbjphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cbiAgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3Qge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm5pY2Utc2VsZWN0LmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNlZGVkZWQ7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubmljZS1zZWxlY3QuZGlzYWJsZWQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG4gIC5uaWNlLXNlbGVjdC53aWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uaWNlLXNlbGVjdC53aWRlIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5pY2Utc2VsZWN0LnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmljZS1zZWxlY3QucmlnaHQgLmxpc3Qge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5uaWNlLXNlbGVjdC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA0cHg7IH1cbiAgICAubmljZS1zZWxlY3Quc21hbGwgLm9wdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7IH1cbiAgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAvKmJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDY4LCA2OCwgNjgsIDAuMTEpOyovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC43NSkgdHJhbnNsYXRlWSgtMjFweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMCwgMS4yNSksIG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMCwgMS4yNSksIG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQ7XG4gICAgei1pbmRleDogOTsgXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gIH1cbiAgICAubmljZS1zZWxlY3QgLmxpc3Q6aG92ZXIgLm9wdGlvbjpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5uaWNlLXNlbGVjdCAub3B0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjlweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbjpob3ZlciwgLm5pY2Utc2VsZWN0IC5vcHRpb24uZm9jdXMsIC5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cbiAgICAvKi5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9Ki9cbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbi5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdCAubGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3Qge1xuICBkaXNwbGF5OiBibG9jazsgfVxufSIsIiNsb2FkZXJcbntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE1MHZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbiA1MDBtcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgICBcbiAgICAvKiY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTB2aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1vdXQgNDAwbXM7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG4gICAgKi9cbiAgICAmLmhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuI2xvYWRlci5sb2FkZWRcbntcbiAgICBsZWZ0OiAxMDAlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxufVxuXG4jbG9hZGVyLmZpbmlzaGVkXG57XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMG1zO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICB9XG4gICAgXG59XG5cbiNsb2FkZXIudW5sb2FkcGFnZVxue1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDYwMG1zO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbiA1MDBtcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG4gICAgfVxufVxuXG4jcGFnZS13cmFwcGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI3BhZ2Utd3JhcHBlci5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbiIsIiR0aGVtZUNvbG9yOiAkZ3JlZW47XG5cbkBrZXlmcmFtZXMgcGx5ci1wcm9ncmVzc3tcbiAgICB0b3tcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjoyNXB4IDBcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHBseXItcG9wdXB7XG4gICAgMCV7XG4gICAgICAgIG9wYWNpdHk6LjU7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpXG4gICAgfVxuICAgIHRve1xuICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDApXG4gICAgfVxufVxuQGtleWZyYW1lcyBwbHlyLWZhZGUtaW57XG4gICAgZnJvbXtcbiAgICAgICAgb3BhY2l0eTowXG4gICAgfVxuICAgIHRve1xuICAgICAgICBvcGFjaXR5OjFcbiAgICB9XG59XG4ucGx5cntcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzphdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6c3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgZGlyZWN0aW9uOmx0cjtcbiAgICBmb250LWZhbWlseTpBdmVuaXIsXCJBdmVuaXIgTmV4dFwiLFwiSGVsdmV0aWNhIE5ldWVcIixcIlNlZ29lIFVJXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBsaW5lLWhlaWdodDoxLjc7XG4gICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgbWluLXdpZHRoOjIwMHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93Om5vbmU7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlXG59XG4ucGx5ciBhdWRpbywucGx5ciB2aWRlb3tcbiAgICBib3JkZXItcmFkaXVzOmluaGVyaXQ7XG4gICAgaGVpZ2h0OmF1dG87XG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyIGJ1dHRvbntcbiAgICBmb250OmluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6aW5oZXJpdDtcbiAgICB3aWR0aDphdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cbi5wbHlyIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnBseXI6Zm9jdXN7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aXtcbiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3hcbn1cbi5wbHlyLS1mdWxsLXVpICosLnBseXItLWZ1bGwtdWkgOjphZnRlciwucGx5ci0tZnVsbC11aSA6OmJlZm9yZXtcbiAgICBib3gtc2l6aW5nOmluaGVyaXRcbn1cbi5wbHlyLS1mdWxsLXVpIGEsLnBseXItLWZ1bGwtdWkgYnV0dG9uLC5wbHlyLS1mdWxsLXVpIGlucHV0LC5wbHlyLS1mdWxsLXVpIGxhYmVse1xuICAgIHRvdWNoLWFjdGlvbjptYW5pcHVsYXRpb25cbn1cbi5wbHlyX19iYWRnZXtcbiAgICBiYWNrZ3JvdW5kOiM0ZjViNWY7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBmb250LXNpemU6OXB4O1xuICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgcGFkZGluZzozcHggNHB4XG59XG4ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXJ7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cl9fY2FwdGlvbnN7XG4gICAgYW5pbWF0aW9uOnBseXItZmFkZS1pbiAuM3MgZWFzZTtcbiAgICBib3R0b206MDtcbiAgICBjb2xvcjojZmZmO1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBsZWZ0OjA7XG4gICAgcGFkZGluZzoxMHB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cl9fY2FwdGlvbnMgLnBseXJfX2NhcHRpb257XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KTtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOmNsb25lO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOmNsb25lO1xuICAgIGxpbmUtaGVpZ2h0OjE4NSU7XG4gICAgcGFkZGluZzouMmVtIC41ZW07XG4gICAgd2hpdGUtc3BhY2U6cHJlLXdyYXBcbn1cbi5wbHlyX19jYXB0aW9ucyAucGx5cl9fY2FwdGlvbiBkaXZ7XG4gICAgZGlzcGxheTppbmxpbmVcbn1cbi5wbHlyX19jYXB0aW9ucyBzcGFuOmVtcHR5e1xuICAgIGRpc3BsYXk6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6NDgwcHgpe1xuICAgIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgIHBhZGRpbmc6MjBweFxuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXtcbiAgICAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToxOHB4XG4gICAgfVxufVxuLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY2FwdGlvbnN7XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6bm90KC5wbHlyLS1oaWRlLWNvbnRyb2xzKSAucGx5cl9fY29udHJvbHM6bm90KDplbXB0eSl+LnBseXJfX2NhcHRpb25ze1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KVxufVxuLnBseXJfX2NvbnRyb2x7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czozcHg7XG4gICAgY29sb3I6aW5oZXJpdDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICBmbGV4LXNocmluazowO1xuICAgIG92ZXJmbG93OnZpc2libGU7XG4gICAgcGFkZGluZzo3cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Vcbn1cbi5wbHlyX19jb250cm9sIHN2Z3tcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGZpbGw6Y3VycmVudENvbG9yO1xuICAgIGhlaWdodDoxOHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgd2lkdGg6MThweFxufVxuLnBseXJfX2NvbnRyb2w6Zm9jdXN7XG4gICAgb3V0bGluZTowXG59XG4ucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXN7XG4gICAgb3V0bGluZTowXG59XG5hLnBseXJfX2NvbnRyb2x7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmVcbn1cbmEucGx5cl9fY29udHJvbDo6YWZ0ZXIsYS5wbHlyX19jb250cm9sOjpiZWZvcmV7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cl9fY29udHJvbC5wbHlyX19jb250cm9sLS1wcmVzc2VkIC5pY29uLS1ub3QtcHJlc3NlZCwucGx5cl9fY29udHJvbC5wbHlyX19jb250cm9sLS1wcmVzc2VkIC5sYWJlbC0tbm90LXByZXNzZWQsLnBseXJfX2NvbnRyb2w6bm90KC5wbHlyX19jb250cm9sLS1wcmVzc2VkKSAuaWNvbi0tcHJlc3NlZCwucGx5cl9fY29udHJvbDpub3QoLnBseXJfX2NvbnRyb2wtLXByZXNzZWQpIC5sYWJlbC0tcHJlc3NlZHtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMsLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sOmhvdmVyLC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVde1xuICAgIGJhY2tncm91bmQ6JHRoZW1lQ29sb3I7XG4gICAgY29sb3I6I2ZmZlxufVxuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sIHN2Z3tcbiAgICBmaWx0ZXI6ZHJvcC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjE1KSlcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMsLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sOmhvdmVyLC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVde1xuICAgIGJhY2tncm91bmQ6JHRoZW1lQ29sb3I7XG4gICAgY29sb3I6I2ZmZlxufVxuLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZUNvbG9yO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgbGVmdDo1MCU7XG4gICAgcGFkZGluZzoxNXB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkIHN2Z3tcbiAgICBsZWZ0OjJweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkOmZvY3VzLC5wbHlyX19jb250cm9sLS1vdmVybGFpZDpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZUNvbG9yXG59XG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWR7XG4gICAgb3BhY2l0eTowO1xuICAgIHZpc2liaWxpdHk6aGlkZGVuXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWR7XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXItLWZ1bGwtdWkgOjotd2Via2l0LW1lZGlhLWNvbnRyb2xze1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXJfX2NvbnRyb2xze1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OmZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246Y2VudGVyXG59XG4ucGx5cl9fY29udHJvbHMgLnBseXJfX21lbnUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcywucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX192b2x1bWUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9se1xuICAgIG1hcmdpbi1sZWZ0OjVweFxufVxuLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51Ky5wbHlyX19jb250cm9sLC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3MrLnBseXJfX2NvbnRyb2wsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sKy5wbHlyX19jb250cm9sLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbCsucGx5cl9fbWVudXtcbiAgICBtYXJnaW4tbGVmdDoycHhcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrW2RhdGEtcGx5cj1wYXVzZV17XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgICBtYXJnaW4tcmlnaHQ6YXV0b1xufVxuLnBseXJfX2NvbnRyb2xzOmVtcHR5e1xuICAgIGRpc3BsYXk6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6NDgwcHgpe1xuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fbWVudSwucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzLC5wbHlyX19jb250cm9scyAucGx5cl9fdGltZSwucGx5cl9fY29udHJvbHMgLnBseXJfX3ZvbHVtZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2x7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjEwcHhcbiAgICB9XG59XG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xze1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOmluaGVyaXQ7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBwYWRkaW5nOjEwcHhcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7XG4gICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwwKSxyZ2JhKDAsMCwwLC43KSk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czppbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmluaGVyaXQ7XG4gICAgYm90dG9tOjA7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBsZWZ0OjA7XG4gICAgcGFkZGluZzoyMHB4IDVweCA1cHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MDtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0LHRyYW5zZm9ybSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDozXG59XG5AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7XG4gICAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sc3tcbiAgICAgICAgcGFkZGluZzozNXB4IDEwcHggMTBweFxuICAgIH1cbn1cbi5wbHlyLS12aWRlby5wbHlyLS1oaWRlLWNvbnRyb2xzIC5wbHlyX19jb250cm9sc3tcbiAgICBvcGFjaXR5OjA7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKVxufVxuLnBseXIgW2RhdGEtcGx5cj1haXJwbGF5XSwucGx5ciBbZGF0YS1wbHlyPWNhcHRpb25zXSwucGx5ciBbZGF0YS1wbHlyPWZ1bGxzY3JlZW5dLC5wbHlyIFtkYXRhLXBseXI9cGlwXXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyLS1haXJwbGF5LXN1cHBvcnRlZCBbZGF0YS1wbHlyPWFpcnBsYXldLC5wbHlyLS1jYXB0aW9ucy1lbmFibGVkIFtkYXRhLXBseXI9Y2FwdGlvbnNdLC5wbHlyLS1mdWxsc2NyZWVuLWVuYWJsZWQgW2RhdGEtcGx5cj1mdWxsc2NyZWVuXSwucGx5ci0tcGlwLXN1cHBvcnRlZCBbZGF0YS1wbHlyPXBpcF17XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2tcbn1cbi5wbHlyX192aWRlby1lbWJlZHtcbiAgICBoZWlnaHQ6MDtcbiAgICBwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX192aWRlby1lbWJlZCBpZnJhbWV7XG4gICAgYm9yZGVyOjA7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbGVmdDowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5ci0tZnVsbC11aSAucGx5cl9fdmlkZW8tZW1iZWQ+LnBseXJfX3ZpZGVvLWVtYmVkX19jb250YWluZXJ7XG4gICAgcGFkZGluZy1ib3R0b206MjQwJTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzguMjgxMjUlKVxufVxuLnBseXJfX21lbnV7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fbWVudSAucGx5cl9fY29udHJvbCBzdmd7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Vcbn1cbi5wbHlyX19tZW51IC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zne1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpXG59XG4ucGx5cl9fbWVudSAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVdIC5wbHlyX190b29sdGlwe1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lcntcbiAgICBhbmltYXRpb246cGx5ci1wb3B1cCAuMnMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvcmRlci1yYWRpdXM6NHB4O1xuICAgIGJvdHRvbToxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBjb2xvcjojNGY1YjVmO1xuICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDotM3B4O1xuICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgei1pbmRleDozXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyPmRpdntcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgdHJhbnNpdGlvbjpoZWlnaHQgLjM1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMzVzIGN1YmljLWJlemllciguNCwwLC4yLDEpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyOjphZnRlcntcbiAgICBib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgY29udGVudDonJztcbiAgICBoZWlnaHQ6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDoxNXB4O1xuICAgIHRvcDoxMDAlO1xuICAgIHdpZHRoOjBcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudV17XG4gICAgcGFkZGluZzo3cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1dLC5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1yYWRpb117XG4gICAgbWFyZ2luLXRvcDoycHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1dOmZpcnN0LWNoaWxkLC5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1yYWRpb106Zmlyc3QtY2hpbGR7XG4gICAgbWFyZ2luLXRvcDowXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9se1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBjb2xvcjojNGY1YjVmO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBwYWRkaW5nOjRweCAxMXB4O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sPnNwYW57XG4gICAgYWxpZ24taXRlbXM6aW5oZXJpdDtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbDo6YWZ0ZXJ7XG4gICAgYm9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmR7XG4gICAgcGFkZGluZy1yaWdodDoyOHB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkOjphZnRlcntcbiAgICBib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDc5LDkxLDk1LC44KTtcbiAgICByaWdodDo1cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQucGx5cl9fdGFiLWZvY3VzOjphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkOmhvdmVyOjphZnRlcntcbiAgICBib3JkZXItbGVmdC1jb2xvcjpjdXJyZW50Q29sb3Jcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2t7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgIG1hcmdpbjo3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTozcHg7XG4gICAgcGFkZGluZy1sZWZ0OjI4cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgd2lkdGg6Y2FsYygxMDAlIC0gMTRweClcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6OmFmdGVye1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDc5LDkxLDk1LC44KTtcbiAgICBsZWZ0OjdweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6I2I3YzVjZDtcbiAgICBib3gtc2hhZG93OjAgMXB4IDAgI2ZmZjtcbiAgICBjb250ZW50OicnO1xuICAgIGhlaWdodDoxcHg7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbi10b3A6NHB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDowO1xuICAgIHRvcDoxMDAlXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrLnBseXJfX3RhYi1mb2N1czo6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazpob3Zlcjo6YWZ0ZXJ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOmN1cnJlbnRDb2xvclxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9de1xuICAgIHBhZGRpbmctbGVmdDo3cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmV7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmbGV4LXNocmluazowO1xuICAgIGhlaWdodDoxNnB4O1xuICAgIG1hcmdpbi1yaWdodDoxMHB4O1xuICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlO1xuICAgIHdpZHRoOjE2cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YWZ0ZXJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGhlaWdodDo2cHg7XG4gICAgbGVmdDoxMnB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLG9wYWNpdHkgLjNzIGVhc2U7XG4gICAgd2lkdGg6NnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvclxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YWZ0ZXJ7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb10ucGx5cl9fdGFiLWZvY3VzOjpiZWZvcmUsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmhvdmVyOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fbWVudV9fdmFsdWV7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgIG1hcmdpbi1yaWdodDotNXB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6MjVweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXXtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjI4cHg7XG4gICAgY29sb3I6JHRoZW1lQ29sb3I7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBoZWlnaHQ6MjBweDtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxjdXJyZW50Q29sb3IgdmFyKC0tdmFsdWUsMCksdHJhbnNwYXJlbnQgdmFyKC0tdmFsdWUsMCkpXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgbWFyZ2luLXRvcDotNXB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbW96LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXByb2dyZXNze1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBjb2xvcjp0cmFuc3BhcmVudFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVye1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC1sb3dlcntcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4O1xuICAgIG1hcmdpbi10b3A6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10b29sdGlwe1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXN7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1mb2N1cy1vdXRlcntcbiAgICBib3JkZXI6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi1tcy10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXJfX3Bvc3RlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBsZWZ0OjA7XG4gICAgb3BhY2l0eTowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHotaW5kZXg6MVxufVxuLnBseXItLXN0b3BwZWQucGx5cl9fcG9zdGVyLWVuYWJsZWQgLnBseXJfX3Bvc3RlcntcbiAgICBvcGFjaXR5OjFcbn1cbi5wbHlyX190aW1le1xuICAgIGZvbnQtc2l6ZToxNHB4XG59XG4ucGx5cl9fdGltZSsucGx5cl9fdGltZTo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6J1xcMjA0NCc7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHhcbn1cbkBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXtcbiAgICAucGx5cl9fdGltZSsucGx5cl9fdGltZXtcbiAgICAgICAgZGlzcGxheTpub25lXG4gICAgfVxufVxuLnBseXItLXZpZGVvIC5wbHlyX190aW1le1xuICAgIHRleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSlcbn1cbi5wbHlyX190b29sdGlwe1xuICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgYm9yZGVyLXJhZGl1czozcHg7XG4gICAgYm90dG9tOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgIGxlZnQ6NTAlO1xuICAgIGxpbmUtaGVpZ2h0OjEuMztcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgb3BhY2l0eTowO1xuICAgIHBhZGRpbmc6NXB4IDcuNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyAuMXMgZWFzZSxvcGFjaXR5IC4ycyAuMXMgZWFzZTtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6NHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvdHRvbTotNHB4O1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgaGVpZ2h0OjA7XG4gICAgbGVmdDo1MCU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6MDtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fdG9vbHRpcC0tdmlzaWJsZXtcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApIHNjYWxlKDEpXG59XG4ucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcHtcbiAgICB6LWluZGV4OjNcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXB7XG4gICAgbGVmdDowO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjowIDEwMCVcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGxlZnQ6MTZweFxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXB7XG4gICAgbGVmdDphdXRvO1xuICAgIHJpZ2h0OjA7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBsZWZ0OmF1dG87XG4gICAgcmlnaHQ6MTZweDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcHtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCkgc2NhbGUoMSlcbn1cbi5wbHlyLS12aWRlb3tcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuXG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbWVudS1vcGVue1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOmluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MFxufVxuLnBseXJfX3Byb2dyZXNze1xuICAgIGZsZXg6MTtcbiAgICBsZWZ0OjdweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2VdLC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIG1hcmdpbi1sZWZ0Oi03cHg7XG4gICAgbWFyZ2luLXJpZ2h0Oi03cHg7XG4gICAgd2lkdGg6Y2FsYygxMDAlICsgMTRweClcbn1cbi5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXXtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX19wcm9ncmVzcyAucGx5cl9fdG9vbHRpcHtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBsZWZ0OjBcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICBsZWZ0OjA7XG4gICAgbWFyZ2luLXRvcDotMnB4O1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LXdlYmtpdC1wcm9nIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3Jle1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKTtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZmxleC1zaHJpbms6MDtcbiAgICBoZWlnaHQ6MTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZTtcbiAgICB3aWR0aDoxNnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVye1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBoZWlnaHQ6NnB4O1xuICAgIGxlZnQ6MTJweDtcbiAgICBvcGFjaXR5OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZSxvcGFjaXR5IC4zcyBlYXNlO1xuICAgIHdpZHRoOjZweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6JHRoZW1lQ29sb3Jcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmFmdGVye1xuICAgIG9wYWNpdHk6MTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dLnBseXJfX3RhYi1mb2N1czo6YmVmb3JlLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTpob3Zlcjo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX21lbnVfX3ZhbHVle1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6LTVweDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OjI1cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoyOHB4O1xuICAgIGNvbG9yOiR0aGVtZUNvbG9yO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgaGVpZ2h0OjIwcHg7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsY3VycmVudENvbG9yIHZhcigtLXZhbHVlLDApLHRyYW5zcGFyZW50IHZhcigtLXZhbHVlLDApKVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIG1hcmdpbi10b3A6LTVweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzc3tcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgY29sb3I6dHJhbnNwYXJlbnRcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlcntcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvclxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweDtcbiAgICBtYXJnaW4tdG9wOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdG9vbHRpcHtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOmZvY3Vze1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtb3V0ZXJ7XG4gICAgYm9yZGVyOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1vei1yYW5nZS10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotbXMtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyX19wb3N0ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojMDAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbGVmdDowO1xuICAgIG9wYWNpdHk6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTAwJTtcbiAgICB6LWluZGV4OjE7XG59XG4ucGx5ci0tc3RvcHBlZC5wbHlyX19wb3N0ZXItZW5hYmxlZCAucGx5cl9fcG9zdGVye1xuICAgIG9wYWNpdHk6MTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLnBseXJfX3RpbWV7XG4gICAgZm9udC1zaXplOjE0cHhcbn1cbi5wbHlyX190aW1lKy5wbHlyX190aW1lOjpiZWZvcmV7XG4gICAgY29udGVudDonXFwyMDQ0JztcbiAgICBtYXJnaW4tcmlnaHQ6MTBweFxufVxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpe1xuICAgIC5wbHlyX190aW1lKy5wbHlyX190aW1le1xuICAgICAgICBkaXNwbGF5Om5vbmVcbiAgICB9XG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX3RpbWV7XG4gICAgdGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KVxufVxuLnBseXJfX3Rvb2x0aXB7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgICBib3R0b206MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBmb250LXdlaWdodDo1MDA7XG4gICAgbGVmdDo1MCU7XG4gICAgbGluZS1oZWlnaHQ6MS4zO1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICBvcGFjaXR5OjA7XG4gICAgcGFkZGluZzo1cHggNy41cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIC4xcyBlYXNlLG9wYWNpdHkgLjJzIC4xcyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDo0cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgYm90dG9tOi00cHg7XG4gICAgY29udGVudDonJztcbiAgICBoZWlnaHQ6MDtcbiAgICBsZWZ0OjUwJTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDowO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXIgLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX190b29sdGlwLS12aXNpYmxle1xuICAgIG9wYWNpdHk6MTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCkgc2NhbGUoMSlcbn1cbi5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwe1xuICAgIHotaW5kZXg6M1xufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcHtcbiAgICBsZWZ0OjA7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgbGVmdDoxNnB4XG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcHtcbiAgICBsZWZ0OmF1dG87XG4gICAgcmlnaHQ6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGxlZnQ6YXV0bztcbiAgICByaWdodDoxNnB4O1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSlcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwe1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKSBzY2FsZSgxKVxufVxuLnBseXItLXZpZGVve1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBvdmVyZmxvdzpoaWRkZW5cbn1cbi5wbHlyLS12aWRlby5wbHlyLS1tZW51LW9wZW57XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDowO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG59XG4ucGx5cl9fcHJvZ3Jlc3N7XG4gICAgZmxleDoxO1xuICAgIGxlZnQ6N3B4O1xuICAgIG1hcmdpbi1yaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV0sLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgbWFyZ2luLWxlZnQ6LTdweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTdweDtcbiAgICB3aWR0aDpjYWxjKDEwMCUgKyAxNHB4KVxufVxuLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2Vde1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXJfX3Byb2dyZXNzIC5wbHlyX190b29sdGlwe1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxlZnQ6MFxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIGxlZnQ6MDtcbiAgICBtYXJnaW4tdG9wOi0ycHg7XG4gICAgcGFkZGluZzowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCVcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLWJhcntcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICB0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZXtcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIG1pbi13aWR0aDo0cHhcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotbW96LXByb2dyZXNzLWJhcntcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIG1pbi13aWR0aDo0cHg7XG4gICAgdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZVxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi1tcy1maWxse1xuICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZVxufVxuLnBseXItLXZpZGVvIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1hdWRpbyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBjb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIGFuaW1hdGlvbjpwbHlyLXByb2dyZXNzIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgtNDVkZWcscmdiYSg0Nyw1Miw2MSwuNikgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSg0Nyw1Miw2MSwuNikgNTAlLHJnYmEoNDcsNTIsNjEsLjYpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZToyNXB4IDI1cHg7XG4gICAgY29sb3I6dHJhbnNwYXJlbnRcbn1cbi5wbHlyLS12aWRlby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXJfX3ZvbHVtZXtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXg6MTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX3ZvbHVtZSBpbnB1dFt0eXBlPXJhbmdlXXtcbiAgICBtYXJnaW4tbGVmdDo1cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDoyXG59XG5AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7XG4gICAgLnBseXJfX3ZvbHVtZXtcbiAgICAgICAgbWF4LXdpZHRoOjkwcHhcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7XG4gICAgLnBseXJfX3ZvbHVtZXtcbiAgICAgICAgbWF4LXdpZHRoOjExMHB4XG4gICAgfVxufVxuLnBseXItLWlzLWlvcyAucGx5cl9fdm9sdW1le1xuICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnRcbn1cbi5wbHlyLS1pcy1pb3MucGx5ci0tdmltZW8gW2RhdGEtcGx5cj1tdXRlXXtcbiAgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50XG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6ZnVsbHNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6ZnVsbHNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjpmdWxsc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuLnBseXI6ZnVsbHNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpe1xuICAgIC5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbiAgICAucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG4gICAgLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbiAgICAucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpe1xuICAgIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFja3tcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGJvdHRvbTowO1xuICAgIGxlZnQ6MDtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICByaWdodDowO1xuICAgIHRvcDowO1xuICAgIHotaW5kZXg6MTAwMDAwMDBcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbn1cbi5wbHlyX19hZHN7XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIGJvdHRvbTowO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIGxlZnQ6MDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MDtcbiAgICB0b3A6MDtcbiAgICB6LWluZGV4Oi0xXG59XG4ucGx5cl9fYWRzPmRpdiwucGx5cl9fYWRzPmRpdiBpZnJhbWV7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXJfX2Fkczo6YWZ0ZXJ7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDQ3LDUyLDYxLC44KTtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBib3R0b206MTBweDtcbiAgICBjb2xvcjojZmZmO1xuICAgIGNvbnRlbnQ6YXR0cihkYXRhLWJhZGdlLXRleHQpO1xuICAgIGZvbnQtc2l6ZToxMXB4O1xuICAgIHBhZGRpbmc6MnB4IDZweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjEwcHg7XG4gICAgei1pbmRleDozXG59XG4ucGx5cl9fYWRzOjphZnRlcjplbXB0eXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jdWVze1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgaGVpZ2h0OjRweDtcbiAgICBsZWZ0OjA7XG4gICAgbWFyZ2luOi0ycHggMCAwO1xuICAgIG9wYWNpdHk6Ljg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICB3aWR0aDozcHg7XG4gICAgei1pbmRleDozXG59XG4ucGx5ci0tbm8tdHJhbnNpdGlvbntcbiAgICB0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50XG59XG4ucGx5cl9fc3Itb25seXtcbiAgICBjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgYm9yZGVyOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxcHghaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O1xuICAgIHdpZHRoOjFweCFpbXBvcnRhbnRcbn1cbi5wbHlyIFtoaWRkZW5de1xuICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnRcbn1cbiIsIi5uaWV1d3NicmllZiB7XG4gICAgcGFkZGluZzogMTIwcHggMCAwO1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGljaHRrcmFudC1ob2xkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5saWNodGtyYW50IHtcbiAgICBmb250LXNpemU6IDN2dztcbiAgICBsaW5lLWhlaWdodDogNXZ3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC43MXB4O1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICBcbiAgICBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ0LjV2dztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICBcbiAgICAub3V0bGluZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkd2hpdGU7IC8qIFdpbGwgb3ZlcnJpZGUgY29sb3IgKHJlZ2FyZGxlc3Mgb2Ygb3JkZXIpICovXG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDFweDtcbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogJGdyZXk7XG4gICAgfVxuICAgIFxuICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0dnc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvbGljaHRrcmFudC1hcnJvdy5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMS4ydnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDF2dztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjJ2dztcbiAgICAgICAgICAgIHRvcDogMS43dnc7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmlldXdzYnJpZWYtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMTIwcHg7XG59XG5cbi5uaWV1d3NicmllZi1ob2xkZXIgLmZvcm0taG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDc3MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICAuZnVpLXBhZ2UtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmZ1aS1maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5mdWktYnRuLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLm5pZXV3c2JyaWVmIHtcbiAgICAgICAgcGFkZGluZzogNzVweCAwIDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC03NXB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzYnJpZWYtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5saWNodGtyYW50IHtcbiAgICAgICAgZm9udC1zaXplOiA0dnc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2dnc7XG4gICAgfVxuICAgIFxuICAgIC5saWNodGtyYW50IGxpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1Ny41dnc7XG4gICAgfVxuICAgIFxuICAgIC5saWNodGtyYW50IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1dnc7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEuNnZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjN2dztcbiAgICAgICAgICAgIHJpZ2h0OiAxLjN2dztcbiAgICAgICAgICAgIHRvcDogMi4xdnc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubGljaHRrcmFudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNnZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogOHZ3O1xuICAgIH1cbiAgICBcbiAgICAubGljaHRrcmFudCBsaSB7XG4gICAgICAgIG1heC13aWR0aDogODUuNXZ3O1xuICAgIH1cbiAgICBcbiAgICAubGljaHRrcmFudCBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHZ3O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzLjZ2dztcbiAgICAgICAgICAgIGhlaWdodDogMy4zdnc7XG4gICAgICAgICAgICByaWdodDogMS45dnc7XG4gICAgICAgICAgICB0b3A6IDIuOHZ3O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3NicmllZi1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDAgNTBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3c2JyaWVmLWhvbGRlciAuZm9ybS1ob2xkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzYnJpZWYtaG9sZGVyIC5mb3JtLWhvbGRlciAuZnVpLWJ0bi1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzYnJpZWYge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgfVxufSIsIi5mb3JtLWhvbGRlciBpbnB1dCxcbi5mb3JtLWhvbGRlciB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdGNkY4O1xuICAgIH1cbiAgICBcbn1cblxuLmZvcm0taG9sZGVyIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5mb3JtLWhvbGRlciAubGlnaHQtZ3JleSB7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uZm9ybS1ob2xkZXIgLmVycm9yIGlucHV0LCAuZm9ybS1ob2xkZXIgLmVycm9yIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG59XG5cbi8qLmZvcm0taG9sZGVyIC5saXN0IHtcbiAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG59Ki9cblxuYm9keSAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktYnRuLWNvbnRhaW5lcixcbi5mb3JtLWhvbGRlciAuZnVpLWJ0bi13cmFwcGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1sYWJlbCxcbi5mb3JtLWhvbGRlciAuZnVpLWVycm9yIC5mdWktbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1pbnB1dC5mdWktZXJyb3Ige1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1hbGVydC1lcnJvciwgLmZvcm0taG9sZGVyIC5mdWktZXJyb3ItbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZ1aS1lcnJvciAuZnVpLWlucHV0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZXJyb3Iuc3ZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICBcbiAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXJlcXVpcmVkIHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS10eXBlLWNoZWNrYm94ZXMge1xuICAgIC5mdWktbGVnZW5kIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgIFxuICAgIC5mdWktY2hlY2tib3gge1xuICAgICAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuXG4uZm9ybS1ob2xkZXIgZm9ybSAuZnVpLWZvcm0tY29udGFpbmVyIGRpdi5uaWNlLXNlbGVjdCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkZGVlcGVzdC1ibGFjaztcbn1cblxuLmZvcm0taG9sZGVyIGZvcm0gLmZ1aS1mb3JtLWNvbnRhaW5lciAuZnVpLWVycm9yIGRpdi5uaWNlLXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmVkICFpbXBvcnRhbnQ7XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgLmZvcm0taG9sZGVyIC5mdWktdHlwZS1jaGVja2JveGVzIHtcbiAgICAuZnVpLWxlZ2VuZCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIFxuICAgIC5mdWktY2hlY2tib3gge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLmZ1aS1lcnJvci5mdWktdHlwZS1kcm9wZG93biAuZnVpLWlucHV0LWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICByaWdodDogMzVweDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLWxlZ2VuZCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5mb3JtLWhvbGRlciBpbnB1dDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1yYWRpbyBpbnB1dDpjaGVja2VkK2xhYmVsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktcmFkaW8ge1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXR5cGUtcmFkaW8tYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktdHlwZS1yYWRpbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1wcm9ncmVzcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5mb3JtLWhvbGRlciBidXR0b24uYnV0dG9uLmRpc2FibGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLnJlQ2FwdGNoYVRleHRcbntcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xufVxuXG4ucmVDYXB0Y2hhVGV4dCBhXG57XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogJGdyZWVuO1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZm9ybS1ob2xkZXIgLmZvcm0taW50cm8uc21hbGwge1xuICAgIG1heC13aWR0aDogNTcwcHg7XG59XG5cbi5mb3JtLXdpZHRoLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA4NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0taG9sZGVyIC5TdHJpcGVFbGVtZW50IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCMUI4Qzc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufSIsIkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTg1MHB4KSB7XG4gICAgLmltYWdlLWhlYWRlciBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwdncgLSA3NHB4KTtcbiAgICB9XG4gICAgXG4gICAgLmltYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyOjphZnRlciB7XG4gICAgICBsZWZ0OiBjYWxjKDUwdncgLSA0MDBweCk7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICAgIGJvdHRvbTogMTUwcHg7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gICAgLnNjcm9sbGVyIHtcbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3MtaG9sZGVyIHtcbiAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgICBib3R0b206IDM1MHB4O1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLnJpZ2h0LWNvbHVtbiBpbWcge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDkwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA5MHB4KTtcbiAgICB9XG4gICAgXG4gICAgLmhvbWVwYWdlLWhlYWRlciAuZG90cy1hbmltYXRpb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAyMjlweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZS5sZWZ0IC5kb3RzLWFuaW1hdGlvbiBzdmcge1xuICAgICAgd2lkdGg6IDE5N3B4O1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4uZGV0YWlsIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAucHJvZHVjdGVuLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG4gIFxuICAucHJvZHVjdGVuLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDc1cHggMCAwOyAgXG4gIH1cbiAgXG4gIC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIFxuICAgIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE3MHB4O1xuICAgIH1cbiAgfVxuICBcbiAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyICB7XG4gICAgbGVmdDogMjBweDtcbiAgICB0b3A6IC0xMDBweDtcbiAgICBcbiAgICAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgZm9udC1zaXplOiAxNzBweDtcbiAgICB9XG4gIH1cbiAgXG4gIC5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTAwcHggMCAyMDBweDtcbiAgfVxuICBcbiAgICAubm8taW1hZ2UtaGVhZGVyLWhvbGRlci53aXRoLWlsbHVzdHJhdGlvbiAuZG90cy1hbmltYXRpb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICB9XG4gICAgXG4gIC5ob21lcGFnZS1oZWFkZXIgLmltYWdlLWhvbGRlciAuaGVhZGVyLWlsbHVzdHJhdGlvbiB7XG4gICAgICB3aWR0aDogOTAlO1xuICB9XG4gIFxuICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuZGllbnN0IC50ZXh0LWhvbGRlciAudGV4dCB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgfVxuICBcbiAgLnZpY3RhLWRpZW5zdGVuIHtcbiAgICBwYWRkaW5nOiA3NXB4IDA7XG4gIH1cbiAgXG4gIC5ob21lLXBhcnRpY2xlcyB7XG4gICAgICB3aWR0aDogOCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMjEwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLnNjcm9sbGVyIHtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5ob21lcGFnZS1oZWFkZXIgLmRvdHMtYW5pbWF0aW9uIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuaXRlbTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC51ay1zbGlkZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1wYXJ0aWNsZXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmhvbWUtcGFydGljbGVzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5sYW5kaW5nLXBhcnRpY2xlcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgLnNjcm9sbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyIC5pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuZGVtby1ob2xkZXIgLmltYWdlLWhvbGRlciBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgbWFyZ2luOiA1MHB4IC00MHB4IDAgYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAucmlnaHQtY29sdW1uIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMCA5MHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9ICAgXG4gICAgXG4gICAgLm5vLWltYWdlLWhlYWRlci1ob2xkZXIud2l0aC1pbGx1c3RyYXRpb24gLmRvdHMtYW5pbWF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLmRvdHMtYW5pbWF0aW9uIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNjBweCkge1xuICAgIC5wcm9kdWN0ZW4taGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBtYXJnaW46IDAgMCAwIDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNDBweCkge1xuICAgIC5pbWFnZS1oZWFkZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uLm5vLWltYWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uLm5vLWltYWdlOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAwcHg7XG4gIH1cbiAgXG4gIC5yaWJvbi1iYXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBcbiAgLnJpYm9uLWJhciAucmlib24taWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmhvbWVwYWdlLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNzVweCAwIDc1cHggNDBweDtcbiAgICAgIG1hcmdpbjogMCA3NXB4IDAgYXV0bztcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIgLnByb2R1Y3Rlbi1pbnRyby1ob2xkZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmhvbWVwYWdlLWN0YS1ob2xkZXIge1xuICAgICAgbWFyZ2luOiA3NXB4IDAgNzVweDtcbiAgICB9XG4gICAgXG4gICAgLmhvbWVwYWdlLWN0YS1ob2xkZXIgLmNvbHVtbiB7XG4gICAgICBwYWRkaW5nOiA0NXB4IDQwcHg7XG4gICAgfVxuICBcbiAgICAuaG9tZXBhZ2UtY3RhLWhvbGRlciAuY29sdW1uIGgyIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICAgIH1cbiAgICBcbiAgICAuZGVtby1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNzVweCAwIDA7XG4gICAgfVxuICAgIFxuICAgIC5kZW1vLWhvbGRlciBoMiB7XG4gICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICB9XG4gICAgXG4gICAgLmRlbW8taG9sZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDAgMDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNTBweCAwIDA7XG4gICAgfVxuICAgIFxuICAgIC5rbGFudGVuLWhvbGRlciB7XG4gICAgICBtYXJnaW46IDc1cHggMDtcbiAgICB9XG4gICAgXG4gICAgLmtsYW50ZW4taG9sZGVyIC5rbGFudGVuLWludHJvLWhvbGRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi12aWN0YVFsaWtIb21lcGFnZSAuY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4taGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgICB0b3A6IC03NXB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciBzdmcge1xuICAgICAgaGVpZ2h0OiAxNzBweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTMwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTU4cHg7XG4gICAgICBoZWlnaHQ6IDI3OHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgbWFyZ2luOiA1MHB4IC0xMDBweCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNjBweCk7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1oZWFkZXIge1xuICAgICAgcGFkZGluZzogNzVweCAwIDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICAgIHRvcDogLTUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciBzdmcge1xuICAgICAgaGVpZ2h0OiAxNzBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyICB7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgdG9wOiAtMjBweDtcbiAgICAgIFxuICAgICAgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiB7XG4gICAgICBwYWRkaW5nOiAwIDAgNzVweDtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24tZGllbnN0ZW4gLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDkycHg7XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgfVxuICAgIFxuICAgIHAubnItcmVzdWx0cyB7XG4gICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAucmVzdWx0YXRlbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAubm8taW1hZ2UtaGVhZGVyLWhvbGRlci53aXRoLWlsbHVzdHJhdGlvbjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgaGVpZ2h0OiAxNDlweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtaGVhZGVyIGgxLCAuY29udGFjdC1oZWFkZXIgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtaGVhZGVyIC5ibG9ra2VuLWhvbGRlciAuYmxvayBoMyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY2Rjg7XG4gICAgICBwYWRkaW5nOiA3NXB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciAuaXRlbS5vdmVyemljaHQtY3RhIC5jdGEtdGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMzVweCAwIDM1cHggMzBweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciAuaXRlbS5vdmVyemljaHQtY3RhIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIC5pdGVtIC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDI1cHggMTAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIgLml0ZW0gLnRleHQtaG9sZGVyIC50ZXh0LWJvdHRvbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICBib3R0b206IDMwcHg7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIC5pdGVtLm92ZXJ6aWNodC1jdGEgLmN0YS10ZXh0LWhvbGRlci5uby1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgMjAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAwIDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5yZXNvdXJjZXMtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1yZXNvdXJjZXNPdmVyemljaHQsIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IHtcbiAgICAgIC5uby1pbWFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC5zZWN0aW9uLXJlc291cmNlc092ZXJ6aWNodCwgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQgIHtcbiAgICAgIC5uby1pbWFnZS1oZWFkZXItaG9sZGVyLndpdGgtaWxsdXN0cmF0aW9uOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5maWx0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmhvbWVwYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyIC5oZWFkZXItaWxsdXN0cmF0aW9uIHtcbiAgICAgIHdpZHRoOiA5NSU7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3RlbiAuaW50cm8tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3RlbiAuZGllbnN0ZW4tZG90cyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyLmN1c3RvbS1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3QtbGFiZWxzLWhvbGRlciAucHJvZHVjdC1sYWJlbHMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdC1sYWJlbHMtaG9sZGVyIC5wcm9kdWN0cy10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICBcbiAgICAuaW1hZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXI6OmJlZm9yZSxcbiAgICAuaW1hZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICNpbmhvdWQge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAjaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3IgPiAuY29tcG9uZW50LWdyaWQge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB9XG4gICAgXG4gICAgLmhvbWVwYWdlLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNTBweCA0MHB4O1xuICAgICAgICBtYXJnaW46IDAgNDBweCAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4tZ3JpZC5tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWdyaWQuZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4tZ3JpZC5tb2JpbGUgPiBkaXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlci1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIFxuICAgICAgPiBkaXYge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgODBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmNvcnBvcmF0ZSAuZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIgLmxhYmVsIC5pbm5lci1sYWJlbCB7ICAgIFxuICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29ycG9yYXRlIC5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlciAubGFiZWwgLmlubmVyLWxhYmVsIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDI3cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIC5kaWVuc3Rlbi10YWJzLWlubmVyIHtcbiAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgIFxuICAgICAgLnNsaWRlci1ob2xkZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5sb2dvLXNsaWRlciAuc3F1YXJlIHtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3MtZ3JpZC1ob2xkZXIgLm5pZXV3cy1pdGVtIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY2Rjg7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTVweCAxMHB4O1xuICAgICAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgfVxuICAgIH0gXG4gICAgXG4gICAgLm5pZXV3cy1ncmlkLWhvbGRlciAuYnV0dG9uLWhvbGRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlciAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiAucHJvZHVjdCAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbS5vdmVyemljaHQtY3RhIC5pbWFnZS1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLml0ZW0ub3ZlcnppY2h0LWN0YSAudGV4dC1jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIgLml0ZW0ub3ZlcnppY2h0LWN0YSAuY3RhLXRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMzBweDtcbiAgICB9XG4gICAgXG4gICAgLnZpZGVvLXBvcHVwIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgfVxuICAgIFxuICAgIC5yaWJvbi1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnN3aXBlLWNpcmtlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlKiAxIC8gMy4wMDEpO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5kZW1vLWhvbGRlciBoMiB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgICAgdG9wOiAtODVweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgICBmb250LXNpemU6IDEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IC0xNDBweCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMTAwcHgpO1xuICAgICAgcGFkZGluZzogNDBweCAyNXB4IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3MtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCAwO1xuICAgIH1cbiAgXG4gICAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB0b3A6IC02MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWhlYWRlciAudGV4dC1ob2xkZXIucmlnaHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1oZWFkZXIgLmxvY2F0aW9uLWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb250YWluZXIsIC5sYXJnZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxuXG4gIC5uby1pbWFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMCA1MHB4O1xuICB9XG4gIFxuICAubm8taW1hZ2UtaGVhZGVyIC5pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWNvbHVtbiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1oZWFkZXIgLmltYWdlLWNvbHVtbiB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gICAgbWFyZ2luIDogMDtcbiAgfVxuXG4gIC5ob21lcGFnZS1oZWFkZXIgLnRleHQtaG9sZGVyIC50ZXh0IHtcbiAgICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtaGVhZGVyIGgxIHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICB9XG4gIFxuICAucHJvZHVjdHMtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1jdGEtaG9sZGVyID4gZGl2LCAuaG9tZXBhZ2UtY3RhLW9uZS1jb2x1bW4gPiBkaXYge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuaG9tZXBhZ2UtY3RhLWhvbGRlciB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuaG9tZXBhZ2UtY3RhLWhvbGRlciAuY29sdW1uIHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG4gIFxuICAuaG9tZXBhZ2UtY3RhLWhvbGRlcjo6YmVmb3JlLCAuaG9tZXBhZ2UtY3RhLWhvbGRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1jdGEtaG9sZGVyIC5jb2x1bW4gLmljb24taG9sZGVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDIycHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMnB4O1xuICB9XG4gIFxuICAuaG9tZXBhZ2UtY3RhLWhvbGRlciBhLnJlYWQtbW9yZSwgLmhvbWVwYWdlLWN0YS1ob2xkZXIgc3Bhbi5yZWFkLW1vcmUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBcbiAgICA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAuZGVtby1ob2xkZXI6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIFxuICAuZGVtby1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuICB9XG4gIFxuICAuZGVtby1ob2xkZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuICBcbiAgLmRlbW8taG9sZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgfVxuICBcbiAgLmRpZW5zdGVuLWhvbGRlciB7XG4gICAgcGFkZGluZzogNzVweCAwIDA7XG4gIH1cbiAgXG4gIC5kaWVuc3Rlbi1ob2xkZXIgLmRpZW5zdGVuLWludHJvLWhvbGRlciB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gIH1cbiAgXG4gIC5rbGFudGVuLWhvbGRlciB7XG4gICAgbWFyZ2luOiA1MHB4IDA7XG4gIH1cbiAgXG4gIC5sb2dvLXNsaWRlciAuc3F1YXJlIHtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIHdpZHRoOiAxMTBweDtcbiAgfVxuICBcbiAgLmxvZ28tc2xpZGVyIC5zcXVhcmUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgbWF4LWhlaWdodDogMzBweDtcbiAgfVxuICBcbiAgLnNlY3Rpb24tdmljdGFRbGlrSG9tZXBhZ2UgLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICBcbiAgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTEwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG4gIFxuICAucG9wdXAge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cbiAgXG4gIC5wb3B1cCAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbiAgXG4gIC5wb3B1cCAudGV4dC1ob2xkZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuICBcbiAgLnBvcHVwIC50ZXh0LWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDExNHB4O1xuICB9XG4gIFxuICAucHJvZHVjdGVuLWhlYWRlciAuaW1hZ2UtY29sdW1uIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICBcbiAgLnByb2R1Y3Rlbi1oZWFkZXIgLnRleHQtY29sdW1uIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICBcbiAgLnByb2R1Y3Rlbi1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuICB9XG4gIFxuICAucHJvZHVjdGVuLWhlYWRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIFxuICAucHJvZHVjdGVuLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDc1cHggMCA1MHB4O1xuICB9XG4gIFxuICAuc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlciAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWNvbHVtbiB7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luLXRvcDogLTUwcHhcbiAgfVxuICBcbiAgLmRldGFpbC1oZWFkZXIgLmltYWdlLWNvbHVtbiB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgXG4gIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICBwYWRkaW5nOiA0MHB4IDI1cHggMzBweDtcbiAgfVxuICBcbiAgLmRldGFpbC1oZWFkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAuZGV0YWlsLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgXG4gIC5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4gLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICBsZWZ0OiAwO1xuICB9ICBcbiAgXG4gIC5uaWV1d3MtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgbGVmdDogNDA7XG4gICAgdG9wOiAtNDBweDtcbiAgfVxuICBcbiAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgZm9udC1zaXplOiA4MHB4O1xuICB9XG4gIFxuICAuZGllbnN0ZW4taGVhZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMzBweDtcbiAgfVxuICBcbiAgLmRpZW5zdGVuLWhlYWRlciAuaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbiAgXG4gIC5wcm9kdWN0cy1ob2xkZXIuZGllbnN0ZW4ge1xuICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xuICB9XG4gIFxuICAuZm9ybS1ob2xkZXIuem9lay1mb3JtIC5pbnB1dC1ob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgXG4gIC5mb3JtLWhvbGRlci56b2VrLWZvcm0gYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIFxuICB9XG4gIFxuICAuZm9ybS1ob2xkZXIuem9lay1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG4gIFxuICBwLm5yLXJlc3VsdHMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbiAgXG4gIC5yZXN1bHRhdGVuIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIFxuICAuZm9ybS1ob2xkZXIgLmZ1aS1yb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICAuc2VjdGlvbi1vcGxvc3Npbmdlbk92ZXJ6aWNodCAuZGllbnN0ZW4taGVhZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMHB4O1xuICB9XG4gIFxuICAuc2VjdGlvbi1vcGxvc3Npbmdlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5jb250YWN0LWhlYWRlciAuY29udGFjdC1pbm5lcjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAuY29udGFjdC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtaGVhZGVyIC50ZXh0LWhvbGRlci5yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIFxuICAuY29udGFjdC1oZWFkZXIgLnZlc3RpZ2luZ2VuLWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtaGVhZGVyIC5ibG9ra2VuLWhvbGRlciAuYmxvayBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgXG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLnVrLWdyaWQtbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIFxuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5yaWdodC1jb2x1bW4gaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIH1cbiAgXG4gIC5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDEyNXB4O1xuICB9XG4gIFxuICAuc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gIH1cbiAgXG4gIC5pdGVtcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xuICB9XG4gIFxuICAubG9hZC1tb3JlLWJ1dHRvbi1jb250YWluZXIuY3VzdG9tIHtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICB9XG4gIFxuICAubG9hZC1tb3JlLWJ1dHRvbi1jb250YWluZXIgLmFtb3VudC12aXNpYmxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuICBcbiAgICAuZmlsdGVyIC5jYXQtbGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5maWx0ZXIgLmNhdC1sYWJlbCBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlOm5vdCgubGVmdCkgLmRvdHMtYW5pbWF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLWtsYW50dmVyaGFsZW4gLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyLCBcbiAgICAuc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyLFxuICAgIC5zZWN0aW9uLXBhcnRuZXJzT3ZlcnppY2h0IC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlcntcbiAgICAgIG1hcmdpbjogMHB4IGF1dG8gMCBhdXRvO1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4IDMwcHggMzBweDtcbiAgICB9XG4gICAgXG4gICAgLmhlYWRlci00MDQge1xuICAgICAgcGFkZGluZzogMCAyMHB4IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5oZWFkZXItNDA0IGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gICAgXG4gICAgLnZpZGVvLXBvcHVwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweCAyMHB4O1xuICAgIH1cbiAgXG4gICAgLnZpZGVvLXBvcHVwIC5jbG9zZSB7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogNXB4O1xuICAgIH1cbiAgICBcbiAgICAubm8taW1hZ2UtaGVhZGVyIC5mb3JtLWhvbGRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmxlZnQtY29sdW1uLm5vLWltYWdlOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMThweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICB9XG4gIFxuICAgIC52aWN0YS1kaWVuc3RlbiAuaW50cm8tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3RlbiAuaW50cm8tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pbGx1c3RyYXRpb24taG9sZGVyIHtcbiAgICAgICBwYWRkaW5nOiAzMHB4IDAgMDsgXG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciwgLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIsIC5zZWN0aW9uLXBhcnRuZXJzT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogNTBweCAwIDE4MHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5kaWVuc3QgLmltYWdlLWhvbGRlciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gLTQ1cHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5kaWVuc3QgLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDY1cHggMjBweCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuZGllbnN0IC50ZXh0LWhvbGRlciAuc3RlcC1ob2xkZXIge1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5kaWVuc3QgLnRleHQtaG9sZGVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuLmRldGFpbCAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4uZGV0YWlsIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiA0NiU7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIuY3VzdG9tLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4uY3VzdG9tLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdC1sYWJlbHMtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/