/* start: extension/toutsurisolation/design/toutsurisolation/stylesheets/main.css */
@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, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #4A4A4A; }

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

/* Links
 ========================================================================== */
/*
 * Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  -webkit-text-decoration-skip: objects; }

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

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

a:hover,
.uk-link:hover {
  color: #666666;
  text-decoration: none; }

/* Text-level semantics
 ========================================================================== */
/*
 * 1. Remove the bottom border in Chrome 57-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  /* 1 */
  border-bottom: none;
  /* 2 */
  text-decoration: underline;
  text-decoration: underline 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: #4A4A4A;
  text-decoration: none; }

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

/*
 * 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; }

/*
 * Responsiveness
 * 1. Set a maximum width
 * 2. Auto scale the height. Only needed if `height` attribute is present
 * 2. Corrects `max-width` behavior if padding and border are used
 */
audio,
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  box-sizing: border-box; }

/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/*
 * Hide `alt` text for lazy load images
 * Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  visibility: hidden; }

/* 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 {
  margin: 0 0 20px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  color: #4A4A4A;
  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 {
  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: 960px) {
  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. Add the correct box sizing and height in Firefox.
 * 2. Show the overflow in Edge and IE.
 * 3. Add the correct text-align in Edge and IE.
 * 4. Style
 */
hr, .uk-hr {
  /* 1 */
  box-sizing: content-box;
  height: 0;
  /* 2 */
  overflow: visible;
  /* 3 */
  text-align: inherit;
  /* 4 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #c5c5c5; }

/* 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: #4A4A4A; }
  blockquote footer::before {
    content: "— "; }

/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #4A4A4A;
  -moz-tab-size: 4;
  tab-size: 4;
  /* 1 */
  overflow: auto;
  padding: 10px;
  border: 1px solid #c5c5c5;
  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; }

/* Iframe
 ========================================================================== */
iframe {
  border: 0; }

/* Prevent the 300ms delay for touchscreen interactions
 ========================================================================== */
/*
 * Most browsers prevent the 300ms delay automatically for sites that use the `width=device-width` property.
 * For Safari on iOS 9.3+, IE 11 and Edge on desktops and IE 11 on Windows Phone 8.1 it must be applied manually.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

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

.var-media-m::before {
  content: "960px"; }

.var-media-l::before {
  content: "1255px"; }

.var-media-xl::before {
  content: "1600px"; }

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

a.uk-link-muted:hover,
.uk-link-muted a:hover {
  color: #4A4A4A; }

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

a.uk-link-text:hover,
.uk-link-text a:hover {
  color: #666666; }

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

a.uk-link-heading:hover,
.uk-link-heading a:hover {
  color: #ffe602;
  text-decoration: none; }

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

/* ========================================================================
   Component: Heading
 ========================================================================== */
/* Primary
 ========================================================================== */
.uk-heading-primary {
  font-size: 3rem;
  line-height: 1.2; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-heading-primary {
    font-size: 3.375rem; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .uk-heading-primary {
    font-size: 3.75rem;
    line-height: 1.1; } }

/* Hero
 ========================================================================== */
.uk-heading-hero {
  font-size: 4rem;
  line-height: 1.1; }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-heading-hero {
    font-size: 6rem;
    line-height: 1; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .uk-heading-hero {
    font-size: 8rem;
    line-height: 1; } }

/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: 10px;
  border-bottom: 1px solid #c5c5c5; }

/* 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: 0.9em;
  margin-right: 10px;
  border-left: 5px solid #c5c5c5; }

/* 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% - (1px / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: 1px solid #c5c5c5; }

.uk-heading-line > ::before {
  right: 100%;
  margin-right: 0.6em; }

.uk-heading-line > ::after {
  left: 100%;
  margin-left: 0.6em; }

/* ========================================================================
   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%23c5c5c5%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 #c5c5c5; }

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

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

/* Small
 ========================================================================== */
/*
 * Reset child height, caused by `inline-block`
 */
.uk-divider-small {
  line-height: 0; }

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

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

/*
 * Micro clearfix
 */
.uk-list > li::before,
.uk-list > li::after {
  content: "";
  display: table; }

.uk-list > li::after {
  clear: both; }

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

/*
 * Nested lists
 */
.uk-list ul {
  margin: 0;
  padding-left: 30px;
  list-style: none; }

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

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

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

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

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

/*
 * Bullet
 */
.uk-list-bullet > li {
  position: relative;
  padding-left: calc(1.5em + 10px); }

.uk-list-bullet > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 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%234A4A4A%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%;
  float: left; }

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

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

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

.uk-list-large.uk-list-striped > li: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 #c5c5c5; }

/* ========================================================================
   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: #666666;
  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: #666666; }

/* 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 #c5c5c5; }

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

/*
 * 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: 959px) {
  .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
 * 1. Fix for uppercase attribute names in Edge. Will be fixed in Windows 10 builds 16251+
 */
.uk-icon [fill*='#']:not(.uk-preserve),
.uk-icon [FILL*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-icon [stroke*='#']:not(.uk-preserve),
.uk-icon [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: #666666; }

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

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

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #ffe602;
  color: #666666;
  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: #e8d100;
  color: #4A4A4A;
  outline: none; }

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

/* ========================================================================
   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 #acacac; }

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

/* 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 #acacac; }

/* 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: #4A4A4A;
  border: 1px solid #c5c5c5;
  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; }

/* Focus */
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  outline: none;
  background-color: #fff;
  color: #4A4A4A;
  border-color: #ffe602; }

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

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

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

.uk-textarea:-ms-input-placeholder {
  color: #666666 !important; }

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

/* 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: #c5c5c5;
  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%234A4A4A%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%234A4A4A%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%23666666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* 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 #acacac;
  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: #ffe602; }

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

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

/*
 * 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: #c5c5c5; }

.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%23666666%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%23666666%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%23666666%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: 959px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .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: #666666; }

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

/*
 * 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. 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. 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, .green_button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 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), .green_button:not(:disabled) {
  cursor: pointer; }

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

/* Hover */
.uk-button:hover, .green_button:hover {
  /* 8 */
  text-decoration: none; }

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

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

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

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

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

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

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #ceba00;
  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: #666666;
  border-color: #c5c5c5; }

/* 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: #666666; }
  .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: #78A000; }

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

/* Disabled */
.uk-button-link:disabled {
  color: #666666;
  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 > .green_button:nth-child(n+2),
.uk-button-group > div:nth-child(n+2) .uk-button,
.uk-button-group > div:nth-child(n+2) .green_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 .green_button:hover,
.uk-button-group .uk-button:focus,
.uk-button-group .green_button:focus,
.uk-button-group .uk-button:active,
.uk-button-group .green_button:active,
.uk-button-group .uk-button.uk-active,
.uk-button-group .uk-active.green_button {
  position: relative;
  z-index: 1; }

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

/* Desktop and bigger */
@media (min-width: 960px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px; } }

/*
 * Micro clearfix
 */
.uk-section::before,
.uk-section::after {
  content: "";
  display: table; }

.uk-section::after {
  clear: both; }

/*
 * 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: 960px) {
  .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: 960px) {
  .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: #ffe602; }

/*
 * 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 {
  box-sizing: content-box;
  /* 1 */
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px; } }

/*
 * Micro clearfix
 */
.uk-container::before,
.uk-container::after {
  content: "";
  display: table; }

.uk-container::after {
  clear: both; }

/*
 * 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: 1600px; }

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

/* ========================================================================
   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: 1255px) {
  /* 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 {
  margin-left: -15px; }

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

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

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

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

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

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

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

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

/* Desktop and bigger */
@media (min-width: 1255px) {
  /* Horizontal */
  .uk-grid-large {
    margin-left: -70px; }
  .uk-grid-large > * {
    padding-left: 70px; }
  /* Vertical */
  .uk-grid + .uk-grid-large,
  .uk-grid-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 70px; } }

/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse {
  margin-left: 0; }

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

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid-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 #c5c5c5; }

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

/*
 * 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: 1255px) {
  /* 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 {
  margin-left: -30px; }

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

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

/* Vertical */
.uk-grid-divider.uk-grid-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; }

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

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

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

/* Vertical */
.uk-grid-divider.uk-grid-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; }

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

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

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

/* Vertical */
.uk-grid-divider.uk-grid-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; }

/* Desktop and bigger */
@media (min-width: 1255px) {
  /* Horizontal */
  .uk-grid-divider.uk-grid-large {
    margin-left: -140px; }
  .uk-grid-divider.uk-grid-large > * {
    padding-left: 140px; }
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before {
    left: 70px; }
  /* Vertical */
  .uk-grid-divider.uk-grid-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; } }

/* 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: Tile
 ========================================================================== */
.uk-tile {
  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: 640px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px; } }

/*
 * Micro clearfix
 */
.uk-tile::before,
.uk-tile::after {
  content: "";
  display: table; }

.uk-tile::after {
  clear: both; }

/*
 * 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: 960px) {
  .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: 960px) {
  .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: #ffe602; }

/*
 * 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 {
  padding: 30px 30px; }

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

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

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

/*
 * Micro clearfix
 */
.uk-card-body::before,
.uk-card-body::after,
.uk-card-header::before,
.uk-card-header::after,
.uk-card-footer::before,
.uk-card-footer::after {
  content: "";
  display: table; }

.uk-card-body::after,
.uk-card-header::after,
.uk-card-footer::after {
  clear: both; }

/*
 * 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
 ========================================================================== */
.uk-card-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 1; }

/*
 * 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: #4A4A4A;
  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 #c5c5c5; }

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

/*
 * Primary
 */
.uk-card-primary {
  background: #ffe602;
  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: #ffe602;
  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: 1255px) {
  .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: 1255px) {
  .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: 1255px) {
  .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: #666666;
  transition: 0.1s ease-in-out;
  transition-property: color, opacity; }

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

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

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

/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round; }

@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: #666666;
  transition: color 0.1s ease-in-out; }

/* Hover + Focus */
.uk-totop:hover,
.uk-totop:focus {
  color: #4A4A4A;
  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: #4A4A4A; }

/* 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: lemonchiffon;
  color: #ffe602; }

/*
 * 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: 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: #ffe602;
  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: #ffe602;
  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
 ========================================================================== */
/*
 * Micro clearfix
 */
.uk-article::before,
.uk-article::after {
  content: "";
  display: table; }

.uk-article::after {
  clear: both; }

/*
 * 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: 960px) {
  .uk-article-title {
    font-size: 2.625rem; } }

/* Meta
 ========================================================================== */
.uk-article-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #666666; }
  .uk-article-meta a {
    color: #666666; }
  .uk-article-meta a:hover {
    color: #4A4A4A;
    text-decoration: none; }

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

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

/*
 * Micro clearfix
 */
.uk-comment-body::before,
.uk-comment-body::after,
.uk-comment-header::before,
.uk-comment-header::after {
  content: "";
  display: table; }

.uk-comment-body::after,
.uk-comment-header::after {
  clear: both; }

/*
 * 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: #666666; }

/* 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: 960px) {
  .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: #4A4A4A; }

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

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

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

/* 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: #666666; }

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

/*
 * 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 #c5c5c5; }

/* 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: 1.6rem; }

/*
 * 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: #666666; }

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

/* ========================================================================
   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%234A4A4A%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%234A4A4A%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: #666666; }

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

/* 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 #c5c5c5; }

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

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

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

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

/* 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 #c5c5c5; }

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

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

/* 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. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 3. Fix text wrapping if the centered section is larger than 50% of the navbar
 * 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 */
  z-index: 990; }

/* 3 */
.uk-navbar-center:not(:only-child) .uk-navbar-nav > li > a,
.uk-navbar-center:not(:only-child) .uk-navbar-item,
.uk-navbar-center:not(:only-child) .uk-navbar-toggle {
  white-space: nowrap; }

/* 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-'] .uk-navbar-nav > li > a,
[class*='uk-navbar-center-'] .uk-navbar-item,
[class*='uk-navbar-center-'] .uk-navbar-toggle {
  white-space: nowrap; }

/* 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;
  height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* 4 */
  text-decoration: none; }

/*
 * Nav items
 */
.uk-navbar-nav > li > a {
  color: #000;
  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: #4A4A4A;
  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: #4A4A4A; }

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

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

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

/* 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: 300px;
  /* 4 */
  padding: 25px;
  background: #ffe602;
  color: #4A4A4A;
  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: 600px; }

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

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

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

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

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

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

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

/* 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 #c5c5c5; }

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

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

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

/*
 * 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 #c5c5c5; }

/* 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 #c5c5c5; }

/* ========================================================================
   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: #666666;
  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: #4A4A4A;
  text-decoration: none;
  outline: none; }

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

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

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid #c5c5c5; }

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

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

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

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

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

/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 */
.uk-breadcrumb {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  padding: 0;
  list-style: none; }

/*
 * Space is allocated solely based on content dimensions: 0 0 auto
 */
.uk-breadcrumb > * {
  flex: none; }

/* Items
 ========================================================================== */
.uk-breadcrumb > * > * {
  display: inline-block;
  font-size: 0.875rem;
  color: #666666; }

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

/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > * {
  color: #4A4A4A; }

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  margin: 0 20px;
  color: #666666; }

/* ========================================================================
   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: -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-pagination > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 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 */
  color: #666666;
  transition: color 0.1s ease-in-out; }

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

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

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

/* ========================================================================
   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 #c5c5c5; }

/*
 * 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: #666666;
  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: #4A4A4A;
  text-decoration: none; }

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

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

/* 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 #c5c5c5;
  border-bottom: none; }

.uk-tab-right::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-left: 1px solid #c5c5c5;
  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(74, 74, 74, 0.5);
  transition: color 0.1s ease-in-out; }

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

/* OnClick */
.uk-slidenav:active {
  color: rgba(74, 74, 74, 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(74, 74, 74, 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(74, 74, 74, 0.6);
  outline: none;
  border-color: transparent; }

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

/* Active */
.uk-dotnav > .uk-active > * {
  background-color: rgba(74, 74, 74, 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: 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::after {
    content: "";
    width: 1.4em;
    height: 1.4em;
    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%234A4A4A%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%234A4A4A%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::after {
    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%234A4A4A%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: #4A4A4A;
  text-decoration: none;
  outline: none; }

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

/*
 * Micro clearfix
 */
.uk-accordion-content::before,
.uk-accordion-content::after {
  content: "";
  display: table; }

.uk-accordion-content::after {
  clear: both; }

/*
 * 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: #4A4A4A;
  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: #666666; }

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

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

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

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

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

/* 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: 640px) {
  .uk-modal {
    padding: 50px 30px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .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 {
  padding: 30px 30px; }

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

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

/*
 * Micro clearfix
 */
.uk-modal-body::before,
.uk-modal-body::after,
.uk-modal-header::before,
.uk-modal-header::after,
.uk-modal-footer::before,
.uk-modal-footer::after {
  content: "";
  display: table; }

.uk-modal-body::after,
.uk-modal-header::after,
.uk-modal-footer::after {
  clear: both; }

/*
 * 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: 960px) {
  /* 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: 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
 */
.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; }

/*
 * 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
 */
.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; }

.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
 */
.uk-lightbox-button:hover {
  color: #fff; }

/* Caption
 ========================================================================== */
/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%; }

/* ========================================================================
   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
 */
.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; }

/*
 * 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
 ========================================================================== */
/*
 * 1. Clip child elements
 */
.uk-slider-container {
  /* 1 */
  overflow: hidden; }

/* 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)
 * 2. Create position context
 * 3. Disable horizontal panning gestures in IE11 and Edge
 */
.uk-slider-items > * {
  /* 1 */
  flex: none;
  /* 2 */
  position: relative;
  /* 3 */
  touch-action: pan-y; }

/* ========================================================================
   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-'] {
  animation-duration: 0.2s; }

.uk-sticky.uk-animation-reverse {
  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
 * 4. Transform
 */
.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  transform: translateX(-100%); }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-offcanvas-bar {
    width: 350px;
    padding: 40px 40px; } }

/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: 0;
  transform: translateX(100%); }

/*
 * Open
 */
.uk-open > .uk-offcanvas-bar {
  transform: translateX(0); }

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

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset transform
 */
.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 */
  transform: translateX(0); }

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

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .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; }

/* Container
 ========================================================================== */
/*
 * 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; }

/*
 * Prevent all scrollbars if overlay is used
 */
.uk-offcanvas-container-overlay {
  overflow: hidden; }

/* Content
 ========================================================================== */
/*
 * 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
 * Note: JS sets a fixed width and height so the page can slide-out without shrinking
 * 1. Smooth scrolling
 */
.uk-offcanvas-container .uk-offcanvas-content {
  position: relative;
  left: 0;
  transition: left 0.3s ease-out;
  /* 1 */
  -webkit-overflow-scrolling: touch; }

/* Disable scrolling if overlay mode */
.uk-offcanvas-overlay .uk-offcanvas-content {
  overflow-y: hidden; }

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

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

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  :not(.uk-offcanvas-flip) > .uk-offcanvas-content-animation {
    left: 350px; }
  .uk-offcanvas-flip > .uk-offcanvas-content-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 */
.var-leader-fill::before {
  content: "."; }

/* ========================================================================
   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; }

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-iconnav > * {
  /* 1 */
  flex: none;
  /* 2 */
  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: #666666; }

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

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

/* 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: 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: 639px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0; } }

/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  margin-bottom: 10px;
  padding: 15px;
  background: #f8f8f8;
  color: #4A4A4A;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer; }

/* 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: #ffe602; }

/*
 * 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. Dimensions
 * 4. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 4 */
  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: Placeholder
 ========================================================================== */
.uk-placeholder {
  margin-bottom: 20px;
  padding: 30px 30px;
  background: transparent;
  border: 1px dashed #c5c5c5; }

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

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

/* ========================================================================
   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: #ffe602;
  transition: width 0.6s ease; }

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

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

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

/*
 * Deactivate browser touch actions in IE11 and Edge
 */
.uk-sortable > * {
  touch-action: none; }

/*
 * Deactivate pointer-events on SVGs in Safari
 */
.uk-sortable svg {
  pointer-events: none; }

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

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

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

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

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

/* ========================================================================
   Component: Countdown
 ========================================================================== */
/* Item
 ========================================================================== */
/*
 * 1. Center numbers and separators vertically
 */
.uk-countdown-number,
.uk-countdown-separator {
  /* 1 */
  line-height: 70px; }

/* Number
 ========================================================================== */
.uk-countdown-number {
  font-size: 2rem; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-countdown-number {
    font-size: 4rem; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-countdown-number {
    font-size: 6rem; } }

/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-countdown-separator {
    font-size: 2rem; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-countdown-separator {
    font-size: 3rem; } }

/* Label
 ========================================================================== */
/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*='uk-animation-'] {
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: both; }

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  animation-timing-function: ease-in; }

/* Animations for scrollspy
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  animation-name: uk-fade;
  animation-duration: 0.8s;
  animation-timing-function: linear; }

/*
 * Scale
 */
.uk-animation-scale-up {
  animation-name: uk-fade-scale-02; }

.uk-animation-scale-down {
  animation-name: uk-fade-scale-18; }

/*
 * Slide
 */
.uk-animation-slide-top {
  animation-name: uk-fade-top; }

.uk-animation-slide-bottom {
  animation-name: uk-fade-bottom; }

.uk-animation-slide-left {
  animation-name: uk-fade-left; }

.uk-animation-slide-right {
  animation-name: uk-fade-right; }

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  animation-name: uk-fade-top-small; }

.uk-animation-slide-bottom-small {
  animation-name: uk-fade-bottom-small; }

.uk-animation-slide-left-small {
  animation-name: uk-fade-left-small; }

.uk-animation-slide-right-small {
  animation-name: uk-fade-right-small; }

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  animation-name: uk-fade-top-medium; }

.uk-animation-slide-bottom-medium {
  animation-name: uk-fade-bottom-medium; }

.uk-animation-slide-left-medium {
  animation-name: uk-fade-left-medium; }

.uk-animation-slide-right-medium {
  animation-name: uk-fade-right-medium; }

/*
 * Kenburns
 */
.uk-animation-kenburns {
  animation-name: uk-scale-kenburns;
  animation-duration: 15s; }

/*
 * Shake
 */
.uk-animation-shake {
  animation-name: uk-shake; }

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  animation-duration: 0.1s; }

/* Enable animation only on hover
========================================================================== */
/*
 * Note: Firefox and IE needs this because animations are not triggered when switching between display `none` and `block`
 */
.uk-animation-toggle:not(:hover):not(.uk-hover) [class*='uk-animation-'] {
  animation-name: none; }

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/*
 * Slide Top
 */
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Bottom
 */
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Left
 */
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Right
 */
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Top Small
 */
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Bottom Small
 */
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Left Small
 */
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Right Small
 */
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Top Medium
 */
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Bottom Medium
 */
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*
 * Slide Left Medium
 */
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Slide Right Medium
 */
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

/*
 * Scale Up
 */
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2); }
  100% {
    opacity: 1;
    transform: scale(1); } }

/*
 * Scale Down
 */
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8); }
  100% {
    opacity: 1;
    transform: scale(1); } }

/*
 * Kenburns
 */
@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.2); } }

/*
 * Shake
 */
@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); } }

/* ========================================================================
   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; }

/*
 *    Instead of 0, 1px is needed to make cell wrap into next row if predecessor is 100% wide
 *    and the grid gutter is 0 pixels wide
 */
.uk-child-width-expand > * {
  width: 1px; }

/*
 * 1. Make `width: 1px` work, because according to the spec flex items won’t shrink
 *    below their minimum content size. To change this, set the min-width.
 *    Only needed for Firefox. All other browsers ignore this.
 *
 * 2. `width` is ignored when wrapping flex items in Safari
 *    https://github.com/philipwalton/flexbugs#11-min-and-max-size-declarations-are-ignored-when-wrapping-flex-items
 */
.uk-child-width-expand > :not([class*='uk-width']) {
  flex: 1;
  /* 1 */
  min-width: 0;
  /* 2 */
  flex-basis: 1px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .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 > * {
    width: 1px; }
  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    flex: 1;
    min-width: 0;
    flex-basis: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .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 > * {
    width: 1px; }
  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    flex: 1;
    min-width: 0;
    flex-basis: 1px; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .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 > * {
    width: 1px; }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    flex: 1;
    min-width: 0;
    flex-basis: 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 > * {
    width: 1px; }
  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    flex: 1;
    min-width: 0;
    flex-basis: 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-xxlarge {
  width: 750px; }

/* Auto */
.uk-width-auto {
  width: auto; }

/* Expand */
.uk-width-expand {
  width: 1px;
  flex: 1;
  min-width: 0;
  flex-basis: 1px; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  /* 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-xxlarge\@s {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@s {
    width: auto; }
  /* Expand */
  .uk-width-expand\@s {
    width: 1px;
    flex: 1;
    min-width: 0;
    flex-basis: 1px; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  /* 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-xxlarge\@m {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@m {
    width: auto; }
  /* Expand */
  .uk-width-expand\@m {
    width: 1px;
    flex: 1;
    min-width: 0;
    flex-basis: 1px; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  /* 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-xxlarge\@l {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@l {
    width: auto; }
  /* Expand */
  .uk-width-expand\@l {
    width: 1px;
    flex: 1;
    min-width: 0;
    flex-basis: 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-xxlarge\@xl {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto; }
  /* Expand */
  .uk-width-expand\@xl {
    width: 1px;
    flex: 1;
    min-width: 0;
    flex-basis: 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: 22px;
  line-height: 1.5;
  color: #333; }

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #666666; }
  .uk-text-meta a {
    color: #666666; }
  .uk-text-meta a:hover {
    color: #4A4A4A;
    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; }

/* Weight modifier
 ========================================================================== */
.uk-text-bold {
  font-weight: bolder; }

/* Transform modifier
 ========================================================================== */
.uk-text-uppercase {
  text-transform: uppercase !important; }

.uk-text-capitalize {
  text-transform: capitalize !important; }

.uk-text-lowercase {
  text-transform: lowercase !important; }

/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #666666 !important; }

.uk-text-primary {
  color: #000 !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;
  -webkit-text-fill-color: transparent;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #ffe602 !important; }

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #ffe602; } }

/* 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: 640px) {
  .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: 960px) {
  .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: 1255px) {
  .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-'] {
  column-gap: 30px; }

/* Desktop and bigger */
@media (min-width: 1255px) {
  [class*='uk-column-'] {
    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 {
  column-rule: 1px solid #c5c5c5;
  /* 1 */
  column-gap: 60px; }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .uk-column-divider {
    column-gap: 80px; } }

/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  column-count: 2; }

.uk-column-1-3 {
  column-count: 3; }

.uk-column-1-4 {
  column-count: 4; }

.uk-column-1-5 {
  column-count: 5; }

.uk-column-1-6 {
  column-count: 6; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-column-1-2\@s {
    column-count: 2; }
  .uk-column-1-3\@s {
    column-count: 3; }
  .uk-column-1-4\@s {
    column-count: 4; }
  .uk-column-1-5\@s {
    column-count: 5; }
  .uk-column-1-6\@s {
    column-count: 6; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-column-1-2\@m {
    column-count: 2; }
  .uk-column-1-3\@m {
    column-count: 3; }
  .uk-column-1-4\@m {
    column-count: 4; }
  .uk-column-1-5\@m {
    column-count: 5; }
  .uk-column-1-6\@m {
    column-count: 6; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .uk-column-1-2\@l {
    column-count: 2; }
  .uk-column-1-3\@l {
    column-count: 3; }
  .uk-column-1-4\@l {
    column-count: 4; }
  .uk-column-1-5\@l {
    column-count: 5; }
  .uk-column-1-6\@l {
    column-count: 6; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    column-count: 2; }
  .uk-column-1-3\@xl {
    column-count: 3; }
  .uk-column-1-4\@xl {
    column-count: 4; }
  .uk-column-1-5\@xl {
    column-count: 5; }
  .uk-column-1-6\@xl {
    column-count: 6; } }

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  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: #ffe602; }

.uk-background-secondary {
  background-color: #222; }

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain {
  background-position: 50% 50%;
  background-repeat: no-repeat; }

.uk-background-cover {
  background-size: cover; }

.uk-background-contain {
  background-size: contain; }

/* 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 */
  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: 639px) {
  .uk-background-image\@s {
    background-image: none !important; } }

/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-background-image\@m {
    background-image: none !important; } }

/* Tablet landscape and smaller */
@media (max-width: 1254px) {
  .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: 640px) {
  .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: 960px) {
  .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: 1255px) {
  .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
 * 3. Fix for uppercase attribute names in Edge. Will be fixed in Windows 10 builds 16251+
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve),
.uk-svg:not(.uk-preserve) [FILL*='#']:not(.uk-preserve) {
  fill: currentcolor; }

.uk-svg:not(.uk-preserve) [stroke*='#']:not(.uk-preserve),
.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 {
  position: relative;
  box-sizing: border-box; }

/*
 * Micro clearfix
 */
.uk-panel::before,
.uk-panel::after {
  content: "";
  display: table; }

.uk-panel::after {
  clear: both; }

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

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #c5c5c5;
  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 audio,
.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-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, sans-serif;
  color: #4A4A4A;
  /* 1 */
  text-decoration: none; }

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #4A4A4A;
  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: 640px) {
  .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: 960px) {
  .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: 1255px) {
  .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: 640px) {
  .uk-flex-first\@s {
    order: -1; }
  .uk-flex-last\@s {
    order: 99; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-first\@m {
    order: -1; }
  .uk-flex-last\@m {
    order: 99; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .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: 1255px) {
  .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: 1255px) {
  .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; } }

/* 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 + * {
  margin-top: 0 !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; }

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

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

/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px; }

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 30px; }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .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
 ========================================================================== */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important; }

/* 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 (Not working in Firefox)
 * 2. Fix text wrapping for Firefox
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-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: max-content; }

.uk-position-center-right-out {
  left: 100%;
  width: max-content; }

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  transform: translateX(-50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-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 {
  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 {
  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 {
  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: 1255px) {
  .uk-position-large {
    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
 ========================================================================== */
/*
 * Using multiple selectors to exclude `uk-transition-toggle`
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`
 *       Just put the transition in an extra `div`
 */
.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter; }

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

/*
 * Fade
 */
.uk-transition-fade {
  opacity: 0; }

/* Show */
.uk-transition-toggle:hover [class*='uk-transition-fade'],
.uk-transition-toggle.uk-hover [class*='uk-transition-fade'],
.uk-transition-toggle:focus [class*='uk-transition-fade'],
.uk-transition-active.uk-active [class*='uk-transition-fade'] {
  opacity: 1; }

/*
 * Scale
 * Note: Using `scale3d` for better image rendering
 */
[class*='uk-transition-scale'] {
  opacity: 0; }

.uk-transition-scale-up {
  transform: scale3d(1, 1, 1); }

.uk-transition-scale-down {
  transform: scale3d(1.1, 1.1, 1); }

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle.uk-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: scale3d(1.1, 1.1, 1); }

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle.uk-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: scale3d(1, 1, 1); }

/*
 * Slide
 */
[class*='uk-transition-slide'] {
  opacity: 0; }

.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.uk-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: translateX(0) translateY(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: 640px) {
  .uk-hidden\@s {
    display: none !important; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-hidden\@m {
    display: none !important; } }

/* Desktop and bigger */
@media (min-width: 1255px) {
  .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: 639px) {
  .uk-visible\@s {
    display: none !important; } }

/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-visible\@m {
    display: none !important; } }

/* Tablet landscape and smaller */
@media (max-width: 1254px) {
  .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; }

/* Hover
 ========================================================================== */
/*
 * Hidden
 * Can't use `display: hidden` because it's not focusable. This is accessible through keyboard.
 */
.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-hidden-hover:not(:focus) {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important; }

/*
 * Invisible
 * Can't use `visibility: hidden` because it's not focusable. This is accessible through keyboard.
 */
.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-invisible-hover:not(:focus) {
  opacity: 0 !important; }

/* 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 {
    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 {
    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 {
    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 {
    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 {
    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-list-divider > li:nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-overlay-primary .uk-list-divider > li:nth-child(n+2), .uk-offcanvas-bar .uk-list-divider > li:nth-child(n+2) {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-list-striped > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > li:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > li: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 > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > li:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > li:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.1); }
  .uk-light .uk-list-bullet > li::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-card-primary.uk-card-body .uk-list-bullet > li::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-card-secondary.uk-card-body .uk-list-bullet > li::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-overlay-primary .uk-list-bullet > li::before, .uk-offcanvas-bar .uk-list-bullet > li::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-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:-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) !important; }
  .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:-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) !important; }
  .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-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%234A4A4A%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%234A4A4A%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%234A4A4A%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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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: #4A4A4A; }
  .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::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-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-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: #4A4A4A; }
  .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::after, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::after, .uk-card-primary.uk-card-body .uk-accordion-title::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title::after, .uk-card-secondary.uk-card-body .uk-accordion-title::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title::after, .uk-overlay-primary .uk-accordion-title::after, .uk-offcanvas-bar .uk-accordion-title::after {
    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::after, .uk-section-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-section-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after, .uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::after, .uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::after, .uk-overlay-primary .uk-open > .uk-accordion-title::after, .uk-offcanvas-bar .uk-open > .uk-accordion-title::after {
    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-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: rgba(255, 255, 255, 0.7) !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 {
    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; } }

@media screen and (max-width: 639px) {
  a,
  .uk-link {
    word-wrap: break-word; } }

.justify--flex-end {
  justify-content: flex-end; }

.tm-header__logo {
  padding: 0; }
  .tm-header__logo h1 {
    margin: 0;
    font-size: inherit; }

.tm-header__logo + .uk-navbar-subtitle {
  padding-left: 10px; }

.tm-header__topnav {
  border-bottom: 3px solid #ffe602; }

.tm-header__logo:hover {
  text-decoration: none; }

.tm-header__icon {
  padding: 0 0 0 2px; }

.uk-navbar-sticky {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.dropdown-header span {
  border-bottom: 3px solid #ffe602;
  display: inline-block;
  font-weight: bold;
  padding-bottom: 3px; }

.landing h1 {
  font-size: 4rem;
  margin-top: 65px;
  margin-bottom: 65px; }

.landing h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.25rem; }

.landing p {
  font-size: 1.25rem; }

.landing td {
  vertical-align: middle !important; }

.uk-icon-button--large {
  width: 48px;
  height: 48px; }

.uk-nav-parent-icon > .uk-parent:not(.uk-open) > a::after {
  transform: rotate(180deg); }

ul,
ol {
  list-style-position: inside; }

.slider-only {
  display: none; }

.uk-slider .slider-only {
  display: block; }

.uk-hr-secondary {
  border-color: #ffe602;
  border-width: 4px; }

.uk-anchors:not(.uk-sticky-fixed),
.uk-anchors.uk-sticky-fixed .uk-navbar-left {
  overflow-x: auto; }

.uk-navbar-container.uk-anchors-sticky {
  z-index: 100;
  background-color: #fff; }

.uk-anchors li {
  display: block;
  margin: 10px 0; }

.uk-anchors li.uk-active {
  position: relative; }

.uk-anchors li.uk-active a {
  color: #4A4A4A;
  font-weight: bold; }

.uk-anchors li.uk-active:before {
  content: "";
  display: block;
  position: absolute;
  width: 4px;
  height: 100%;
  right: 100%;
  top: 0;
  margin-right: 10px;
  background-color: #ffe602; }

.uk-anchors li:not(.uk-active) a {
  color: #999999; }

.uk-anchors .uk-icon {
  display: none; }

.uk-anchors.uk-sticky-fixed {
  z-index: 979;
  transform: translateY(50px); }

@media screen and (max-width: 1254px) {
  .uk-anchors {
    top: 0 !important;
    width: 100% !important;
    left: 0 !important;
    background-color: #ffe602;
    height: 0;
    padding: 0;
    position: relative; }
  .uk-anchors.uk-sticky-fixed {
    height: auto;
    padding: 8px 35px 8px 8px; }
  .uk-anchors ul {
    margin: 0;
    padding: 5px 10px; }
  .uk-anchors li.uk-active:before {
    background-color: #4A4A4A; }
  .uk-anchors li {
    margin: 10px 0;
    line-height: normal; }
  .uk-anchors.uk-sticky-fixed {
    transform: translateY(0); }
  .uk-anchors.uk-sticky-fixed li.uk-active a:before {
    background-color: #4A4A4A; }
  .uk-anchors:not(.open) li:not(.uk-active) {
    display: none; }
  .uk-anchors:not(.open) li.uk-active + .uk-open {
    display: none !important; }
  .uk-anchors li a {
    font-size: 14px; }
  .uk-anchors.uk-sticky-fixed .uk-icon {
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%); } }

.sidebar-right {
  z-index: 300; }

.uk-comment-header {
  background-color: #f8f8f8;
  padding: 5px 10px !important; }

.uk-comment.is-moderator .uk-comment-header {
  background-color: #ffe602;
  margin-bottom: 10px !important; }

.glossary-letters {
  padding: 30px; }

.glossary-letters a {
  background: #ffe602;
  transition: all .2s ease-out;
  font-weight: bold; }
  .glossary-letters a:hover {
    box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
    transform: translateY(-6px); }

@media screen and (min-width: 1255px) {
  .uk-accordion-title:after {
    display: none; } }

@media screen and (max-width: 1254px) {
  .uk-accordion-title {
    background-color: #ffe602;
    padding: 15px; } }

/* okayNav styles */
body.okayNav-loaded {
  overflow-x: hidden; }

.okayNav:not(.loaded) {
  visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.okayNav ul {
  /* We want two navigations - one hidden and one visible */
  float: left; }

.okayNav a {
  /* Links general styling */
  color: #2e2e33;
  font-size: 0.875rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
  text-transform: uppercase; }

.okayNav__nav--visible {
  overflow: hidden;
  white-space: nowrap; }

.okayNav__nav--visible li {
  display: inline-block; }

.okayNav__nav--visible a {
  /* Link styling for the visible part of the nav */
  display: block;
  transition: color 200ms cubic-bezier(0.55, 0, 0.1, 1);
  padding: 15px 15px; }

.okayNav__nav--visible a:hover {
  color: #546edb; }

/* Link styling for the off-screen part of the nav */
.okayNav__nav--invisible {
  position: fixed;
  top: 60px;
  bottom: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  background: #fff; }

.okayNav__nav--invisible a {
  background: #fff;
  width: 240px;
  display: block;
  padding: 15px; }

.okayNav__nav--invisible.nav-left {
  left: 0;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%); }

.okayNav__nav--invisible.nav-right {
  right: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%); }

.okayNav__nav--invisible.transition-enabled {
  transition: -webkit-transform 400ms cubic-bezier(0.55, 0, 0.1, 1);
  transition: transform 400ms cubic-bezier(0.55, 0, 0.1, 1);
  transition: transform 400ms cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 400ms cubic-bezier(0.55, 0, 0.1, 1); }

.okayNav__nav--invisible.nav-open {
  -webkit-transform: translateX(0);
  transform: translateX(0); }

/* Kebab icon */
.okayNav__menu-toggle {
  position: relative;
  transition: -webkit-transform 400ms cubic-bezier(0.55, 0, 0.1, 1);
  transition: transform 400ms cubic-bezier(0.55, 0, 0.1, 1);
  transition: transform 400ms cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 400ms cubic-bezier(0.55, 0, 0.1, 1);
  cursor: pointer;
  width: 40px;
  height: 20px;
  float: left;
  z-index: 1; }

.okayNav__menu-toggle.okay-invisible {
  position: absolute;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none; }

.okayNav__menu-toggle span {
  display: block;
  position: absolute;
  margin: auto;
  height: 4px;
  width: 4px;
  background: #2e2e33;
  border-radius: 50%;
  left: 0;
  right: 0;
  pointer-events: none; }

.okayNav__menu-toggle span:nth-child(1) {
  top: 0; }

.okayNav__menu-toggle span:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.okayNav__menu-toggle span:nth-child(3) {
  bottom: 0; }

.okayNav__menu-toggle.icon--active {
  /* Kebab icon when off-screen nav is open */
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

.okayNav__menu-toggle.icon--active span {
  background: #4A4A4A; }

.okayNav__nav--invisible li {
  display: block; }

.tm-navbar-container .uk-navbar-nav > li > a::before {
  content: '';
  display: block;
  position: absolute;
  left: 15px;
  right: calc(102% - 15px);
  bottom: 20px;
  height: 1px;
  background-color: currentColor;
  transition: .3s ease-in-out;
  transition-property: right; }

.tm-navbar-container .uk-navbar-nav > li > a:hover::before,
.tm-navbar-container .uk-navbar-nav > li.uk-active > a::before {
  right: 15px; }

.tm-navbar-container .uk-navbar-nav > li > a {
  position: relative; }

.tm-header__topnav {
  background: #F8F8F8;
  padding-left: 15px;
  padding-right: 15px; }
  .tm-header__topnav.uk-active {
    box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }
  .tm-header__topnav .uk-navbar-nav > li > a {
    padding: 0 6px; }

.uk-navbar.uk-anchors {
  position: static; }

.uk-navbar-nav > li > a {
  -webkit-justify-content: normal;
  justify-content: normal; }

@media screen and (max-width: 639px) {
  .uk-anchors .uk-navbar-nav > li > a:not(.uk-icon) {
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; } }

.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
  color: #000; }

.boundary-align [class*='uk-drop-bottom'] {
  margin-top: 0; }

.boundary-align .uk-navbar-dropdown {
  background: #f5f5f5; }

.icon-submenu--container {
  position: relative; }

.icon-submenu {
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%); }

.inc-navbar_moreList {
  position: relative;
  padding-bottom: 31px; }

.inc-navbar_moreList-pdLeft {
  padding-left: 50px; }

.uk-offcanvas-bar {
  width: 100%;
  background: rgba(0, 0, 0, 0.9); }

.uk-offcanvas-bar .uk-nav-primary > li.uk-parent {
  border-bottom: 1px solid #999999; }

.uk-offcanvas-bar .uk-nav-primary > li.uk-active > a {
  color: #ffe602; }

.uk-offcanvas-bar .uk-nav-primary > li.uk-parent > a {
  color: #fff;
  padding: 10px 0; }

.drilldown {
  overflow: hidden; }

.drilldown-sub {
  display: none; }

.uk-nav .drilldown-container .uk-nav-sub {
  padding: 5px 0 5px 0px; }

.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub.drilldown-root a {
  color: #fff; }

.uk-nav-divider a {
  padding-top: 5px; }

.drilldown-back {
  text-align: right;
  border-bottom: 1px solid #ffe602 !important;
  position: relative;
  margin-bottom: 30px; }

.drilldown-back a {
  color: #ffe602 !important; }

.drilldown-back .uk-icon {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  color: #ffe602; }

.menu-link-icon {
  display: block;
  text-align: center; }

.menu-link-icon span.uk-icon {
  display: block; }

.inc-bottom-canvas {
  position: absolute;
  width: 100%;
  box-sizing: border-box;
  bottom: 0; }

.offcanvas .tm-header__logo img {
  max-width: 230px; }

.offcanvas .uk-navbar-subtitle {
  font-size: 0.625rem; }

.inc-padding-medium {
  padding: 20px; }

.inc-container-center {
  margin: 0 auto; }

.inc-position-right-bottom-screen {
  position: fixed;
  bottom: 15px;
  right: 15px;
  width: 50px;
  height: 50px; }
  .inc-position-right-bottom-screen:before {
    content: "";
    background: #666666;
    border-radius: 100%;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    z-index: 1;
    transition: background opacity 0.5s ease; }
  .inc-position-right-bottom-screen svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; }

.uk-slider .uk-slider-relative {
  position: relative; }

@media screen and (min-width: 1254px) {
  .inc-position-right-bottom-screen:hover {
    color: #fff; }
    .inc-position-right-bottom-screen:hover:before {
      background: #000;
      opacity: 1; } }

.uk-card-body * + h2,
.uk-card-body * + h3,
.uk-card-body * + h4,
.uk-card-body * + h5,
.uk-card-body * + h6 {
  margin: 0;
  margin-bottom: 10px; }

.green_button {
  background-color: #9ed300;
  color: #fff;
  font-weight: bold;
  text-transform: none; }

@media screen and (max-width: 1254px) {
  .landing td {
    display: block;
    width: 100%;
    text-align: center; } }

.text--slim {
  font-weight: lighter; }

.uk-text-lead {
  font-weight: 300;
  color: #666666; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYXNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL3ZhcmlhYmxlcy10aGVtZS5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9taXhpbnMtdGhlbWUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saW5rLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaGVhZGluZy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2RpdmlkZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9taXhpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xpc3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kZXNjcmlwdGlvbi1saXN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFibGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pY29uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS1yYW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NlY3Rpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9ncmlkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGlsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jbG9zZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmtlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL292ZXJsYXkuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29tbWVudC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NlYXJjaC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25hdi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25hdmJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N1Ym5hdi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFiLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVuYXYuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kb3RuYXYuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90aHVtYm5hdi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Auc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21vZGFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xlYWRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb25uYXYuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NvcnRhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY291bnRkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvd2lkdGguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWlnaHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY292ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWxpZ24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdmcuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy91dGlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmdpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BhZGRpbmcuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy92aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3ByaW50LnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJjb21wb25lbnRzL19hbGlnbi5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19pY29uLnNjc3MiLCJjb21wb25lbnRzL19saXN0LnNjc3MiLCJjb21wb25lbnRzL19kaXZpZGVyLnNjc3MiLCJjb21wb25lbnRzL19hbmNob3JiYXIuc2NzcyIsImNvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvX2NvbW1lbnRzLnNjc3MiLCJjb21wb25lbnRzL19nbG9zc2FyeS5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19va2F5bmF2LnNjc3MiLCJjb21wb25lbnRzL19uYXZiYXIuc2NzcyIsImNvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwiY29tcG9uZW50cy9fcGFkZGluZy5zY3NzIiwiY29tcG9uZW50cy9fZ3JpZHV0aWxzLnNjc3MiLCJjb21wb25lbnRzL19wb3NpdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fbGFuZGluZy5zY3NzIiwiaGVscGVycy9fdGV4dC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFrRkE7OzhFQUU4RTtBQUU5RTs7Ozs7R0FLRztBQUVILElBQUksQ0FBQztFQUNELE9BQU87RUFDUCxXQUFXLEVDaEJNLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxVQUFVO0VEaUIzRyxTQUFTLEVDZE0sSUFBSTtFRGVuQixXQUFXLEVDaEJTLE1BQU07RURpQjFCLFdBQVcsRUNkTSxHQUFHO0VEZXBCLE9BQU87RUFDUCx3QkFBd0IsRUFBRSxJQUFJO0VBQzlCLE9BQU87RUFDUCxVQUFVLEVDMUNNLElBQUk7RUQyQ3BCLEtBQUssRUVwR00sT0FBTyxHRnNHckI7O0FBRUQ7O0dBRUc7QUFFSCxJQUFJLENBQUM7RUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFJOztBQUdwQjs4RUFDOEU7QUFFOUU7O0dBRUc7QUFFSCxDQUFDLENBQUM7RUFBRSw0QkFBNEIsRUFBRSxPQUFPLEdBQUk7O0FBRTdDOztHQUVHO0FBRUgsQ0FBQyxPQUFPO0FBQ1IsQ0FBQyxNQUFNLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFJOztBQUUzQjs7R0FFRztBQUVILENBQUM7QUFDRCxRQUFRLENBQUM7RUFDTCxLQUFLLEVFbklXLE9BQU87RUZvSXZCLGVBQWUsRUU5SFMsSUFBSTtFRitINUIsTUFBTSxFQUFFLE9BQU8sR0FFbEI7O0FBRUQsQ0FBQyxNQUFNO0FBQ1AsUUFBUSxNQUFNLENBQUM7RUFDWCxLQUFLLEVFNUlZLE9BQU87RUY2SXhCLGVBQWUsRUVySWUsSUFBSSxHRnVJckM7O0FBR0Q7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STtJQUNYLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQ0xMLFdBQVcsQ0FBQztFQUNWLFdBQVcsRUFBRSxPQUFPLEdBQ3JCOztBbEMwQ0QsYUFBYSxDa0N4Q0M7RUFDWixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEU5RkZjLE9BQU8sRzhGRzNCIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTmFtZTogICAgICAgICAgICBCYXNlXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmF1bHQgdmFsdWVzIGZvciBIVE1MIGVsZW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWgxYCwgYHVrLWgyYCwgYHVrLWgzYCwgYHVrLWg0YCwgYHVrLWg1YCwgYHVrLWg2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaHJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7IC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ7IH1cblxuLypcbiAqIDEuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBTdHlsZVxuICovXG5cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkYmFzZS1jb2RlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtY29kZSgpO31cbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5cbmVtIHsgY29sb3I6ICRiYXNlLWVtLWNvbG9yOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWlucy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1pbnMtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLW1hcmstYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtbWFyay1jb2xvcjtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cblxucSB7IGZvbnQtc3R5bGU6ICRiYXNlLXF1b3RlLWZvbnQtc3R5bGU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHsgZm9udC1zaXplOiAkYmFzZS1zbWFsbC1mb250LXNpemU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGhcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDIuIENvcnJlY3RzIGBtYXgtd2lkdGhgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogSGlkZSBgYWx0YCB0ZXh0IGZvciBsYXp5IGxvYWQgaW1hZ2VzXG4gKiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cblxuaW1nOm5vdChbc3JjXSkgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNYXJnaW5zXG4gKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7IG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHsgbWFyZ2luLXRvcDogJGJhc2UtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhlYWRpbmcoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2IHsgbWFyZ2luLXRvcDogJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5cbmgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDEoKTt9XG59XG5cbmgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDIoKTt9XG59XG5cbmgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMy1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWJhc2UtaDMoKTt9XG59XG5cbmg0LCAudWstaDQge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDQoKTt9XG59XG5cbmg1LCAudWstaDUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDUoKTt9XG59XG5cbmg2LCAudWstaDYge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDYoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgaDEsIC51ay1oMSB7IGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW07IH1cbiAgICBoMiwgLnVrLWgyIHsgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG51bCxcbm9sIHsgcGFkZGluZy1sZWZ0OiAkYmFzZS1saXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xuXG51bCA+IGxpID4gdWwsXG51bCA+IGxpID4gb2wsXG5vbCA+IGxpID4gb2wsXG5vbCA+IGxpID4gdWwgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmR0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGFuZCBoZWlnaHQgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICogMy4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiA0LiBTdHlsZVxuICovXG5cbmhyLCAudWstaHIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDMgKi9cbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCB9XG5cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDtcbiAgICBmb250LXN0eWxlOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7IG1hcmdpbi10b3A6ICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1haW4geyAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaWZyYW1lIHsgYm9yZGVyOiAwOyB9XG5cblxuLyogUHJldmVudCB0aGUgMzAwbXMgZGVsYXkgZm9yIHRvdWNoc2NyZWVuIGludGVyYWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNb3N0IGJyb3dzZXJzIHByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGF1dG9tYXRpY2FsbHkgZm9yIHNpdGVzIHRoYXQgdXNlIHRoZSBgd2lkdGg9ZGV2aWNlLXdpZHRoYCBwcm9wZXJ0eS5cbiAqIEZvciBTYWZhcmkgb24gaU9TIDkuMyssIElFIDExIGFuZCBFZGdlIG9uIGRlc2t0b3BzIGFuZCBJRSAxMSBvbiBXaW5kb3dzIFBob25lIDguMSBpdCBtdXN0IGJlIGFwcGxpZWQgbWFudWFsbHkuXG4gKi9cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHsgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnZhci1tZWRpYS1zOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtc21hbGx9JzsgfVxuLnZhci1tZWRpYS1tOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbWVkaXVtfSc7IH1cbi52YXItbWVkaWEtbDo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi52YXItbWVkaWEteGw6OmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXhsYXJnZX0nOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIiRnbG9iYWwtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb2xvcjogIzY2NiAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogMTVweCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogIzMyZDI5NiAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAjZmFhMDVhICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogI2YwNTA2ZSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ndXR0ZXI6IDQwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246IDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1tYXJnaW46IDcwcHggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteHhsYXJnZS1mb250LXNpemU6IDIuNjI1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMyMjIgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhZGdlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtdG9wOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWd1dHRlcjogNzBweCAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvdW50ZG93bi1pdGVtLWxpbmUtaGVpZ2h0OiA3MHB4ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06IDNyZW0gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtd2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICRmb3JtLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogNHB4ICFkZWZhdWx0O1xuJGZvcm0tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0td2lkdGgteHNtYWxsOiA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6IDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6IDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdpZHRoOiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogMy43NXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjc1ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LXRvcDogdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogMC45ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogMC42ZW0gIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWlnaHQtc21hbGwtaGVpZ2h0OiAxNTBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbWVkaXVtLWhlaWdodDogMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogNDUwcHggIWRlZmF1bHQ7XG4kaWNvbi1pbWFnZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGljb24tbGluay1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1zaXplOiAzNnB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICcuJyAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGlnaHRib3gtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogIzAwMCAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tc2l6ZTogNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaGVpZ2h0OiAkbGlzdC1idWxsZXQtd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46IDE0MHB4ICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4teHNtYWxsOiAxMDBweCAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi1zbWFsbDogMjAwcHggIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4tbWVkaXVtOiAzMDBweCAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi1sYXJnZTogNDAwcHggIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4teGxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi14eGxhcmdlOiA2MDBweCAhZGVmYXVsdDtcbiRncmlkLWdhcC1zbWFsbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1nYXAtbWVkaXVtOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWdhcC1sYXJnZTogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAoJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tYm90dG9tOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aDogMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246IDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6IDUwcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAwICFkZWZhdWx0O1xuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogNTBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXNpemU6IDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6IDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6IGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0O1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAxLjRzICFkZWZhdWx0O1xuJHN0aWNreS16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtbGVhZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGVhZC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtc21hbGwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtYm9sZC1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJHRleHQtbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRvb2x0aXAtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiR0b3RvcC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2NhbGU6IDEuMSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAwLjdzICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJhZ292ZXItYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtOiA5NjBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kd2lkdGgtc21hbGwtd2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6IDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgteHhsYXJnZS13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IDAuNCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1ob3Zlci1vcGFjaXR5OiAwLjggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXByZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMjAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDMwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXI6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLDAsMCwwLjE1KSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWJvcmRlcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtYm9yZGVyOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXItc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRsYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtcGFkZGluZzogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLDAsMCwwLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1ib3gtc2hhZG93OiAwIDVweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA1KSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYi1pdGVtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuNCkgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDsiLCIkY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmxhY2s6ICMwMDA7XG5cbiRnbG9iYWwtY29sb3I6ICM0QTRBNEE7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAjNjY2NjY2O1xuJGdsb2JhbC1saW5rLWNvbG9yOiAjNzhBMDAwO1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yO1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjZmZlNjAyO1xuLy8kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICM2NjY7XG5cbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiRicmVha3BvaW50LWxhcmdlOiAxMjU1cHggIWRlZmF1bHQ7XG5cbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAyMnB4O1xuXG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAkY29sb3ItYmxhY2s7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICM3OEEwMDA7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWNvbG9yO1xuXG5cbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IDMwMDtcblxuLy8kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3I7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemU7XG4vLyRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkdGV4dC1zZWNvbmRhcnktY29sb3I7XG4vLyRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvcjtcblxuJG5hdmJhci1kcm9wZG93bi13aWR0aDogMzAwcHg7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6IC43NXJlbTtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6IDEuMXJlbTtcbiRuYXZiYXItY29sb3I6ICNGOEY4Rjg7XG4kbmF2YmFyLXN1Ym1lbnUtY29sb3I6ICNmNWY1ZjU7XG5cbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcbiRpY29uLWJ1dHRvbi1zaXplLWxhcmdlOiA0OHB4O1xuXG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICRnbG9iYWwtY29sb3I7XG5cbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAxLjZyZW07XG5cbiRnbG9iYWwtYm9yZGVyOiAjYzVjNWM1O1xuJGdsb2JhbC1tdXRlZC1jb2xvci1saWdodGVyOiAjOTk5OTk5OyIsIkBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBoZWlnaHQ6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG5cbiAgICAudWstb3BlbiA+ICY6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTsgfVxuXG59XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKXtcblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxuICAgIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cblxuICAgIC51ay1hbGVydCBoMSxcbiAgICAudWstYWxlcnQgaDIsXG4gICAgLnVrLWFsZXJ0IGgzLFxuICAgIC51ay1hbGVydCBoNCxcbiAgICAudWstYWxlcnQgaDUsXG4gICAgLnVrLWFsZXJ0IGg2IHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCl7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSAge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hcnRpY2xlLW1ldGEgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlcixcbiAgICAudWstYmFkZ2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbkBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhc2UtY29kZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbCAkYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2RlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBDb2RlXG4gICAgLy9cblxuICAgIDpub3QocHJlKSA+IGNvZGUsXG4gICAgOm5vdChwcmUpID4ga2JkLFxuICAgIDpub3QocHJlKSA+IHNhbXAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEVtcGhhc2l6ZVxuICAgIC8vXG5cbiAgICBlbSB7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWVtLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEhlYWRpbmdzXG4gICAgLy9cblxuICAgIGgxLCAudWstaDEsXG4gICAgaDIsIC51ay1oMixcbiAgICBoMywgLnVrLWgzLFxuICAgIGg0LCAudWstaDQsXG4gICAgaDUsIC51ay1oNSxcbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKTt9XG4gICAgfVxuXG4gICAgaDEsIC51ay1oMSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDEoKTt9XG4gICAgfVxuXG4gICAgaDIsIC51ay1oMiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDIoKTt9XG4gICAgfVxuXG4gICAgaDMsIC51ay1oMyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDMoKTt9XG4gICAgfVxuXG4gICAgaDQsIC51ay1oNCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDQoKTt9XG4gICAgfVxuXG4gICAgaDUsIC51ay1oNSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDUoKTt9XG4gICAgfVxuXG4gICAgaDYsIC51ay1oNiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaDYpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaDYoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCbG9ja3F1b3Rlc1xuICAgIC8vXG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKTt9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSBmb290ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gSG9yaXpvbnRhbCBydWxlc1xuICAgIC8vXG5cbiAgICBociwgLnVrLWhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtYmFzZS1oci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaHIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpe1xuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cblxuICAgIC51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24oKXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLWRlZmF1bHQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLXRleHQtYm9yZGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2Utb3V0O1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXtcblxuICAgICY6OmJlZm9yZSB7IHJpZ2h0OiAwOyB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXtcblxuICAgIC8qIEdyb3VwXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIENvbGxhcHNlIGJvcmRlclxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCA+IC51ay1idXR0b246bnRoLWNoaWxkKG4rMiksXG4gICAgLnVrLWJ1dHRvbi1ncm91cCA+IGRpdjpudGgtY2hpbGQobisyKSAudWstYnV0dG9uIHsgbWFyZ2luLWxlZnQ6ICgtJGJ1dHRvbi1ib3JkZXItd2lkdGgpOyB9XG5cbiAgICAvKlxuICAgICAqIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIHN1cGVyaW1wb3NlIHRoZSBzdWNjZXNzb3IgZWxlbWVudHMgYm9yZGVyXG4gICAgICogS25vd24gaXNzdWU6IElmIHlvdSB1c2UgYW4gYGFgIGVsZW1lbnQgYXMgYnV0dG9uIGFuZCBhbiBpY29uIGluc2lkZSxcbiAgICAgKiB0aGUgYWN0aXZlIHN0YXRlIHdpbGwgbm90IHdvcmsgaWYgeW91IGNsaWNrIHRoZSBpY29uIGluc2lkZSB0aGUgYnV0dG9uXG4gICAgICogV29ya2Fyb3VuZDogSnVzdCB1c2UgYSBgYnV0dG9uYCBvciBgaW5wdXRgIGVsZW1lbnQgYXMgYnV0dG9uXG4gICAgICovXG5cbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmZvY3VzLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXtcbiAgICAmOjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDpob3ZlcixcbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAgIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBTZWNvbmRhcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUZXh0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tdGV4dDpob3ZlcixcbiAgICAudWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuICAgIC51ay1idXR0b24tbGluazpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjsgfVxuXG5cbn1cbkBtaXhpbiBob29rLWNhcmQoKXsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpeyBib3JkZXItdG9wOiAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGggIHNvbGlkICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBEZWZhdWx0XG4gICAgICovXG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbCk7XG4gICAgICAgIH1cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNtYWxsXG4gICAgICovXG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbiAgICAvKlxuICAgICAqIExhcmdlXG4gICAgICovXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbjogMDsgfVxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHsgbWFyZ2luOiAwOyB9XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2xvc2UoKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xufVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyLFxuICAgIC51ay1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKXtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7IGNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7XG4gICAgcGFkZGluZzogJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXtcbiAgICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fVxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3LCAkcHJvcGVydHk6IGJhY2tncm91bmQtaW1hZ2Upe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICAjeyRwcm9wZXJ0eX06IHVucXVvdGUoJHJlcGxhY2Utc3JjKTtcbn1cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKXtcblxuICAgIC51ay1kaXZpZGVyLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuICAgIC51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1kb3RuYXYoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe1xuICAgIGJvcmRlcjogJGRvdG5hdi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCAkZG90bmF2LWl0ZW0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7IGJvcmRlci1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSk7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpe1xuXG4gICAgLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bigpeyBib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7IGZvbnQtc2l6ZTogJGRyb3Bkb3duLW5hdi1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2stZmxleC1taXNjKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZSgpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKXsgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7IGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpeyBib3JkZXItY29sb3I6ICRmb3JtLWRhbmdlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tc3VjY2VzcygpeyBib3JkZXItY29sb3I6ICRmb3JtLXN1Y2Nlc3MtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGU6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXtcbiAgICBib3JkZXI6ICRmb3JtLXJhZGlvLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYWRpby1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xufVxuQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpeyBjb2xvcjogJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpe1xuXG4gICAgLnVrLWlucHV0LFxuICAgIC51ay1zZWxlY3QsXG4gICAgLnVrLXRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybSgpO31cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yO1xuICAgICAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1mb2N1cygpO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUGxhY2Vob2xkZXJcbiAgICAvL1xuXG4gICAgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstcmFkaW8sXG4gICAgLnVrLWNoZWNrYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC51ay1yYWRpbzpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbiAgICAvLyBMYWJlbFxuICAgIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLWZvcm0taWNvbiB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24tY29sb3I7IH1cbiAgICAudWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCl7XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6aG92ZXIsXG4gICAgLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAgIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCdXR0b25cbiAgICAvL1xuXG4gICAgLnVrLWljb24tYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAgIC51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlcixcbiAgICAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpe1xuXG4gICAgYS51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLW11dGVkIGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZCgpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gICAgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay10ZXh0OmhvdmVyLFxuICAgIC51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAgIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpe1xuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay10YWIgPiAqID4gYTpmb2N1c3tcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKXtcblxuICAgIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gICAgLnVrLWRyb3BjYXAgcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kcm9wY2FwKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28oKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ286aG92ZXIsXG4gICAgLnVrLWxvZ286Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nby1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZSgpe1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbGFiZWwtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbkBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxlYWRlcigpe1xuXG4gICAgLnVrLWxlYWRlci1maWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sZWFkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saWdodGJveCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbkBtaXhpbiBob29rLWxpbmstbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpeyBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXsgYm94LXNoYWRvdzogbm9uZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogTmF2YmFyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstbmF2YmFyLWNvbnRhaW5lciA+IC51ay1jb250YWluZXIgLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuICAgIC8qXG4gICAgICogR3JpZCBEaXZpZGVyXG4gICAgICovXG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAoJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsIC8gMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWwgLyAyKTtcbiAgICAgICAgbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlcigpe31cbkBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7XG4gICAgZm9udC1zaXplOiAkc3VibmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe1xuICAgIGJvcmRlci10b3A6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbWlzYygpe1xuXG4gICAgLnVrLXRhYiAudWstZHJvcGRvd24geyBtYXJnaW4tbGVmdDogKCR0YWItbWFyZ2luLWhvcml6b250YWwgKyAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKSB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLXRhYi1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbkBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe1xuXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyIHsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCl7XG5cbiAgICAudWstdGFibGUgdGgge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbiAgICAudWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuICAgIC51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJHRleHQtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe1xuICAgICY6OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGh1bWJuYXYoKXtcblxuICAgIC51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe1xuICAgIC8vIFByZXZlbnQgbGluZSB3cmFwXG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExpbmtcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaW5rc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmstbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLWhlYWRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXJlc2V0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlua1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogTXV0ZWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay1tdXRlZCBhIHtcbiAgICBjb2xvcjogJGxpbmstbXV0ZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1saW5rLW11dGVkKCk7fVxufVxuXG5hLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4udWstbGluay1tdXRlZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLW11dGVkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstdGV4dDpub3QoOmhvdmVyKSxcbi51ay1saW5rLXRleHQgYTpub3QoOmhvdmVyKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dCkpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dCgpO31cbn1cblxuYS51ay1saW5rLXRleHQ6aG92ZXIsXG4udWstbGluay10ZXh0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQtaG92ZXIoKTt9XG59XG5cblxuLyogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1oZWFkaW5nOm5vdCg6aG92ZXIpLFxuLnVrLWxpbmstaGVhZGluZyBhOm5vdCg6aG92ZXIpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nKCk7fVxufVxuXG5hLnVrLWxpbmstaGVhZGluZzpob3Zlcixcbi51ay1saW5rLWhlYWRpbmcgYTpob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCk7fVxufVxuXG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuXG5hLnVrLWxpbmstcmVzZXQsXG5hLnVrLWxpbmstcmVzZXQ6aG92ZXIsXG4udWstbGluay1yZXNldCBhLFxuLnVrLWxpbmstcmVzZXQgYTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1yZXNldCkpIHtAaW5jbHVkZSBob29rLWxpbmstcmVzZXQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1taXNjKSkge0BpbmNsdWRlIGhvb2stbGluay1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMy43NXJlbSAhZGVmYXVsdDsgIC8vIDYwcHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0OyAvLyA1NHB4XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0OyAvLyA0OHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgLy8gMTI4cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7IC8vIDk2cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDsgLy8gNjRweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWJ1bGxldC10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMC45ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgIDAuNmVtICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQcmltYXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1wcmltYXJ5KCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLXByaW1hcnkgeyBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW07IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDtcbiAgICB9XG5cbn1cblxuXG4vKiBIZXJvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1oZXJvKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW07XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sO1xuICAgIH1cblxufVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRoZWFkaW5nLWJ1bGxldC10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgaGVpZ2h0OiAkaGVhZGluZy1idWxsZXQtaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDtcbiAgICBib3JkZXItbGVmdDogJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctYnVsbGV0KCk7fVxufVxuXG5cbi8qIExpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoI3skaGVhZGluZy1saW5lLXRvcH0gLSAoI3skaGVhZGluZy1saW5lLWhlaWdodH0gLyAyKSknKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRoZWFkaW5nLWxpbmUtd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEaXZpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGl2aWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kaXZpZGVyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXZpZGVyLXNtYWxsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRpdmlkZXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuXG4kZGl2aWRlci1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgZGVmYXVsdCBgaHJgXG4gKiAyLiBTZXQgbWFyZ2luIGlmIGEgYGRpdmAgaXMgdXNlZCBmb3Igc2VtYW50aWNhbCByZWFzb25cbiAqL1xuXG5bY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgW2NsYXNzKj0ndWstZGl2aWRlciddIHsgbWFyZ2luLXRvcDogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLWljb24taGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbigpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGRpdmlkZXItaWNvbi1saW5lLXRvcDtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICBib3JkZXItYm90dG9tOiAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gICAgcmlnaHQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGNoaWxkIGhlaWdodCwgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgXG4gKi9cblxuLnVrLWRpdmlkZXItc21hbGwgeyBsaW5lLWhlaWdodDogMDsgfVxuXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU1ZHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHJlcGxhY2Utc3JjLCBcIiNcIiwgXCIlMjNcIik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHF1b3RlKCRyZXBsYWNlLXNyYykpO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1saXN0LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtYnVsbGV0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlzdC1idWxsZXQtd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstbGlzdCA+IGxpOjpiZWZvcmUsXG4udWstbGlzdCA+IGxpOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWxpc3QgPiBsaSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogTmVzdGVkIGxpc3RzXG4gKi9cblxuLnVrLWxpc3QgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsaXN0LW5lc3RlZC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuLnVrLWxpc3QgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0ID4gbGkgPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LW1hcmdpbi10b3A7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWxpc3QtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1zdHJpcGVkID4gbGkge1xuICAgIHBhZGRpbmc6ICRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stbGlzdC1zdHJpcGVkKCk7fVxufVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQ6ICRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBCdWxsZXRcbiAqL1xuXG4udWstbGlzdC1idWxsZXQgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZSgnY2FsYygjeyRsaXN0LWJ1bGxldC13aWR0aH0gKyAjeyRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHR9KScpO1xufVxuXG4udWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJGxpc3QtYnVsbGV0LXdpZHRoO1xuICAgIGhlaWdodDogJGxpc3QtYnVsbGV0LWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWxpc3QtYnVsbGV0KCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1sYXJnZSA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiBsaSA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgcGFkZGluZzogJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEZXNjcmlwdGlvbiBsaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRlcm1cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0IHtcbiAgICBjb2xvcjogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCk7fVxufVxuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZGQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5lXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlciA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aCBzb2xpZCAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0YWJsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWJsZS1taWRkbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1qdXN0aWZ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc2hyaW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXJlc3BvbnNpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUgeyBtYXJnaW4tdG9wOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUgdGgge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1oZWFkZXItY2VsbCgpO31cbn1cblxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2VsbCgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEZvb3RlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0Zm9vdCB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jYXB0aW9uKCk7fVxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbi51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc3RyaXBlZCgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBBY3RpdmUgc3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpO31cbn1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc21hbGwoKTt9XG59XG5cbi51ay10YWJsZS1sYXJnZSB0aCxcbi51ay10YWJsZS1sYXJnZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbGFyZ2UoKTt9XG59XG5cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblxuLyogQ2VsbCBzaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNocmluayB7IHdpZHRoOiAxcHg7IH1cbi51ay10YWJsZS1leHBhbmQgeyBtaW4td2lkdGg6ICR0YWJsZS1leHBhbmQtbWluLXdpZHRoOyB9XG5cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG5cbi51ay10YWJsZS1saW5rIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay10YWJsZS1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEgeyBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLXRvcDogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLWJvdHRvbTogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBJY29uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWljb24taW1hZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWJ1dHRvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbi1pbWFnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cblxuLnVrLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKiAxLiBGaXggZm9yIHVwcGVyY2FzZSBhdHRyaWJ1dGUgbmFtZXMgaW4gRWRnZS4gV2lsbCBiZSBmaXhlZCBpbiBXaW5kb3dzIDEwIGJ1aWxkcyAxNjI1MStcbiAqL1xuXG4udWstaWNvbiBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1pY29uIFtGSUxMKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9IC8vIDFcbi51ay1pY29uIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstaWNvbiBbU1RST0tFKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH0gLy8gMVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm0gUmFuZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0aGUgcmFuZ2UgaW5wdXQgdHlwZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXJhbmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMikgKiAtMSk7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogVHJhY2tcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLyogMSAqL1xuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogICAgICAgICAgIDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiAgICAgIDdweCAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG4udWstdGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5cbi8qXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYWRpbzpub3QoOmRpc2FibGVkKSxcbi51ay1jaGVja2JveDpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbi51ay1maWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtKSkge0BpbmNsdWRlIGhvb2stZm9ybSgpO31cbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1oZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXNpbmdsZS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpO31cbn1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW11bHRpLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW11bHRpLWxpbmUoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWZvY3VzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1mb2N1cygpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbi51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstZm9ybS1zbWFsbCB7IGZvbnQtc2l6ZTogJGZvcm0tc21hbGwtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstZm9ybS1sYXJnZSB7IGZvbnQtc2l6ZTogJGZvcm0tbGFyZ2UtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1saW5lLWhlaWdodDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXJyb3JcbiAqL1xuXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kYW5nZXIoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMgIHtcbiAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogQmxhbmtcbiAqL1xuXG4udWstZm9ybS1ibGFuayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuaykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmsoKTt9XG59XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmstZm9jdXMoKTt9XG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cblxuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgteHNtYWxsOyB9XG5cbnNlbGVjdC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAoJGZvcm0td2lkdGgteHNtYWxsICsgMjVweCk7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgtc21hbGw7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHsgd2lkdGg6ICRmb3JtLXdpZHRoLW1lZGl1bTsgfVxuXG4udWstZm9ybS13aWR0aC1sYXJnZSB7IHdpZHRoOiAkZm9ybS13aWR0aC1sYXJnZTsgfVxuXG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqIDQuIFNldCBgY29sb3JgIGZvciBvcHRpb25zIGluIHRoZSBzZWxlY3QgZHJvcGRvd24sIGJlY2F1c2UgdGhlIGluaGVyaXRlZCBgY29sb3JgIG1pZ2h0IGJlIHRvbyBsaWdodC5cbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogNCAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgb3B0aW9uIHsgY29sb3I6ICRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvKCk7fVxufVxuXG4udWstcmFkaW8geyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCdXR0b25cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBidXR0b25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnV0dG9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWJ1dHRvbi1ncm91cGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1idXR0b24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxhcmdlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidXR0b24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tdGV4dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCdXR0b25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gUmVtb3ZlIGJvcmRlci1yYWRpdXMgaW4gQ2hyb21lLlxuICogNC4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDUuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA2LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDcuIFN0eWxlXG4gKiA4LiBgbGluZS1oZWlnaHRgIGlzIHVzZWQgdG8gY3JlYXRlIGEgaGVpZ2h0IGJlY2F1c2UgaXQgYWxzbyBjZW50ZXJzIHRoZSB0ZXh0IHZlcnRpY2FsbHkgZm9yIGBhYCBlbGVtZW50cy5cbiAqICAgIEJldHRlciB3b3VsZCBiZSB0byB1c2UgaGVpZ2h0IGFuZCBmbGV4Ym94IHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGJ1dCBmbGV4Ym94IGRvZXNuJ3Qgd29yayBpbiBGaXJlZm94IG9uIGBidXR0b25gIGVsZW1lbnRzLlxuICogOS4gQWxpZ24gdGV4dCBpZiBidXR0b24gaGFzIGEgd2lkdGhcbiAqIDEwLiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1idXR0b24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA4ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAxMCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uKCk7fVxufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbjpob3ZlciB7XG4gICAgLyogOCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWZvY3VzKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3Zlcixcbi51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3Zlcixcbi51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zbWFsbCgpO31cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGFyZ2UoKTt9XG59XG5cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIExpbmtcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tbGluayB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluay1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1saW5rKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWxpbms6aG92ZXIsXG4udWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbnQgY2hpbGQgZWxlbWVudHNcbiAqIDIuIEJlaGF2ZSBsaWtlIGJ1dHRvblxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuXG4udWstYnV0dG9uLWdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbWlzYykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fVxuIiwiLmdyZWVuX2J1dHRvbiB7XG5cdEBleHRlbmQgLnVrLWJ1dHRvbjtcblx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZ2xvYmFsLWxpbmstY29sb3IsIDEwJSk7XG5cdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn0iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlY3Rpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIGxheW91dCBzZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VjdGlvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zZWN0aW9uLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW92ZXJsYXBgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cblxuLnVrLXNlY3Rpb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbikpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24oKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstc2VjdGlvbjo6YmVmb3JlLFxuLnVrLXNlY3Rpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstc2VjdGlvbjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXByaW1hcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbnRhaW5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gYWxpZ24gYW5kIGNlbnRlciB5b3VyIHNpdGUgYW5kIGdyaWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb250YWluZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY29udGFpbmVyOjpiZWZvcmUsXG4udWstY29udGFpbmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNvbnRhaW5lcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG5cbi51ay1jb250YWluZXIgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb250YWluZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbnRhaW5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEdyaWRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSByZXNwb25zaXZlLCBmbHVpZCBhbmQgbmVzdGFibGUgZ3JpZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ncmlkYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWdyaWQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWNvbGxhcHNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXRjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1jb2xsYXBzZWBcbi8vXG4vLyBTdWItbW9kaWZpZXI6ICAgIGB1ay1ncmlkLWl0ZW0tbWF0Y2hgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBjZWxscyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cblxuLnVrLWdyaWQgPiAqIHsgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAgIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0geyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBDb2xsYXBzZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1ncmlkLWNvbGxhcHNlID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbC1sKTtcbiAgICAgICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMS4gV3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGgsIGF0IGxlYXN0IDEwMCUuIE9ubHkgaWYgbm8gY2xhc3MgZnJvbSB0aGUgV2lkdGggY29tcG9uZW50IGlzIHNldC5cbiAqIDMuIEV4cGFuZCB3aWR0aCBldmVuIGlmIGxhcmdlciB0aGFuIDEwMCUsIGUuZy4gYmVjYXVzZSBvZiBuZWdhdGl2ZSBtYXJnaW4gKE5lZWRlZCBmb3IgbmVzdGVkIGdyaWRzKVxuICovXG5cbi51ay1ncmlkLW1hdGNoID4gKixcbi51ay1ncmlkLWl0ZW0tbWF0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVrLWdyaWQtbWF0Y2ggPiAqID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgZmxleDogYXV0bztcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ncmlkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRpbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aWxlZCBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRpbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGlsZS14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUteGxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc2Vjb25kYXJ5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGlsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUpKSB7QGluY2x1ZGUgaG9vay10aWxlKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay10aWxlOjpiZWZvcmUsXG4udWstdGlsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay10aWxlOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay10aWxlLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXRpbGUtc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstdGlsZS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUtbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUteGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXRpbGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay10aWxlLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay10aWxlLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW11dGVkKSkge0BpbmNsdWRlIGhvb2stdGlsZS1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1zZWNvbmRhcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aWxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENhcmRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBib3hlZCBjb250ZW50IGNvbnRhaW5lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jYXJkYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNhcmQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLW1lZGlhLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1iYWRnZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jYXJkLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1sYXJnZWBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY2FyZC1iYWRnZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXJkLWJhZGdlLXRvcCAhZGVmYXVsdDtcblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcblxuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2FyZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZCkpIHtAaW5jbHVkZSBob29rLWNhcmQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYm9keSgpO31cbn1cblxuLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1mb290ZXIoKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNhcmQtYm9keTo6YmVmb3JlLFxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmJlZm9yZSxcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jYXJkLWJvZHk6OmFmdGVyLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNhcmQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBNZWRpYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNlcnZlZCBhbGlnbm1lbnQgbW9kaWZpZXIgdG8gc3R5bGUgdGhlIG1lZGlhIGVsZW1lbnQsIGUuZy4gd2l0aCBgYm9yZGVyLXJhZGl1c2BcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbltjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS10b3AsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLWxlZnQsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0ICB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtdG9wKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS10b3AoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtYm90dG9tKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtbGVmdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtbGVmdCgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNhcmQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY2FyZC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtdGl0bGUoKTt9XG59XG5cblxuLyogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGNhcmQtYmFkZ2UtdG9wO1xuICAgIHJpZ2h0OiAkY2FyZC1iYWRnZS1yaWdodDtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIEhvdmVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG5cbi51ay1jYXJkLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0KCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWhlYWRlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWZvb3RlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1jYXJkLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5KCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5KCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtbGFyZ2UudWstY2FyZC1ib2R5LFxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENsb3NlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBjbG9zZSBidXR0b25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jbG9zZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWNsb3NlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstY2xvc2U6aG92ZXIsXG4udWstY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1taXNjKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNwaW5uZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGxvYWRpbmcgc3Bpbm5lclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNwaW5uZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNwaW5uZXItc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDsgLy8gTWludXMgc3Ryb2tlIHdpZHRoIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2xpcHBpbmdcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNHMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNwaW5uZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zcGlubmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lcikpIHtAaW5jbHVkZSBob29rLXNwaW5uZXIoKTt9XG59XG5cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNwaW5uZXIgPiAqIHsgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAkc3Bpbm5lci1kdXJhdGlvbiBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBzdHJva2Utd2lkdGg6ICRzcGlubmVyLXN0cm9rZS13aWR0aDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlOyB9XG4gICAgNTAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2UvNDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb3RvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGljb24gdG8gc2Nyb2xsIGJhY2sgdG8gdG9wXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG90b3BgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvdG9wLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvdG9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXRvdG9wIHtcbiAgICBwYWRkaW5nOiAkdG90b3AtcGFkZGluZztcbiAgICBjb2xvcjogJHRvdG9wLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcCkpIHtAaW5jbHVkZSBob29rLXRvdG9wKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdG90b3A6aG92ZXIsXG4udWstdG90b3A6Zm9jdXMge1xuICAgIGNvbG9yOiAkdG90b3AtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgY29sb3I6ICR0b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRvdG9wLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG90b3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmtlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbWFya2VyIGljb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJrZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmtlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJG1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1tYXJrZXIge1xuICAgIHBhZGRpbmc6ICRtYXJrZXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbWFya2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtYXJrZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW1hcmtlcjpob3Zlcixcbi51ay1tYXJrZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlci1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmtlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGVydFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFsZXJ0IG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxlcnRgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstYWxlcnQtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYWxlcnQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhbGVydC1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcblxuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZy1yaWdodCAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydCkpIHtAaW5jbHVkZSBob29rLWFsZXJ0KCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstYWxlcnQgeyBtYXJnaW4tdG9wOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRhbGVydC1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyICsgRm9jdXNcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6aG92ZXIsXG4udWstYWxlcnQtY2xvc2U6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWFsZXJ0LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYWxlcnQtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1hbGVydC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxlcnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhZGdlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIGJhZGdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhZGdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWRnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstYmFkZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkYmFkZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWRnZS1zaXplO1xuICAgIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsICRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWJhZGdlOmhvdmVyLFxuLnVrLWJhZGdlOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhZGdlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExhYmVsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBpbmRpY2F0ZSBpbXBvcnRhbnQgbm90ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sYWJlbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1sYWJlbC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmctdmVydGljYWwgJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBsaW5lLWhlaWdodDogJGxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1sYWJlbCgpO31cbn1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1sYWJlbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWxhYmVsLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1sYWJlbC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE92ZXJsYXlcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb250ZW50IGFyZWFzIG92ZXJsYXlpbmcgYW4gaW1hZ2Vcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vdmVybGF5YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW92ZXJsYXktaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1vdmVybGF5LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVybGF5LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheSB7XG4gICAgcGFkZGluZzogJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbCAkb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXktaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktaWNvbikpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktaWNvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1vdmVybGF5LWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1vdmVybGF5LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktbWlzYykpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQXJ0aWNsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFydGljbGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYXJ0aWNsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hcnRpY2xlLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYXJ0aWNsZS1tZXRhYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhcnRpY2xlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBcnRpY2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZSgpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWFydGljbGU6OmJlZm9yZSxcbi51ay1hcnRpY2xlOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFydGljbGU6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hcnRpY2xlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlICsgLnVrLWFydGljbGUge1xuICAgIG1hcmdpbi10b3A6ICRhcnRpY2xlLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtdGl0bGUoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFydGljbGUtdGl0bGUgeyBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGFydGljbGUtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1tZXRhKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbW1lbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBuZXN0ZWQgY29tbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb21tZW50YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbW1lbnQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbWV0YWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtYXZhdGFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1saXN0YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbW1lbnQtcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWJvZHkge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWJvZHkoKTt9XG59XG5cbi51ay1jb21tZW50LWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jb21tZW50LWJvZHk6OmJlZm9yZSxcbi51ay1jb21tZW50LWJvZHk6OmFmdGVyLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjpiZWZvcmUsXG4udWstY29tbWVudC1oZWFkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbW1lbnQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNvbW1lbnQtaGVhZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY29tbWVudC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC10aXRsZSgpO31cbn1cblxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkY29tbWVudC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGNvbW1lbnQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1tZXRhKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1tZXRhKCk7fVxufVxuXG5cbi8qIEF2YXRhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWF2YXRhciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYXZhdGFyKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1hdmF0YXIoKTt9XG59XG5cblxuLyogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqIE5vdGU6IEdlbmVyYWwgc2libGluZyBzZWxlY3RvciBhbGxvd3MgcmVwbHkgYmxvY2sgYmV0d2VlbiBjb21tZW50IGFuZCBzdWJsaXN0XG4gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgICBtYXJnaW46ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcCAwIDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViKCk7fVxufVxuXG4vKiBUYWJsZXQgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHsgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOyB9XG5cbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXByaW1hcnkoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1taXNjKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlYXJjaFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRoZSBzZWFyY2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWFyY2hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2VhcmNoLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLXRvZ2dsZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1zZWFyY2gtaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zZWFyY2gtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1uYXZiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcblxuJHNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG5cbi51ay1zZWFyY2gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA4ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogOSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHNlYXJjaC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWlucHV0KCk7fVxufVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogSWNvbiAoQWRvcHRzIGB1ay1pY29uYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWljb246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBhYm92ZSBpbnB1dFxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLW5hdmJhciB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbmF2YmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1uYXZiYXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG5cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWxhcmdlIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2Utd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbGFyZ2UtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LXBhcmVudC1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZiYXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIG5hdmlnYXRpb24gYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmJhcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXZiYXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItaXRlbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3VidGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGJhcmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd25gICsgTW9kaWZpZXJzXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLWdyaWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2YmFyLXRyYW5zcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN0aWNreWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1zdGFja2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuXG4udWstbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1jb250YWluZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb24gKGlmIENvbnRhaW5lciBjb21wb25lbnQgaXMgdXNlZClcbiAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YmVmb3JlLFxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmFmdGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIG5hdnMgYW5kIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICogMi4gTm90ZTogSUUgMTEgcmVxdWlyZXMgYW4gZXh0cmEgYGRpdmAgd2hpY2ggYWZmZWN0cyB0aGUgY2VudGVyIHNlbGVjdG9yXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi8vIDIuIFtjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXInXSxcbi51ay1uYXZiYXItY2VudGVyLFxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCA+ICosXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDMuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIHRoZSBjZW50ZXJlZCBzZWN0aW9uIGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgbmF2YmFyXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuXG4udWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAyICovXG4gICAgei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMTA7XG59XG5cbi8qIDMgKi9cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItaXRlbSxcbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci10b2dnbGUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIDQgKi9cbi51ay1uYXZiYXItY2VudGVyLWxlZnQsXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG59XG5cbi51ay1uYXZiYXItY2VudGVyLWxlZnQgeyByaWdodDogMTAwJTsgfVxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgeyBsZWZ0OiAxMDAlOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10gLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItaXRlbSxcbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10gLnVrLW5hdmJhci10b2dnbGUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstbmF2YmFyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIFN0eWxlXG4gKiA0LiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsICAgIC8vIE5hdiBpdGVtXG4udWstbmF2YmFyLWl0ZW0sICAgICAgICAgICAgLy8gQ29udGVudCBpdGVtXG4udWstbmF2YmFyLXRvZ2dsZSB7ICAgICAgICAgLy8gQ2xpY2thYmxlIGl0ZW1cbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAkbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgZm9udC1zaXplOiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTtcbiAgICAvKiA0ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTmF2IGl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICogQXBwbHkgaG92ZXIgc3R5bGUgYWxzbyB0byBmb2N1cyBzdGF0ZSBhbmQgaWYgZHJvcGRvd24gaXMgb3BlbmVkXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1pdGVtIHtcbiAgICBjb2xvcjogJG5hdmJhci1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1pdGVtKCk7fVxufVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlKCk7fVxufVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEljb25cbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG46aG92ZXIgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uLFxuOmZvY3VzID4gLnVrLW5hdmJhci10b2dnbGUtaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdWJ0aXRsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdWJ0aXRsZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCk7fVxufVxuXG4udWstbmF2YmFyLXN0aWNreSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdGlja3kpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItc3RpY2t5KCk7fVxufVxuXG5cbi8qIERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1kcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjsgfVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG5cbi8qIEd1dHRlciBIb3Jpem9udGFsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogR3V0dGVyIFZlcnRpY2FsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIFN0YWNrICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBXaWR0aCBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMjpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAyKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDMpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTQ6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogNCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNTpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA1KTsgfVxuXG4vKlxuICogRHJvcGJhciBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gICAgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKTt9XG59XG5cblxuLyogRHJvcGRvd24gTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyKCk7fVxufVxuXG4vKlxuICogU2xpZGUgbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3BiYXItei1pbmRleDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1zdWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2KSkge0BpbmNsdWRlIGhvb2stc3VibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstc3VibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAtICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1sZWZ0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJyZWFkY3J1bWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGJyZWFkY3J1bWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJyZWFkY3J1bWJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWIoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogeyBmbGV4OiBub25lOyB9XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4udWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZ2luYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHBhZ2UgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZ2luYXRpb25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstcGFnaW5hdGlvbi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFnaW5hdGlvbi1wcmV2aW91c2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFnaW5hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0YWItbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYikpIHtAaW5jbHVkZSBob29rLXRhYigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXRhYiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWItbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0KSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQoKTt9XG59XG5cbi51ay10YWItcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQpKSB7QGluY2x1ZGUgaG9vay10YWItcmlnaHQoKTt9XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodC1pdGVtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFiLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcmV2aW91cy9uZXh0IGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZW5hdi1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc2xpZGVuYXYtcHJldmlvdXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNsaWRlbmF2IHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1sYXJnZSgpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1jb250YWluZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdikpIHtAaW5jbHVkZSBob29rLWRvdG5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZG90bmF2LWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkZG90bmF2LWl0ZW0taGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGRvdG5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUaHVtYm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRodW1ibmFpbCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRodW1ibmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXRodW1ibmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRodW1ibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIsXG4udWstdGh1bWJuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay10aHVtYm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEFjY29yZGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFjY29yZGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hY2NvcmRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYWNjb3JkaW9uLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWNjb3JkaW9uLWNvbnRlbnRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4udWstYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCk7fVxufVxuXG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tY29udGVudCkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1jb250ZW50KCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6OmJlZm9yZSxcbi51ay1hY2NvcmRpb24tY29udGVudDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1hY2NvcmRpb24tY29udGVudDo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuIC51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHBvc2l0aW9uIGFueSBlbGVtZW50IG5leHQgdG8gYW55IG90aGVyIGVsZW1lbnQuXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Atei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cblxuLnVrLWRyb3Age1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Atei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGRyb3Atd2lkdGg7XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3AtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Atc3RhY2sgLnVrLWRyb3AtZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZHJvcGRvd24gbWVudXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wZG93bmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1kcm9wZG93bi1uYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcGRvd24tdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWdyaWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1kcm9wZG93biB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wZG93bi51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1uYXYge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdigpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyArIEFjdGl2ZSAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tc3RhY2sgLnVrLWRyb3Bkb3duLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1vZGFsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbW9kYWwgZGlhbG9nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1vZGFsYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW1vZGFsLXBhZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1kaWFsb2dgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2Utb3V0c2lkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWZ1bGxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbW9kYWwtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZnVsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtb2RhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG5cbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWwtczogICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250YWluZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNb2RhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbW9kYWwgeyBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1vZGFsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstbW9kYWwudWstb3BlbiB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1tb2RhbC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3Igc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBGaXggYG1heC13aWR0aDogMTAwJWAgbm90IHdvcmtpbmcgaW4gY29tYmluYXRpb24gd2l0aCBmbGV4IGFuZCByZXNwb25zaXZlIGltYWdlcyBpbiBJRTExXG4gKiAgICBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJ3cml0ZSBgdWstd2lkdGgtYXV0b2AuIFNlZSBgI21vZGFsLW1lZGlhLWltYWdlYCBpbiB0ZXN0c1xuICogNC4gU3R5bGVcbiAqIDUuIFNsaWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwtZGlhbG9nIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAkbW9kYWwtZGlhbG9nLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtIDAuMDFweCknKSAhaW1wb3J0YW50O1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ7XG4gICAgLyogNSAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1kaWFsb2cpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1kaWFsb2coKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvbnRhaW5lciBzaXplXG4gKiBUYWtlIHRoZSBzYW1lIHNpemUgYXMgdGhlIENvbnRhaW5lciBjb21wb25lbnRcbiAqL1xuXG4udWstbW9kYWwtY29udGFpbmVyIC51ay1tb2RhbC1kaWFsb2cgeyB3aWR0aDogJG1vZGFsLWNvbnRhaW5lci13aWR0aDsgfVxuXG4vKlxuICogRnVsbCBzaXplXG4gKiAxLiBSZW1vdmUgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBmcm9tIG1vZGFsXG4gKiAyLiBSZXNldCBhbGwgZGVmYXVsdCBkZWNsYXJhdGlvbnMgZnJvbSBtb2RhbCBkaWFsb2dcbiAqL1xuXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbW9kYWwtZnVsbCAudWstbW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWZ1bGwoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1ib2R5KCk7fVxufVxuXG4udWstbW9kYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1oZWFkZXIoKTt9XG59XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWZvb3RlcigpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLW1vZGFsLWJvZHk6OmJlZm9yZSxcbi51ay1tb2RhbC1ib2R5OjphZnRlcixcbi51ay1tb2RhbC1oZWFkZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1oZWFkZXI6OmFmdGVyLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1tb2RhbC1ib2R5OjphZnRlcixcbi51ay1tb2RhbC1oZWFkZXI6OmFmdGVyLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbW9kYWwtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtdGl0bGUoKTt9XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRtb2RhbC1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgIC8qIDEgKi9cbiAgICByaWdodDogKC0kbW9kYWwtY2xvc2UtcGFkZGluZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZTpob3ZlciB7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiAxICovXG4gICAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgICAgICByaWdodDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIEZ1bGxcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZnVsbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZnVsbDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlnaHRib3hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBsaWdodGJveCBpbWFnZSBnYWxsZXJ5XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRib3hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGlnaHRib3gtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWl0ZW1zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWJ1dHRvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWNhcHRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pZnJhbWVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlnaHRib3gtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlnaHRib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1saWdodGJveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJGxpZ2h0Ym94LXotaW5kZXg7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveCkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94KCk7fVxufVxuXG4vKlxuICogT3BlblxuICogMS4gQ2VudGVyIGNoaWxkXG4gKiAyLiBGYWRlLWluXG4gKi9cblxuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gQ29sb3IgbmVlZGVkIGZvciBzcGlubmVyIGljb25cbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gUmVzcG9uc2l2ZW5lc3NcbiAqICAgIFVzaW5nIGB2aGAgZm9yIGBtYXgtaGVpZ2h0YCB0byBmaXggaW1hZ2UgcHJvcG9ydGlvbnMgYWZ0ZXIgcmVzaXplIGluIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIFVzaW5nIGB2aGAgYW5kIGB2d2AgdG8gbWFrZSByZXNwb25zaXZlIGltYWdlIHdvcmsgaW4gSUUxMVxuICovXG5cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkbGlnaHRib3gtaXRlbS1jb2xvcjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtaXRlbSkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWl0ZW0oKTt9XG59XG5cbi8qIDUgKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiAqIHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gOm5vdChpZnJhbWUpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qIFRvb2xiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhciB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbCAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyKCk7fVxufVxuXG4udWstbGlnaHRib3gtdG9vbGJhciAqIHsgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWNvbG9yOyB9XG5cblxuLyogVG9vbGJhciBJY29uIChDbG9zZSlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbjpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3ZlcigpO31cbn1cblxuXG5cbi8qIEJ1dHRvbiAoU2xpZGVuYXYpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1saWdodGJveC1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRsaWdodGJveC1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRsaWdodGJveC1idXR0b24tc2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsaWdodGJveC1idXR0b24tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbigpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWNhcHRpb24ge31cblxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveCgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVzaG93XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc2xpZGVzaG93c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlc2hvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZXNob3ctaXRlbXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXNob3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVzaG93IHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVzaG93KSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93KCk7fVxufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBhbmQgc3RhY2tpbmcgY29udGV4dFxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICogNC4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBvc2l0aW9uIGl0ZW1zIGFib3ZlIGVhY2ggb3RoZXJcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHMsIGUuZy4gZm9yIGB1ay1jb3ZlcmBcbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXMgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogNCAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgLyogNSAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3ctbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlc2hvdy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZXNob3coKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZXNob3ctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBzbGlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZXItaXRlbXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVyIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDIuIENyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2suIEluIFNhZmFyaSBpdCdzIG5laXRoZXIgY3JlYXRlZCBieSBgdHJhbnNmb3JtYCBub3IgYHdpbGwtY2hhbmdlYC5cbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgICAvKiAxICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gUmVzZXQgbGlzdCBzdHlsZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZ3JpZFxuICogMi4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zOm5vdCgudWstZ3JpZCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuLnVrLXNsaWRlci1pdGVtcy51ay1ncmlkIHsgZmxleC13cmFwOiBub3dyYXA7IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIExldCBpdGVtcyB0YWtlIGNvbnRlbnQgZGltZW5zaW9ucyAoMCAwIGF1dG8pXG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXMgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1zbGlkZXItaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdGlja3lcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG1ha2UgZWxlbWVudHMgc3RpY2t5IGluIHRoZSB2aWV3cG9ydFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN0aWNreWBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zdGlja3ktZml4ZWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdGlja3ktei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc29sdmUgZnJhbWUgcmF0ZSBpc3N1ZXMgb24gZGV2aWNlcyB3aXRoIGxvd2VyIGZyYW1lIHJhdGVzIGJ5IGZvcmNpbmcgaGFyZHdhcmUgYWNjZWxlcmF0aW9uXG4gKi9cblxuLnVrLXN0aWNreS1maXhlZCB7XG4gICAgei1pbmRleDogJHN0aWNreS16LWluZGV4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIEZhc3RlciBhbmltYXRpb25zXG4gKi9cblxuLnVrLXN0aWNreVtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuLnVrLXN0aWNreS51ay1hbmltYXRpb24tcmV2ZXJzZSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN0aWNreS1taXNjKSkge0BpbmNsdWRlIGhvb2stc3RpY2t5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBPZmYtY2FudmFzXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gb2ZmLWNhbnZhcyBzaWRlYmFyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstb2ZmY2FudmFzYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW9mZmNhbnZhcy1iYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcGFnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vZmZjYW52YXMtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstb2ZmY2FudmFzLWZsaXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1yZXZlYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtb3ZlcmxheWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRvZmZjYW52YXMtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPZmYtY2FudmFzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcyB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIEJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNpemUgYW5kIHN0eWxlXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmdcbiAqIDQuIFRyYW5zZm9ybVxuICovXG5cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbCAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLyogNCAqL1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtYmFyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07XG4gICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbSAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4vKlxuICogU2xpZGUgQW5pbWF0aW9uIChVc2VkIGluIHNsaWRlIGFuZCBwdXNoIG1vZGUpXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7IH1cblxuLypcbiAqIFJldmVhbCBBbmltYXRpb25cbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2xpcCB0aGUgYmFyXG4gKiAzLiBBbmltYXRpb25cbiAqIDQuIFJlc2V0IHRyYW5zZm9ybVxuICovXG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07IH1cblxufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb2ZmY2FudmFzLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xuICAgIHRvcDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1jbG9zZSgpO31cbn1cblxuXG4vKiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE92ZXJsYXkgdGhlIHdob2xlIHBhZ2UuIE5lZWRlZCBmb3IgdGhlIGA6OmJlZm9yZWBcbiAqIDEuIFVzaW5nIGAxMDB2d2Agc28gbm8gbW9kaWZpY2F0aW9uIGlzIG5lZWRlZCB3aGVuIG9mZi1jYW52YXMgaXMgZmxpcHBlZFxuICogMi4gQWxsb3cgZm9yIGNsb3Npbmcgd2l0aCBzd2lwZSBnZXN0dXJlIG9uIGRldmljZXMgd2l0aCBwb2ludGVyIGV2ZW50cy5cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwdnc7XG4gICAgLyogMiAqL1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIDEuIE1hc2sgdGhlIHdob2xlIHBhZ2VcbiAqIDIuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgICAvKiAxICovXG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1vdmVybGF5KCk7fVxufVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsYmFyIHdoZW4gdGhlIGNvbnRlbnQgaXMgc2xpZGUtb3V0XG4gKiBIYXMgdG8gYmUgb24gdGhlIGBodG1sYCBlbGVtZW50IHRvbyB0byBtYWtlIGl0IHdvcmsgb24gdGhlIGBib2R5YFxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qXG4gKiBQcmV2ZW50IGFsbCBzY3JvbGxiYXJzIGlmIG92ZXJsYXkgaXMgdXNlZFxuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyLW92ZXJsYXkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogTm90ZTogSlMgc2V0cyBhIGZpeGVkIHdpZHRoIGFuZCBoZWlnaHQgc28gdGhlIHBhZ2UgY2FuIHNsaWRlLW91dCB3aXRob3V0IHNocmlua2luZ1xuICogMS4gU21vb3RoIHNjcm9sbGluZ1xuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIC51ay1vZmZjYW52YXMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8qIERpc2FibGUgc2Nyb2xsaW5nIGlmIG92ZXJsYXkgbW9kZSAqL1xuLnVrLW9mZmNhbnZhcy1vdmVybGF5IC51ay1vZmZjYW52YXMtY29udGVudCB7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4vKlxuICogQWN0aXZhdGUgc2xpZGUtb3V0IGFuaW1hdGlvblxuICovXG5cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICA6bm90KC51ay1vZmZjYW52YXMtZmxpcCkgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwID4gLnVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1taXNjKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTd2l0Y2hlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbmF2aWdhdGUgdGhyb3VnaCBkaWZmZXJlbnQgY29udGVudCBwYW5lc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN3aXRjaGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3dpdGNoZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG5cbi51ay1zd2l0Y2hlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN3aXRjaGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zd2l0Y2hlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGVhZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZG90IGxlYWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sZWFkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuJyAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxlYWRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIC8qIDMgKi9cbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gICAgLyogNCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWxlYWRlcigpO31cbn1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTICovXG4udmFyLWxlYWRlci1maWxsOjpiZWZvcmUgeyBjb250ZW50OiAkbGVhZGVyLWZpbGwtY29udGVudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbGVhZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxlYWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25uYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1pY29ubmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2KSkge0BpbmNsdWRlIGhvb2staWNvbm5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoIC8gLTIpO1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1ub3RpZmljYXRpb24ge1xuICAgICAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb29sdGlwXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdG9vbHRpcHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b29sdGlwYFxuLy9cbi8vIE1vZGlmaWVycyAgICAgICAgYHVrLXRvb2x0aXAtdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmctdmVydGljYWwgJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcCgpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay10b29sdGlwLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJHRvb2x0aXAtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b29sdGlwLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBsYWNlaG9sZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcGxhY2Vob2xkZXIgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wbGFjZWhvbGRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJvZ3Jlc3Ncbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcm9ncmVzcyBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcHJvZ3Jlc3NgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogMy4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiA0LiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94IGFuZCBFZGdlXG4gKiA1LiBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgcHJvZ3Jlc3MgY29udGFpbmVyIGluIEZpcmVmb3gsIElFMTEgYW5kIEVkZ2VcbiAqIDYuIFN0eWxlXG4gKi9cblxuLnVrLXByb2dyZXNzIHtcbiAgICAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgYm9yZGVyOiAwO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7IG1hcmdpbi10b3A6ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZSB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgY29udGFpbmVyXG4gKiAyLiBSZW1vdmUgcHJvZ3Jlc3MgYmFyIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIEZpcmVmb3hcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIgeyB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNvcnRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc29ydGFibGUgZ3JpZHMgYW5kIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc29ydGFibGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc29ydGFibGUtZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtaGFuZGxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNvcnRhYmxlLWVtcHR5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRyYWdgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUoKTt9XG59XG5cbi8qXG4gKiBEZWFjdGl2YXRlIGJyb3dzZXIgdG91Y2ggYWN0aW9ucyBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gKiB7IHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4vKlxuICogRGVhY3RpdmF0ZSBwb2ludGVyLWV2ZW50cyBvbiBTVkdzIGluIFNhZmFyaVxuICovXG5cbi51ay1zb3J0YWJsZSBzdmcgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAkc29ydGFibGUtZHJhZ2dlZC16LWluZGV4ICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWRyYWcpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1kcmFnKCk7fVxufVxuXG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAkc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpO31cbn1cblxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gICAgbWluLWhlaWdodDogJHNvcnRhYmxlLWVtcHR5LWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZW1wdHkpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1lbXB0eSgpO31cbn1cblxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7IGN1cnNvcjogbW92ZTsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3VudGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb3VudGRvd24gdGltZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY291bnRkb3duYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvdW50ZG93bi1udW1iZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tc2VwYXJhdG9yYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLWxhYmVsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuXG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7IC8vIDY0cHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAvLyA5NnB4XG5cbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyAxNnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7IC8vIDQ4cHhcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ291bnRkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93biB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBudW1iZXJzIGFuZCBzZXBhcmF0b3JzIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstY291bnRkb3duLW51bWJlcixcbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAvKiAxICovXG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24taXRlbSgpO31cbn1cblxuXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbnVtYmVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1sYWJlbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tcmV2ZXJzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYXN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1rZW5idXJuc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zaGFrZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hbmltYXRpb24tdG9nZ2xlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWhvdmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogQW5pbWF0aW9ucyBmb3Igc2Nyb2xsc3B5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNoYWtlIHsgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLWZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjsgfVxuXG5cbi8qIEVuYWJsZSBhbmltYXRpb24gb25seSBvbiBob3ZlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE5vdGU6IEZpcmVmb3ggYW5kIElFIG5lZWRzIHRoaXMgYmVjYXVzZSBhbmltYXRpb25zIGFyZSBub3QgdHJpZ2dlcmVkIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gZGlzcGxheSBgbm9uZWAgYW5kIGBibG9ja2BcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tbmFtZTogbm9uZTsgfVxuXG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYW5pbWF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbmltYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFdpZHRoXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Igd2lkdGhzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2hpbGQtd2lkdGgtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXdpZHRoLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHdpZHRoLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLXh4bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHsgd2lkdGg6IDUwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7IHdpZHRoOiAyNSU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHsgd2lkdGg6IDIwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAgICBJbnN0ZWFkIG9mIDAsIDFweCBpcyBuZWVkZWQgdG8gbWFrZSBjZWxsIHdyYXAgaW50byBuZXh0IHJvdyBpZiBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGVcbiAqICAgIGFuZCB0aGUgZ3JpZCBndXR0ZXIgaXMgMCBwaXhlbHMgd2lkZVxuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4vKlxuICogMS4gTWFrZSBgd2lkdGg6IDFweGAgd29yaywgYmVjYXVzZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWMgZmxleCBpdGVtcyB3b27igJl0IHNocmlua1xuICogICAgYmVsb3cgdGhlaXIgbWluaW11bSBjb250ZW50IHNpemUuIFRvIGNoYW5nZSB0aGlzLCBzZXQgdGhlIG1pbi13aWR0aC5cbiAqICAgIE9ubHkgbmVlZGVkIGZvciBGaXJlZm94LiBBbGwgb3RoZXIgYnJvd3NlcnMgaWdub3JlIHRoaXMuXG4gKlxuICogMi4gYHdpZHRoYCBpcyBpZ25vcmVkIHdoZW4gd3JhcHBpbmcgZmxleCBpdGVtcyBpbiBTYWZhcmlcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjMTEtbWluLWFuZC1tYXgtc2l6ZS1kZWNsYXJhdGlvbnMtYXJlLWlnbm9yZWQtd2hlbi13cmFwcGluZy1mbGV4LWl0ZW1zXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgLyogMSAqL1xuICAgIG1pbi13aWR0aDogMDtcbiAgICAvKiAyICovXG4gICAgZmxleC1iYXNpczogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAcyA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBzID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHhsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEB4bCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cblxuW2NsYXNzKj0ndWstd2lkdGgnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIgeyB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHsgd2lkdGg6IDI1JTsgfVxuLnVrLXdpZHRoLTMtNCB7IHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHsgd2lkdGg6IDIwJTsgfVxuLnVrLXdpZHRoLTItNSB7IHdpZHRoOiA0MCU7IH1cbi51ay13aWR0aC0zLTUgeyB3aWR0aDogNjAlOyB9XG4udWstd2lkdGgtNC01IHsgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4udWstd2lkdGgtNS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAcyB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAcyB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAcyB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAcyB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBzIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBzIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBzIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBzIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHMgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHMgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAcyB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQG0geyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQG0geyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQG0geyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQG0geyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbSB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbSB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbSB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBtIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBtIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBtIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEB4bCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAeGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAeGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHhsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHhsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEB4bCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAeGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHhsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAeGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHhsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEB4bCB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXdpZHRoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay13aWR0aC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWlnaHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBoZWlnaHRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGVpZ2h0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGhlaWdodC1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWlnaHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1oZWlnaHQnXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIE9ubHkgd29ya3MgaWYgcGFyZW50IGVsZW1lbnQgaGFzIGEgaGVpZ2h0IHNldFxuICovXG5cbi51ay1oZWlnaHQtMS0xIHsgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuXG4udWstaGVpZ2h0LXZpZXdwb3J0IHsgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLypcbiAqIFBpeGVsXG4gKiBVc2VmdWwgZm9yIGBvdmVyZmxvdzogYXV0b2BcbiAqL1xuXG4udWstaGVpZ2h0LXNtYWxsIHsgaGVpZ2h0OiAkaGVpZ2h0LXNtYWxsLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tZWRpdW0geyBoZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1sYXJnZSB7IGhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuLnVrLWhlaWdodC1tYXgtc21hbGwgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LXNtYWxsLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbWVkaXVtIHsgbWF4LWhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1sYXJnZSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVpZ2h0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1oZWlnaHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRleHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGV4dC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1ib2xkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWJvbGQgeyBmb250LXdlaWdodDogJHRleHQtYm9sZC1mb250LXdlaWdodDsgfVxuXG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LXVwcGVyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zdWNjZXNzIHsgY29sb3I6ICR0ZXh0LXN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtd2FybmluZyB7IGNvbG9yOiAkdGV4dC13YXJuaW5nLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWRhbmdlciB7IGNvbG9yOiAkdGV4dC1kYW5nZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEJhY2tncm91bmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cblxuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHRleHQtYmFja2dyb3VuZC1jb2xvciAhaW1wb3J0YW50O1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0KSB7XG5cbiAgICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtYmFja2dyb3VuZCkpIHtAaW5jbHVkZSBob29rLXRleHQtYmFja2dyb3VuZCgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAcyB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAcyB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBzIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBtIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBtIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQG0geyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHhsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEB4bCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEB4bCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cblxuLnVrLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuXG4udWstdGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG5cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHsgbWF4LXdpZHRoOiAwOyB9XG5cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1taXNjKSkge0BpbmNsdWRlIGhvb2stdGV4dC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29sdW1uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dCBjb2x1bW5zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29sdW1uLSpgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29sdW1uLXNwYW5gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY29sdW1uLWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbHVtbi1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29sdW1uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXI7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIFtjbGFzcyo9J3VrLWNvbHVtbi0nXSB7IGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7IH1cblxufVxuXG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSBpbWcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRG91YmxlIHRoZSBjb2x1bW4gZ2FwXG4gKi9cblxuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICBjb2x1bW4tcnVsZTogJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGggc29saWQgJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgLyogMSAqL1xuICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLTEtMiB7IGNvbHVtbi1jb3VudDogMjt9XG4udWstY29sdW1uLTEtMyB7IGNvbHVtbi1jb3VudDogMzsgfVxuLnVrLWNvbHVtbi0xLTQgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbi51ay1jb2x1bW4tMS01IHsgY29sdW1uLWNvdW50OiA1OyB9XG4udWstY29sdW1uLTEtNiB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHMgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQHMgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQHMgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHMgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQHMgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbSB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbSB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbSB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbSB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbSB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQGwgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQGwgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQGwgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQGwgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEB4bCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAeGwgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQHhsIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEB4bCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAeGwgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBNYWtlIGVsZW1lbnQgc3BhbiBhY3Jvc3MgYWxsIGNvbHVtbnNcbiAqIERvZXMgbm90IHdvcmsgaW4gRmlyZWZveCB5ZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLXNwYW4geyBjb2x1bW4tc3BhbjogYWxsOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29sdW1uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb2x1bW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3ZlclxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gbGV0IGVtYmVkZGVkIGNvbnRlbnQgY292ZXIgdGhlaXIgY29udGFpbmVyIGluIGEgY2VudGVyZWQgcG9zaXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3ZlcmBcbi8vXG4vLyBTdWItb2JqZWN0OiAgICAgIGB1ay1jb3Zlci1jb250YWluZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFdvcmtzIHdpdGggaWZyYW1lcyBhbmQgZW1iZWRkZWQgY29udGVudFxuICogMS4gUmVzZXQgcmVzcG9uc2l2ZW5lc3MgZm9yIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDIuIENlbnRlciBvYmplY3RcbiAqIE5vdGU6IFBlcmNlbnQgdmFsdWVzIG9uIHRoZSBgdG9wYCBwcm9wZXJ0eSBvbmx5IHdvcmtzIGlmIHRoaXMgZWxlbWVudFxuICogICAgICAgaXMgYWJzb2x1dGUgcG9zaXRpb25lZCBvciBpZiB0aGUgY29udGFpbmVyIGhhcyBhIGhlaWdodFxuICovXG5cbi51ay1jb3ZlciB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xufVxuXG5pZnJhbWUudWstY292ZXIgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cblxuLnVrLWNvdmVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3Zlci1taXNjKSkge0BpbmNsdWRlIGhvb2stY292ZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY292ZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhY2tncm91bmRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhY2tncm91bmQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWRlZmF1bHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtcHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtc2Vjb25kYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7IH1cblxuXG4vKiBTaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtY292ZXIsXG4udWstYmFja2dyb3VuZC1jb250YWluIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG5cbi8qIFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtdG9wLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgfVxuXG5cbi8qIFJlcGVhdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLW5vcmVwZWF0IHsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG5cbi8qIEF0dGFjaG1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRml4IGJ1ZyBpbnRyb2R1Y2VkIGluIENocm9tZSA2NzogdGhlIGJhY2tncm91bmQgaW1hZ2UgaXMgbm90IHZpc2libGUgaWYgYW55IGVsZW1lbnQgb24gdGhlIHBhZ2UgdXNlcyBgdHJhbnNsYXRlM2RgXG4gKi9cblxuLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgLyogMSAqL1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIEV4Y2x1ZGUgdG91Y2ggZGV2aWNlcyBiZWNhdXNlIGBmaXhlZGAgZG9lc24ndCB3b3JrIG9uIGlPUyBhbmQgQW5kcm9pZFxuICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWJhY2tncm91bmQtZml4ZWQgeyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgfVxufVxuXG5cbi8qIEltYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHMgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbSB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQGwgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHhsIHtiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtbXVsdGlwbHkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zY3JlZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtb3ZlcmxheSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGFya2VuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWxpZ2h0ZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWRvZGdlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItYnVybiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaGFyZC1saWdodCB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc29mdC1saWdodCB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGlmZmVyZW5jZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZXhjbHVzaW9uIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWh1ZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zYXR1cmF0aW9uIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvciB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWx1bWlub3NpdHkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWNrZ3JvdW5kLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWNrZ3JvdW5kLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxpZ25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGFsaWduIGVtYmVkZGVkIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGlnbi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tY2VudGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbltjbGFzcyo9J3VrLWFsaWduJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7XG59XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHsgbWFyZ2luLXRvcDogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKi9cblxuLnVrLWFsaWduLWNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogTGVmdC9SaWdodFxuICovXG5cbi51ay1hbGlnbi1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4udWstYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tbGVmdCxcbiAgICAudWstYWxpZ24tbGVmdFxcQHMsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7IG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1hbGlnbi1yaWdodCxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBzLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0sXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7IG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGlnbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxpZ24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxpZ24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFNWR1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gc3R5bGUgU1ZHc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN2Z2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICogMy4gRml4IGZvciB1cHBlcmNhc2UgYXR0cmlidXRlIG5hbWVzIGluIEVkZ2UuIFdpbGwgYmUgZml4ZWQgaW4gV2luZG93cyAxMCBidWlsZHMgMTYyNTErXG4gKi9cblxuLyogMSAqL1xuLnVrLXN2Zyxcbi8qIDIgKi9cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSksXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtGSUxMKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9IC8vIDNcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW1NUUk9LRSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9IC8vIDNcblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLXN2ZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdmctbWlzYykpIHtAaW5jbHVkZSBob29rLXN2Zy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdmctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVXRpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgY29sbGVjdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhbmVsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jbGVhcmZpeGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZsb2F0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVyZmxvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzaXplLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNwbGF5LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbmxpbmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc3BvbnNpdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlLXdpZHRoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm9yZGVyLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3BjYXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sb2dvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYmxlbmQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLW9yaWdpbi0qYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuXG4kbG9nby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXBhbmVsOjpiZWZvcmUsXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstcGFuZWw6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cblxuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGggc29saWQgJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICByZXNpemU6IGJvdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhbmVsLXNjcm9sbGFibGUpKSB7QGluY2x1ZGUgaG9vay1wYW5lbC1zY3JvbGxhYmxlKCk7fVxufVxuXG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG5cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cblxuLnVrLWZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnVrLWZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqIE5vdGU6IEZpcmVmb3ggaWdub3JlcyBgcGFkZGluZy1ib3R0b21gIGZvciB0aGUgc2Nyb2xsYWJsZSBvdmVyZmxvdyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MThcbiAqL1xuXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1yZXNpemUgeyByZXNpemU6IGJvdGg7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstaW5saW5lLWNsaXAge1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIFJlc3BvbnNpdmUgb2JqZWN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG5cbi51ay1wcmVzZXJ2ZS13aWR0aCxcbi51ay1wcmVzZXJ2ZS13aWR0aCBhdWRpbyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBjYW52YXMsXG4udWstcHJlc2VydmUtd2lkdGggaW1nLFxuLnVrLXByZXNlcnZlLXdpZHRoIHN2Zyxcbi51ay1wcmVzZXJ2ZS13aWR0aCB2aWRlbyB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIENvcnJlY3RzIGBtYXgtd2lkdGhgIGFuZCBgbWF4LWhlaWdodGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkXG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogYXV0bztcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5cbi8qIEJvcmRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3JkZXItY2lyY2xlIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4udWstYm9yZGVyLXJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czsgfVxuXG4vKlxuICogRml4IGBvdmVyZmxvdzogaGlkZGVuYCB0byBiZSBpZ25vcmVkIHdpdGggYm9yZGVyLXJhZGl1cyBhbmQgQ1NTIHRyYW5zZm9ybXMgaW4gV2Via2l0XG4gKi9cblxuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuXG4vKiBCb3gtc2hhZG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJveC1zaGFkb3ctc21hbGwgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy14bGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLWJveC1zaGFkb3ctaG92ZXInXSB7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJveC1zaGFkb3ctZHVyYXRpb24gZWFzZS1pbi1vdXQ7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItc21hbGw6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLW1lZGl1bTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLWxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci14bGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cblxuLyogQm94LXNoYWRvdyBib3R0b21cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uLlxuICogMi4gU2V0IHN0eWxlXG4gKiAzLiBCbHVyIGRvZXNuJ3Qgd29yayBvbiBwc2V1ZG8gZWxlbWVudHMgd2l0aCBuZWdhdGl2ZSBgei1pbmRleGAgaW4gRWRnZS5cbiAqICAgIFNvbHZlZCBieSB1c2luZyBgYmVmb3JlYCBhbmQgYWRkIHBvc2l0aW9uIGNvbnRleHQgdG8gY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuQHN1cHBvcnRzIChmaWx0ZXI6IGJsdXIoMCkpIHtcblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgLyogMSAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogKC0kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8qIDIgKi9cbiAgICAgICAgaGVpZ2h0OiAkYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ7XG4gICAgICAgIGZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ib3gtc2hhZG93LWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWJveC1zaGFkb3ctYm90dG9tKCk7fVxuICAgIH1cblxuICAgIC8qIDMgKi9cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXJlZm94IGRvZXNuJ3QgYXBwbHkgYDo6Zmlyc3QtbGV0dGVyYCBpZiB0aGUgZmlyc3QgbGV0dGVyIGlzIGluc2lkZSBjaGlsZCBlbGVtZW50c1xuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MDA0XG4gKiAyLiBJbiBGaXJlZm94LCBhIGZsb2F0aW5nIGA6OmZpcnN0LWxldHRlcmAgZG9lc24ndCBoYXZlIGEgbGluZSBib3ggYW5kIHRoZXJlIGZvciBubyBgbGluZS1oZWlnaHRgXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5MzNcbiAqIDMuIENhdXNlZCBieSAxLjogRWRnZSBjcmVhdGVzIHR3byBuZXN0ZWQgYDo6Zmlyc3QtbGV0dGVyYCBjb250YWluZXJzLCBvbmUgZm9yIGVhY2ggc2VsZWN0b3JcbiAqICAgIFRoaXMgZG91YmxlcyB0aGUgYGZvbnQtc2l6ZWAgZXhwb25lbnRpYWwgd2hlbiB1c2luZyB0aGUgYGVtYCB1bml0LlxuICovXG5cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4vKiAxICovXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wY2FwLW1hcmdpbi1yaWdodDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRkcm9wY2FwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWRyb3BjYXAoKTt9XG59XG5cbi8qIDIgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cbiAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7IG1hcmdpbi10b3A6IDEuMSU7IH1cblxufVxuXG4vKiAzICovXG5Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcblxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgZm9udC1zaXplOiAxZW07IH1cblxufVxuXG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1sb2dvIHtcbiAgICBmb250LXNpemU6ICRsb2dvLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGxvZ28tZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRsb2dvLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1sb2dvKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgICBjb2xvcjogJGxvZ28taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbG9nby1ob3ZlcigpO31cbn1cblxuLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBEaXNhYmxlZCBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNhYmxlZCB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZyBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBOZWVkZWQgaWYgbW92aW5nIG92ZXIgZWxlbWVudHMgd2l0aCBoYXZlIHRoZWlyIG93biBjdXJzb3Igb24gaG92ZXIsIGUuZy4gbGlua3Mgb3IgYnV0dG9uc1xuICogMi4gRml4IGRyYWdnaW5nIG92ZXIgaWZyYW1lc1xuICovXG5cbi51ay1kcmFnLFxuLyogMSAqL1xuLnVrLWRyYWcgKiB7IGN1cnNvcjogbW92ZTsgfVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWdvdmVyIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENyZWF0ZSBhIGJveC1zaGFkb3cgd2hlbiBkcmFnZ2luZyBhIGZpbGUgb3ZlciB0aGUgdXBsb2FkIGFyZWFcbiAqL1xuXG4udWstZHJhZ292ZXIgeyBib3gtc2hhZG93OiAkZHJhZ292ZXItYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJsZW5kLW11bHRpcGx5IHsgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmxlbmQtc2NyZWVuIHsgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJsZW5kLW92ZXJsYXkgeyBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJsZW5kLWRhcmtlbiB7IG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1ibGVuZC1saWdodGVuIHsgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1ibGVuZC1jb2xvci1kb2RnZSB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJsZW5kLWNvbG9yLWJ1cm4geyBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJsZW5kLWhhcmQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJsZW5kLXNvZnQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJsZW5kLWRpZmZlcmVuY2UgeyBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJsZW5kLWV4Y2x1c2lvbiB7IG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1ibGVuZC1odWUgeyBtaXgtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmxlbmQtc2F0dXJhdGlvbiB7IG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmxlbmQtY29sb3IgeyBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1ibGVuZC1sdW1pbm9zaXR5IHsgbWl4LWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vKiBUcmFuc2Zvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuXG4vKiBUcmFuc2Zvcm0gT3JpZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWNlbnRlciB7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay11dGlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay11dGlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGbGV4XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbGF5b3V0cyBiYXNlZCBvbiBmbGV4Ym94XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZmxleC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZsZXggeyBkaXNwbGF5OiBmbGV4OyB9XG4udWstZmxleC1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1sZWZ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtcmlnaHQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAcyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEB4bCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtc3RyZXRjaCB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4udWstZmxleC10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnVrLWZsZXgtYm90dG9tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLnVrLWZsZXgtcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbi51ay1mbGV4LWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LW5vd3JhcCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4udWstZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4udWstZmxleC13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXdyYXAtdG9wIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtd3JhcC1taWRkbGUgeyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXdyYXAtYm90dG9tIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuXG4udWstZmxleC1maXJzdCB7IG9yZGVyOiAtMTt9XG4udWstZmxleC1sYXN0IHsgb3JkZXI6IDk5O31cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHMgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAcyB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBtIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQG0geyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEB4bCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEB4bCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cblxuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuXG4udWstZmxleC1ub25lIHsgZmxleDogbm9uZTsgfVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cblxuLnVrLWZsZXgtYXV0byB7IGZsZXg6IGF1dG87IH1cblxuLypcbiAqIEFic29sdXRlIEZsZXg6IDEgMSAwJVxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBmbGV4XG4gKi9cblxuLnVrLWZsZXgtMSB7IGZsZXg6IDE7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mbGV4LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mbGV4LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZsZXgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmdpblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIG1hcmdpbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJnaW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1zbWFsbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLW1lZGl1bS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4teGxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tcmVtb3ZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tYXV0by0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJnaW4tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1yZW1vdmUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtdG9wIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICogeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBBdXRvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHsgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tbGVmdCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJnaW4tbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmdpbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFkZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHBhZGRpbmdcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYWRkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctcmVtb3ZlLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhZGRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1zbWFsbCB7IHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXBhZGRpbmc7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXJlbW92ZSB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7IHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20geyBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFkZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFkZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBwb3NpdGlvbiBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yZWxhdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXotaW5kZXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNvdmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10geyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEVkZ2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCBpcyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLiAqL1xuLnVrLXBvc2l0aW9uLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyIChOb3Qgd29ya2luZyBpbiBGaXJlZm94KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgZm9yIEZpcmVmb3hcbiAqL1xuXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7IGxlZnQ6IDA7IH1cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQgeyByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgICByaWdodDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQtb3V0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7IHRvcDogMDsgfVxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyBib3R0b206IDA7IH1cblxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWFic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHsgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLXotaW5kZXggeyB6LWluZGV4OiAxOyB9XG5cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXBvc2l0aW9uLXNtYWxsIHsgbWFyZ2luOiAkcG9zaXRpb24tc21hbGwtbWFyZ2luOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4sICgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4udWstcG9zaXRpb24tbWVkaXVtIHsgbWFyZ2luOiAkcG9zaXRpb24tbWVkaXVtLW1hcmdpbjsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4sICgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstcG9zaXRpb24tbGFyZ2UgeyBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW47IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbiwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZSB7IG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwsICgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKSk7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcG9zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBvc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRyYW5zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0cmFuc2l0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRyYW5zaXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10cmFuc2l0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tb3BhcXVlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYCxcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tYWN0aXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjNzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zY2FsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMC43cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBVc2luZyBtdWx0aXBsZSBzZWxlY3RvcnMgdG8gZXhjbHVkZSBgdWstdHJhbnNpdGlvbi10b2dnbGVgXG4gKiBOb3RlOiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIHdpdGggYHVrLXBvc3Rpb24tY2VudGVyLSpgIGNsYXNzZXMgYmVjYXVzZSB0aGV5IGFsc28gdXNlIGB0cmFuc2Zvcm1gXG4gKiAgICAgICBKdXN0IHB1dCB0aGUgdHJhbnNpdGlvbiBpbiBhbiBleHRyYSBgZGl2YFxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSB7IG9wYWNpdHk6IDA7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLWZhZGUnXSB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFNjYWxlXG4gKiBOb3RlOiBVc2luZyBgc2NhbGUzZGAgZm9yIGJldHRlciBpbWFnZSByZW5kZXJpbmdcbiAqL1xuXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10geyBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHsgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHsgdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbn1cblxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1zbG93IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRyYW5zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXRyYW5zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBWaXNpYmlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBzaG93IG9yIGhpZGUgY29udGVudCBvbiBicmVha3BvaW50cywgaG92ZXIgb3IgdG91Y2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oaWRkZW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXZpc2libGUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXZpc2libGUtdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLXRvdWNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLW5vdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZGVuXG4gKiBgaGlkZGVuYCBhdHRyaWJ1dGUgYWxzbyBzZXQgaGVyZSB0byBtYWtlIGl0IHN0cm9uZ2VyXG4gKi9cblxuW2hpZGRlbl0sXG4udWstaGlkZGVuIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1oaWRkZW5cXEBzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGlkZGVuXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstaGlkZGVuXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstaGlkZGVuXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmlzaWJsZVxuICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIEhvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogQ2FuJ3QgdXNlIGBkaXNwbGF5OiBoaWRkZW5gIGJlY2F1c2UgaXQncyBub3QgZm9jdXNhYmxlLiBUaGlzIGlzIGFjY2Vzc2libGUgdGhyb3VnaCBrZXlib2FyZC5cbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KC51ay1ob3ZlcikgLnVrLWhpZGRlbi1ob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSW52aXNpYmxlXG4gKiBDYW4ndCB1c2UgYHZpc2liaWxpdHk6IGhpZGRlbmAgYmVjYXVzZSBpdCdzIG5vdCBmb2N1c2FibGUuIFRoaXMgaXMgYWNjZXNzaWJsZSB0aHJvdWdoIGtleWJvYXJkLlxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaW52aXNpYmxlLWhvdmVyOm5vdCg6Zm9jdXMpIHsgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG5cblxuLyogVG91Y2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBoYXMgbGltaXRlZCBhY2N1cmFjeSwgZS5nLiBhIHRvdWNoIHNjcmVlbi5cbiAqIFdvcmtzIG9uIG1vYmlsZSBicm93c2VyczogU2FmYXJpLCBDaHJvbWUgYW5kIEFuZHJvaWQgYnJvd3NlclxuICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBpcyBhY2N1cmF0ZSwgZS5nLiBtb3VzZS5cbiAqIDEuIEZhbGxiYWNrIGZvciBJRTExIGFuZCBGaXJlZm94LCBiZWNhdXNlIGBwb2ludGVyYCBpcyBub3Qgc3VwcG9ydGVkXG4gKiAyLiBSZXNldCBpZiBzdXBwb3J0ZWRcbiAqL1xuXG4vKiAxICovXG4udWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdmlzaWJpbGl0eS1taXNjKSkge0BpbmNsdWRlIGhvb2stdmlzaWJpbGl0eS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEludmVyc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgSW52ZXJzZSBjb21wb25lbnQgc3R5bGUgZm9yIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRhcmtgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG4vKlxuICogSW1wbGVtZW50ZWQgY2xhc3MgZGVwZW5kcyBvbiB0aGUgZ2VuZXJhbCB0aGVtZSBjb2xvclxuICogYHVrLWxpZ2h0YCBpcyBmb3IgbGlnaHQgY29sb3JzIG9uIGRhcmsgYmFja2dyb3VuZHNcbiAqIGB1ay1kYXJrYCBpcyBvciBkYXJrIGNvbG9ycyBvbiBsaWdodCBiYWNrZ3JvdW5kc1xuICovXG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gbGlnaHQpIHsgLnVrLWxpZ2h0IHsgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gZGFyaykgeyAudWstZGFyayB7IEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFByaW50XG4vLyBEZXNjcmlwdGlvbjogICAgIE9wdGltaXplIHBhZ2UgZm9yIHByaW50aW5nXG4vL1xuLy8gQWRhcHRlZCBmcm9tIGh0dHA6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGVcbi8vXG4vLyBNb2RpZmljYXRpb25zOiAgIFJlbW92ZWQgbGluayBgaHJlZmAgYW5kIGB0aXRsZWAgcmVsYXRlZCBydWxlc1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcmludFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG5cbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcmludCkpIHtAaW5jbHVkZSBob29rLXByaW50KCk7fVxuXG59XG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcHJpbnQoKXt9XG4iLCJAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG4gICAgYSwgLnVrLWxpbmsge1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxufSIsIi5qdXN0aWZ5LS1mbGV4LWVuZCB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59IiwiLnRtLWhlYWRlciB7XG5cbn1cblxuLnRtLWhlYWRlcl9fbG9nbyB7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaDEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnRtLWhlYWRlcl9fbG9nbyBpbWcge1xufVxuXG4udG0taGVhZGVyX19sb2dvICsgLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG5cdHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLnRtLWhlYWRlcl9fdG9wbmF2IHtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kO1xufVxuXG4udG0taGVhZGVyX19sb2dvOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udG0taGVhZGVyX19pY29uIHtcbiAgcGFkZGluZzogMCAwIDAgMnB4O1xufVxuXG4udG0taGVhZGVyIC51ay1uYXZiYXItbmF2IHtcblxufVxuXG4udWstbmF2YmFyLXN0aWNreSB7XG4gIGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdztcbn1cblxuLmRyb3Bkb3duLWhlYWRlciBzcGFuIHtcblx0Ym9yZGVyLWJvdHRvbTogIDNweCBzb2xpZCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcblx0Ly8gY29sb3I6ICRjb2xvci1ibGFjaztcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0cGFkZGluZy1ib3R0b206IDNweDtcbn1cblxuLmxhbmRpbmcge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIG1hcmdpbi10b3A6IDY1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgfSBcblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIudWstaWNvbi1idXR0b24tLWxhcmdlIHtcbiAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplLWxhcmdlO1xuICBoZWlnaHQ6ICRpY29uLWJ1dHRvbi1zaXplLWxhcmdlO1xufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudDpub3QoLnVrLW9wZW4pID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufSIsInVsLCBvbCB7XG5cdGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuXG4uc2xpZGVyLW9ubHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udWstc2xpZGVyIC5zbGlkZXItb25seSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLnVrLWhyLXNlY29uZGFyeSB7XG4gIGJvcmRlci1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gIGJvcmRlci13aWR0aDogNHB4O1xufSIsIi51ay1hbmNob3JzOm5vdCgudWstc3RpY2t5LWZpeGVkKSxcbi51ay1hbmNob3JzLnVrLXN0aWNreS1maXhlZCAudWstbmF2YmFyLWxlZnQge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4udWstbmF2YmFyLWNvbnRhaW5lci51ay1hbmNob3JzLXN0aWNreSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4udWstYW5jaG9ycyBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLnVrLWFuY2hvcnMgbGkudWstYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWstYW5jaG9ycyBsaS51ay1hY3RpdmUgYXtcbiAgY29sb3I6ICRnbG9iYWwtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWstYW5jaG9ycyBsaS51ay1hY3RpdmU6YmVmb3Jle1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XG59XG5cbi51ay1hbmNob3JzIGxpOm5vdCgudWstYWN0aXZlKSBhe1xuICBjb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvci1saWdodGVyO1xufVxuXG4udWstYW5jaG9ycyAudWstaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51ay1hbmNob3JzLnVrLXN0aWNreS1maXhlZCB7XG4gIHotaW5kZXg6IDk3OTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG4gIC51ay1hbmNob3JzIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgfVxuICAudWstYW5jaG9ycy51ay1zdGlja3ktZml4ZWQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiA4cHggMzVweCA4cHggOHB4O1xuICB9XG5cbiAgLnVrLWFuY2hvcnMgdWwgeyBcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gIH1cblxuICAudWstYW5jaG9ycyBsaS51ay1hY3RpdmU6YmVmb3Jle1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtY29sb3I7XG4gIH1cblxuICAudWstYW5jaG9ycyBsaSB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC51ay1hbmNob3JzLnVrLXN0aWNreS1maXhlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIC51ay1hbmNob3JzLnVrLXN0aWNreS1maXhlZCBsaS51ay1hY3RpdmUgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtY29sb3I7XG4gIH1cblxuICAudWstYW5jaG9yczpub3QoLm9wZW4pIGxpOm5vdCgudWstYWN0aXZlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC51ay1hbmNob3JzOm5vdCgub3BlbikgbGkudWstYWN0aXZlICsgLnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC51ay1hbmNob3JzIGxpIGF7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLnVrLWFuY2hvcnMudWstc3RpY2t5LWZpeGVkIC51ay1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59IiwiLnNpZGViYXItcmlnaHQge1xuICB6LWluZGV4OiAzMDA7XG59IiwiLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kO1xuICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4udWstY29tbWVudC5pcy1tb2RlcmF0b3Ige1xuXG4gIC51ay1jb21tZW50LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi51ay1jb21tZW50LmlzLWNlcnRpZmllZCB7XG59IiwiLmdsb3NzYXJ5LWxldHRlcnN7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmc7XG59XG5cbi5nbG9zc2FyeS1sZXR0ZXJzIGEge1xuICBiYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICB9XG59IiwiXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuICAudWstYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcbiAgLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtcGFkZGluZztcbiAgfVxufSIsIi8qIG9rYXlOYXYgc3R5bGVzICovXG5ib2R5Lm9rYXlOYXYtbG9hZGVkIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLm9rYXlOYXY6bm90KC5sb2FkZWQpIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLm9rYXlOYXYgdWwge1xuICAvKiBXZSB3YW50IHR3byBuYXZpZ2F0aW9ucyAtIG9uZSBoaWRkZW4gYW5kIG9uZSB2aXNpYmxlICovXG4gIGZsb2F0OiBsZWZ0O1xufVxuLm9rYXlOYXYgYSB7XG4gIC8qIExpbmtzIGdlbmVyYWwgc3R5bGluZyAqL1xuICBjb2xvcjogIzJlMmUzMztcbiAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ub2theU5hdl9fbmF2LS12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5va2F5TmF2X19uYXYtLXZpc2libGUgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ub2theU5hdl9fbmF2LS12aXNpYmxlIGEge1xuICAvKiBMaW5rIHN0eWxpbmcgZm9yIHRoZSB2aXNpYmxlIHBhcnQgb2YgdGhlIG5hdiAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIHBhZGRpbmc6IDE1cHggMTVweDtcbn1cbi5va2F5TmF2X19uYXYtLXZpc2libGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjNTQ2ZWRiO1xufVxuLyogTGluayBzdHlsaW5nIGZvciB0aGUgb2ZmLXNjcmVlbiBwYXJ0IG9mIHRoZSBuYXYgKi9cbi5va2F5TmF2X19uYXYtLWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA2MHB4O1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLm9rYXlOYXZfX25hdi0taW52aXNpYmxlIGEge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMjQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4O1xufVxuLm9rYXlOYXZfX25hdi0taW52aXNpYmxlLm5hdi1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuLm9rYXlOYXZfX25hdi0taW52aXNpYmxlLm5hdi1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLm9rYXlOYXZfX25hdi0taW52aXNpYmxlLnRyYW5zaXRpb24tZW5hYmxlZCB7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKSwgLXdlYmtpdC10cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSk7XG59XG4ub2theU5hdl9fbmF2LS1pbnZpc2libGUubmF2LW9wZW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuLyogS2ViYWIgaWNvbiAqL1xuLm9rYXlOYXZfX21lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xLCAxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMSwgMSksIC13ZWJraXQtdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjEsIDEpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICB6LWluZGV4OiAxO1xufVxuLm9rYXlOYXZfX21lbnUtdG9nZ2xlLm9rYXktaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5va2F5TmF2X19tZW51LXRvZ2dsZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IDRweDtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZDogIzJlMmUzMztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub2theU5hdl9fbWVudS10b2dnbGUgc3BhbjpudGgtY2hpbGQoMSkge1xuICB0b3A6IDA7XG59XG4ub2theU5hdl9fbWVudS10b2dnbGUgc3BhbjpudGgtY2hpbGQoMikge1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5va2F5TmF2X19tZW51LXRvZ2dsZSBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIGJvdHRvbTogMDtcbn1cbi5va2F5TmF2X19tZW51LXRvZ2dsZS5pY29uLS1hY3RpdmUge1xuICAvKiBLZWJhYiBpY29uIHdoZW4gb2ZmLXNjcmVlbiBuYXYgaXMgb3BlbiAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLm9rYXlOYXZfX21lbnUtdG9nZ2xlLmljb24tLWFjdGl2ZSBzcGFuIHtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1pY29uLWNvbG9yO1xufVxuXG4ub2theU5hdl9fbmF2LS1pbnZpc2libGUgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCIudG0tbmF2YmFyLWNvbnRhaW5lciAudWstbmF2YmFyLW5hdiA+IGxpID4gYTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1cHg7XG4gIHJpZ2h0OiBjYWxjKDEwMiUgLSAxNXB4KTtcbiAgYm90dG9tOiAyMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0O1xufVxuXG4udG0tbmF2YmFyLWNvbnRhaW5lciAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpob3Zlcjo6YmVmb3JlLFxuLnRtLW5hdmJhci1jb250YWluZXIgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhOjpiZWZvcmV7XG4gIHJpZ2h0OiAxNXB4O1xufVxuXG4udG0tbmF2YmFyLWNvbnRhaW5lciAudWstbmF2YmFyLW5hdj5saT5hIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRtLWhlYWRlcl9fdG9wbmF2IHtcbiAgYmFja2dyb3VuZDogJG5hdmJhci1jb2xvcjtcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgJi51ay1hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNilcbiAgfVxuXG4gIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhe1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICB9XG59XG5cbi51ay1uYXZiYXIudWstYW5jaG9ycyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhe1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogbm9ybWFsO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuICAudWstYW5jaG9ycyAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpub3QoLnVrLWljb24pIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgfVxufVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3ZlciwgXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3I7XG59XG5cbi5ib3VuZGFyeS1hbGlnbiB7XG4gIFtjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAudWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLXN1Ym1lbnUtY29sb3I7XG4gIH1cbn1cblxuLmljb24tc3VibWVudS0tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaWNvbi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uaW5jLW5hdmJhcl9tb3JlTGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDMxcHg7XG59XG5cbi5pbmMtbmF2YmFyX21vcmVMaXN0LXBkTGVmdCB7XG4gIHBhZGRpbmctbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xufVxuIiwiLnVrLW9mZmNhbnZhcy1iYXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcclxufVxyXG5cclxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstcGFyZW50IHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdsb2JhbC1tdXRlZC1jb2xvci1saWdodGVyO1xyXG59XHJcblxyXG4gIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGF7XHJcbiAgICBjb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XHJcbiAgfVxyXG5cclxuICAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgPiBsaS51ay1wYXJlbnQgPiBhe1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICB9XHJcblxyXG4uZHJpbGxkb3duIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vLyAuZHJpbGxkb3duLXJvb3QgKyAuZHJpbGxkb3duLXJvb3QsXHJcbi5kcmlsbGRvd24tc3ViIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udWstbmF2IC5kcmlsbGRvd24tY29udGFpbmVyIC51ay1uYXYtc3ViIHtcclxuICBwYWRkaW5nOiA1cHggMCA1cHggMHB4O1xyXG59XHJcblxyXG4udWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIuZHJpbGxkb3duLXJvb3QgYXtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG59XHJcblxyXG4udWstbmF2LWRpdmlkZXIgYSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG59XHJcblxyXG4uZHJpbGxkb3duLWJhY2sge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4XHJcbn1cclxuXHJcbiAgLmRyaWxsZG93bi1iYWNrIGEge1xyXG4gICAgY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZHJpbGxkb3duLWJhY2sgLnVrLWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBjb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XHJcbiAgfVxyXG5cclxuLm1lbnUtbGluay1pY29uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tZW51LWxpbmstaWNvbiBzcGFuLnVrLWljb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uaW5jLWJvdHRvbS1jYW52YXMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJvdHRvbTogMDtcclxufVxyXG5cclxuLm9mZmNhbnZhcyB7XHJcbiAgLnRtLWhlYWRlcl9fbG9nbyBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAyMzBweDtcclxuICB9IFxyXG5cclxuICAudWstbmF2YmFyLXN1YnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XHJcbiAgfVxyXG59XHJcbiIsIi5pbmMtcGFkZGluZy1tZWRpdW0ge1xuXHRwYWRkaW5nOiAyMHB4O1xufSIsIi5pbmMtY29udGFpbmVyLWNlbnRlcntcblx0bWFyZ2luOiAwIGF1dG87XG59IiwiLmluYy1wb3NpdGlvbi1yaWdodC1ib3R0b20tc2NyZWVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG59XG5cbi51ay1zbGlkZXIgLnVrLXNsaWRlci1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG4gIC5pbmMtcG9zaXRpb24tcmlnaHQtYm90dG9tLXNjcmVlbjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICY6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn0iLCIudWstY2FyZC1ib2R5ICogKyBoMixcbi51ay1jYXJkLWJvZHkgKiArIGgzLFxuLnVrLWNhcmQtYm9keSAqICsgaDQsXG4udWstY2FyZC1ib2R5ICogKyBoNSxcbi51ay1jYXJkLWJvZHkgKiArIGg2IHtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufSIsIkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcbiAgICAubGFuZGluZyB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn0iLCIudGV4dC0tc2xpbSB7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xufVxuXG4udWstdGV4dC1sZWFkIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICR0ZXh0LW11dGVkLWNvbG9yO1xufSJdfQ== */

/* end: extension/toutsurisolation/design/toutsurisolation/stylesheets/main.css */

/* start: extension/acceptcookies/design/standard/stylesheets/acceptcookies.css */
body {
    position: relative;
}

.acceptCookies {
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    z-index: 2000;
    display: none;
    color: #ffffff;
    position: fixed;
    font-size: 11px;
    text-align: center;
    background: #4a4c4d;
    border-color: #4a4c4d;
    box-sizing: border-box;
    padding: 9px 18px 10px 9px;
}

.acceptCookies p {
    margin: 0;
    font-size: 11px;
    line-height: 18px;
}

.acceptCookies a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: underline;
}

.acceptCookies a:hover {
    color: #cccccc;
}

.acceptCookies .close {
    top: 1px;
    right: 0;
    opacity: 1;
    color: #ffffff;
    line-height: 24px;
    position: absolute;
    font-size: 3em;
    font-weight: normal;
    text-decoration: none;
    padding: 5px 4px 4px 4px;
}

.acceptCookies .close:hover {
    opacity: 0.8;
}

.acceptCookies a.btnClose.close {
    top: 2px;
    opacity: 1;
    right: 20px;
    font-size: 1em;
    color: #605e5e;
    cursor: pointer;
    line-height: 1em;
    margin: -4px 0 0 0;
    text-align: center;
    position: relative;
    font-weight: normal;
    display: inline-block;
    text-decoration: none;
    border: 1px #ddb100 solid;
    background-color: #ffdb13;
    padding: 5px 10px 4px 10px;    
}

.acceptCookies a.btnClose:hover {
    background-color: #ddb100;
}

.acceptCookies .right {
    float: right;
}

@media only screen and (max-width: 639px) {
    .acceptCookies p {
        width: 80%;
    }

    .acceptCookies .close {
        width: 15%;
        position: relative;
        float: right;
        clear: right;
        margin-top: 5px;
        box-sizing: border-box;
    }
    
    .acceptCookies a.btnClose.close {
        margin: 15px 0 0 0;
        padding: 10px 15px 9px 15px;
        right: 0;
    }
}

/* end: extension/acceptcookies/design/standard/stylesheets/acceptcookies.css */

