/*
* Theme Name: Rinzai
* Description: Rinzai is a modern and minimalist theme for blogs, also good for business websites. Demo at https://demo.webminimalism.com/rinzai/ - since version 1.0.6 it has Yoast SEO breadcrumbs support, page templates with sidebar and without, new styling for post and page featured images, narrower content width for beter user experience, 100% valid markup checked against W3C Validator service and now theme supports vk.com and odnoklassniki.ru social icons. Also I did some small changes in styling. Check demo and ask any questions via email. By the way, what do you think about integrating WooCommerce support into this theme?
* Version: 1.0.8
* Author: Ivan Fonin
* Author URI: https://ivanfonin.com/
* License: The MIT License
* License URI: http://opensource.org/licenses/mit-license.php
* Tags: blog, education, photography, portfolio, news, one-column, two-columns, right-sidebar, grid-layout, translation-ready, custom-menu, custom-logo, featured-images, full-width-template
* Text Domain: rinzai
*/

@charset "UTF-8";
@font-face {
  font-family: "PT Sans";
  src: url("assets/fonts/PT_Sans-Web-Regular.ttf"), url("assets/fonts/PT_Sans-Web-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: "PT Sans";
  src: url("assets/fonts/PT_Sans-Web-Italic.ttf"), url("assets/fonts/PT_Sans-Web-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: "PT Sans";
  src: url("assets/fonts/PT_Sans-Web-Bold.ttf"), url("assets/fonts/PT_Sans-Web-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: "Yeseva One";
  src: url("assets/fonts/YesevaOne-Regular.ttf"), url("assets/fonts/YesevaOne-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

/* ========================================================================
   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 IE and iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: "PT Sans", -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%;
  -ms-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }

/*
 * Removes default margin.
 */
body {
  margin: 0; }

/* Links
 ========================================================================== */
/*
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  /* 1 */
  background-color: transparent;
  /* 2 */
  -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: #3c3c3c;
  text-decoration: none;
  cursor: pointer; }

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

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

/*
 * 1. Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 * 2. Add the correct font weight in Chrome, Edge, and Safari.
 */
/* 1 */
b,
strong {
  font-weight: inherit; }

/* 2 */
b,
strong {
  font-weight: bolder; }

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

/*
 * 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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: 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: "Yeseva One";
  font-weight: 400;
  color: #333;
  text-transform: none;
  -webkit-transition: font-size .15s ease-in-out;
  transition: font-size .15s ease-in-out; }

/* 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.625rem;
  line-height: 1.2;
  font-size: 1.5rem; }
  @media (min-width: 640px) {
    h1, .uk-h1 {
      font-size: 1.75rem; } }
  @media (min-width: 960px) {
    h1, .uk-h1 {
      font-size: 2.1rem; } }
  @media (min-width: 1200px) {
    h1, .uk-h1 {
      font-size: 2.625rem; } }

h2, .uk-h2 {
  font-size: 2rem;
  line-height: 1.3;
  font-size: 1.14286rem; }
  @media (min-width: 640px) {
    h2, .uk-h2 {
      font-size: 1.33333rem; } }
  @media (min-width: 960px) {
    h2, .uk-h2 {
      font-size: 1.6rem; } }
  @media (min-width: 1200px) {
    h2, .uk-h2 {
      font-size: 2rem; } }

h3, .uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4;
  font-size: 0.85714rem; }
  @media (min-width: 640px) {
    h3, .uk-h3 {
      font-size: 1rem; } }
  @media (min-width: 960px) {
    h3, .uk-h3 {
      font-size: 1.2rem; } }
  @media (min-width: 1200px) {
    h3, .uk-h3 {
      font-size: 1.5rem; } }

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

/* 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. Style
 */
hr, .uk-hr {
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  /* 2 */
  overflow: visible;
  /* 3 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5; }

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

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

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

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

/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 * 2. Override UA
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  /* 1 */
  overflow: auto; }

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
 ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  /* 1 */
  display: block; }

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

/*
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  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 {
  -ms-touch-action: manipulation;
      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: "1200px"; }

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

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

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

/* Text
 ========================================================================== */
/*
 * `!important` needed to override inverse component
 */
a.uk-link-text:not(:hover),
.uk-link-text a:not(:hover) {
  color: inherit !important; }

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

/* 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: 2.625rem;
  line-height: 1.2; }

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

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

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

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

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

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

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

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

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

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

.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%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%; }

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

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

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

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

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

.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%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%3E%3C%2Fcircle%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-child(n+2) {
  margin-top: 0; }

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.uk-description-list > dt {
  color: #333; }

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

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

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

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

/* Header cell
 ========================================================================== */
/*
 * 1. Style
 */
.uk-table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  /* 1 */
  font-size: 16px;
  font-weight: bold;
  color: #666; }

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

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

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

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

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

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

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

/*
 * Striped
 */
.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd) {
  background: #f8f8f8; }

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

/* Size modifier
 ========================================================================== */
.uk-table-small th,
.uk-table-small td {
  padding: 10px 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: 300px; }

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

/* ========================================================================
   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. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default `button` padding and background color
 * 7. Required for `button`.
 * 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 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6. */
  padding: 0;
  background-color: transparent;
  /* 7 */
  cursor: pointer;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0; }

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

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

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

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

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

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

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

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

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center; }

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

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

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  -webkit-box-sizing: border-box;
          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: #666; }

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

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

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

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

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

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

.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 */
  -webkit-box-sizing: border-box;
          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.
 */
.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; }

/*
 * Remove the padding in IE 10-.
 */
.uk-radio,
.uk-checkbox {
  padding: 0; }

/*
 * 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: #f8f8f8;
  color: #666; }

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

/*
 * 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: #f8f8f8;
  color: #666; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%3E%3C%2Fpolygon%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%3E%3C%2Fpolygon%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; }

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

/* Radio and checkbox
 * Note: Only works in Chrome, Safari, Opera and Edge
 ========================================================================== */
/*
 * 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;
  /* 5 */
  background-color: #ebebeb;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%; }

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

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  outline: none; }

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

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

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

.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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E"); }

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

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

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

.uk-checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%3E%3C%2Frect%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
 ========================================================================== */
/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 10px; }

/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 959px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 10px; } }

/* 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: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  /* 4 */
  color: #999; }

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

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

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

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

.uk-form-icon-flip + .uk-input {
  padding-right: 40px; }

/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Style
 * 7. `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.
 * 8. Align text if button has a width
 * 9. Required for `a`.
 */
.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 12px;
  /* 7 */
  line-height: 40px;
  /* 8 */
  text-align: center;
  /* 9 */
  text-decoration: none;
  border-radius: 500px;
  text-transform: uppercase;
  font-weight: bold; }

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

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

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

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

/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: #fff;
  color: #3c3c3c; }

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

/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: #fcfcfc;
  color: #3c3c3c; }

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

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

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

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #333;
  color: #fff; }

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

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

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

/* 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: #f8f8f8;
  color: #999; }

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

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

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #3c3c3c;
  font-size: 0.875rem;
  text-transform: uppercase; }
  .uk-button-text:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    border-bottom: 1px solid currentColor;
    -webkit-transition: right .3s ease-out;
    transition: right .3s ease-out; }

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

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

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

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

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

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

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  -webkit-box-sizing: border-box;
          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: #1e87f0; }

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

/*
 * Indicate that an image or video is used as background
 */
/* 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 {
  -webkit-box-sizing: content-box;
          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-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 lists
 */
.uk-grid {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none; }

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

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

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

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

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

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

/*
 * Small
 */
/* Horizontal */
.uk-grid-small {
  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: 1200px) {
  /* 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 #e5e5e5; }

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

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

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

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

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

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

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -80px; }
  .uk-grid-divider > * {
    padding-left: 80px; }
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px; }
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px; }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px; } }

/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small {
  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: 1200px) {
  /* 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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

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

/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  position: relative;
  -webkit-box-sizing: border-box;
          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: #1e87f0; }

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

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background: #f8f8f8;
  color: #666; }

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

.uk-card-default.uk-card-hover:hover {
  background-color: #ebebeb; }

/*
 * Primary
 */
.uk-card-primary {
  background: #1e87f0;
  color: #fff; }

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

.uk-card-primary.uk-card-hover:hover {
  background-color: #0f7ae5; }

/*
 * Secondary
 */
.uk-card-secondary {
  background: #333;
  color: #fff; }

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

.uk-card-secondary.uk-card-hover:hover {
  background-color: #262626; }

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

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

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

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

/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999; }

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

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

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

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

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

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

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

/* ========================================================================
   Component: Totop
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-totop {
  padding: 5px;
  color: #999; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* 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(51, 51, 51, 0.45); }

/* ========================================================================
   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.625rem;
  line-height: 1.2; }

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

/* ========================================================================
   Component: Comment
 ========================================================================== */
/* Sections
 ========================================================================== */
.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: #999; }

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

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

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

/* Tablet and bigger */
@media (min-width: 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
 ========================================================================== */
/* ========================================================================
   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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666; }

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

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

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

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

/* Icon
 ========================================================================== */
/*
 * Adopts `uk-icon`
 * Required for `button`
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default `button` padding and background color
 * 7. Required for `button`.
 */
.uk-search-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6. */
  padding: 0;
  background-color: transparent;
  /* 7 */
  cursor: pointer; }

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

/*
 * 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: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  /* 3 */
  color: #999; }

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

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

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

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

/*
 * Input
 */
.uk-search-default .uk-search-input {
  height: 40px;
  padding-left: 6px;
  padding-right: 6px;
  background: #f8f8f8; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* 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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  position: relative; }

/* Container
 ========================================================================== */
.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #fff; }
  .uk-navbar-container:not(.uk-navbar-transparent) > .uk-container .uk-navbar-left {
    margin-left: -15px; }
  .uk-navbar-container:not(.uk-navbar-transparent) > .uk-container .uk-navbar-right {
    margin-right: -15px; }

/*
 * 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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-align: center;
  -webkit-box-align: center;
          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%;
  -webkit-transform: translate(-50%, -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 lists
 */
.uk-navbar-nav {
  display: -ms-flexbox;
  display: -webkit-box;
  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 {
  -ms-flex-wrap: wrap;
  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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 16px;
  font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* 4 */
  text-decoration: none; }

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

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

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

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

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

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

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

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

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 15px;
  background: #f8f8f8;
  color: #666; }

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

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

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

[class*='uk-navbar-dropdown-left'] {
  margin-left: 0; }

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

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

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

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

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

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

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

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

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

/*
 * Dropbar modifier
 */
.uk-navbar-dropdown-dropbar {
  margin-bottom: 30px; }

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
/*
 * Items
 */
.uk-navbar-dropdown-nav > li > a {
  color: #999; }

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

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

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

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

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

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

/* Dropbar
 ========================================================================== */
.uk-navbar-dropbar {
  position: relative;
  background: #f8f8f8;
  overflow: hidden; }

/*
 * Slide modifier
 */
.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 1020;
  left: 0;
  right: 0; }

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset lists
 */
.uk-subnav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative; }

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

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

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

/* Divider modifier
 ========================================================================== */
/*
 * 1. Align items and divider vertically
 */
.uk-subnav-divider > * {
  /* 1 */
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          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 #e5e5e5; }

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

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

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

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

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

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

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

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

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

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

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

/* ========================================================================
   Component: Pagination
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset lists
 */
.uk-pagination {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          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: #999; }

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

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

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

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset lists
 */
.uk-tab {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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-tab > * {
  /* 1 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative; }

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999; }

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

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

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

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  /* 1 */
  margin-left: 0; }

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

.uk-tab-left > * > a {
  text-align: right; }

.uk-tab-right > * > a {
  text-align: left; }

/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px;
  color: rgba(102, 102, 102, 0.6); }

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

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

/* Icon modifier
 ========================================================================== */
/*
 * Previous
 */
/*
 * Next
 */
/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex; }

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

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

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(102, 102, 102, 0.1);
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap; }

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

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

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

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-dotnav-vertical {
  /* 1 */
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px; }

/* 2 */
.uk-dotnav-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 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer; }

/* 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 */
  -webkit-box-sizing: border-box;
          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 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 15px;
  background: #f8f8f8;
  color: #666; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-modal {
    padding-left: 30px;
    padding-right: 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 caption, spinner and close button
 * 2. Dimensions
 * 3. Style
 * 4. Slide-in transition
 */
.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 50px auto;
  width: 600px;
  max-width: 100%;
  /* 3 */
  background: #fff;
  /* 4 */
  opacity: 0;
  -webkit-transform: translateY(-100px);
  transform: translateY(-100px);
  -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
  transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
  transition: opacity 0.3s linear, transform 0.3s ease-out;
  transition: opacity 0.3s linear, transform 0.3s ease-out, -webkit-transform 0.3s ease-out; }

/* Phone portrait and smaller */
@media (max-width: 639px) {
  .uk-modal-dialog {
    margin-top: 15px;
    margin-bottom: 15px; } }

/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  -webkit-transform: translateY(0);
  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%;
  -webkit-transform: translateY(0);
  transform: translateY(0); }

/* Lightbox modifier
 ========================================================================== */
.uk-modal-lightbox {
  background: rgba(0, 0, 0, 0.9); }

.uk-modal-lightbox .uk-modal-dialog {
  margin-left: 15px;
  margin-right: 15px; }

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

.uk-modal-header {
  padding: 15px 30px;
  background: #f8f8f8; }

.uk-modal-footer {
  padding: 15px 30px;
  background: #f8f8f8; }

/*
 * 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
 */
.uk-modal-close-outside {
  top: 0;
  right: 0;
  -webkit-transform: translate(100%, -100%);
  transform: translate(100%, -100%);
  color: white; }

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

/*
 * Full
 */
/* Caption
 ========================================================================== */
.uk-modal-caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 20px;
  color: #fff;
  text-align: center; }

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

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

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

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

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

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

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

/*
 * Slide Animation (Used in slide and push mode)
 */
.uk-offcanvas-bar-animation {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-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 */
  -webkit-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out; }

.uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  -webkit-transform: translateX(0);
  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 */
  -ms-touch-action: none;
      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;
  -webkit-transition: opacity 0.15s linear;
  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;
  -webkit-transition: left 0.3s ease-out;
  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 lists
 */
.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: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset lists
 * 3. Gutter
 */
.uk-iconnav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  /* 2 */
  padding-left: 10px; }

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > * {
  /* 1 */
  display: block;
  /* 2 */
  color: #999; }

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

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

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-iconnav-vertical {
  /* 1 */
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          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 */
  -webkit-box-sizing: border-box;
          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: #666;
  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: #1e87f0; }

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

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

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

/* ========================================================================
   Component: Tooltip
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Position
 * 3. Dimensions
 * 4. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  -webkit-box-sizing: border-box;
          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: #f8f8f8; }

/* 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. Remove default style
 * 2. Behave like a block element
 * 3. Remove borders in Firefox and Edge
 * 4. Set background color for progress container in Firefox, IE11 and Edge
 * 5. Style
 */
.uk-progress {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  display: block;
  width: 100%;
  /* 3 */
  border: 0;
  /* 4 */
  background-color: #f8f8f8;
  /* 5 */
  margin-bottom: 20px;
  height: 15px; }

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

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

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

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

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

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

/*
 * Deactivate browser touch actions in IE11
 */
.uk-sortable > * {
  -ms-touch-action: none;
      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-'] {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.1s;
  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-'] {
  -webkit-animation-name: none;
  animation-name: none; }

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

@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

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

@keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

@keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

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

@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

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

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

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

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

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

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

/*
 * Shake
 */
@-webkit-keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px); } }

@keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }

/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*='uk-child-width'] > * {
  -webkit-box-sizing: border-box;
          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']) {
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
  /* 1 */
  min-width: 0;
  /* 2 */
  -ms-flex-preferred-size: 1px;
      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']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        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']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%; }
  .uk-child-width-1-2\@l > * {
    width: 50%; }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001); }
  .uk-child-width-1-4\@l > * {
    width: 25%; }
  .uk-child-width-1-5\@l > * {
    width: 20%; }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001); }
  .uk-child-width-auto\@l > * {
    width: auto; }
  .uk-child-width-expand\@l > * {
    width: 1px; }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        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']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px; } }

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*='uk-width'] {
  -webkit-box-sizing: border-box;
          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;
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
  min-width: 0;
  -ms-flex-preferred-size: 1px;
      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;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        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;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%; }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%; }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001); }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001); }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%; }
  .uk-width-3-4\@l {
    width: 75%; }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%; }
  .uk-width-2-5\@l {
    width: 40%; }
  .uk-width-3-5\@l {
    width: 60%; }
  .uk-width-4-5\@l {
    width: 80%; }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001); }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001); }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px; }
  .uk-width-medium\@l {
    width: 300px; }
  .uk-width-large\@l {
    width: 450px; }
  .uk-width-xlarge\@l {
    width: 600px; }
  .uk-width-xxlarge\@l {
    width: 750px; }
  /* Auto */
  .uk-width-auto\@l {
    width: auto; }
  /* Expand */
  .uk-width-expand\@l {
    width: 1px;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        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;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px; } }

/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333; }

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }

/* 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: #999 !important; }

.uk-text-primary {
  color: #1e87f0 !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: #1e87f0 !important; }

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

/* 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: 1200px) {
  .uk-text-left\@l {
    text-align: left !important; }
  .uk-text-right\@l {
    text-align: right !important; }
  .uk-text-center\@l {
    text-align: center !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important; }
  .uk-text-right\@xl {
    text-align: right !important; }
  .uk-text-center\@xl {
    text-align: center !important; } }

/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important; }

.uk-text-middle {
  vertical-align: middle !important; }

.uk-text-bottom {
  vertical-align: bottom !important; }

.uk-text-baseline {
  vertical-align: baseline !important; }

/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap; }

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0; }

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Add a hyphen where the word breaks
 * 4. 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
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word;
  /* 3 */
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto; }

/* 4 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all; }

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*='uk-column-'] {
  -webkit-column-gap: 30px;
  column-gap: 30px; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*='uk-column-'] {
    -webkit-column-gap: 40px;
    column-gap: 40px; } }

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*='uk-column-'] img {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  -webkit-column-rule: 1px solid #e5e5e5;
  column-rule: 1px solid #e5e5e5;
  /* 1 */
  -webkit-column-gap: 60px;
  column-gap: 60px; }

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

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

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

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

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

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

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

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

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

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

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -webkit-column-span: all;
  column-span: all; }

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative; }

/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: #fff; }

.uk-background-muted {
  background-color: #f8f8f8; }

.uk-background-primary {
  background-color: #1e87f0; }

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

/* 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
 ========================================================================== */
.uk-background-fixed {
  background-attachment: fixed; }

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

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important; } }

/* Blend modes
 ========================================================================== */
.uk-background-blend-multiply {
  background-blend-mode: multiply; }

.uk-background-blend-screen {
  background-blend-mode: screen; }

.uk-background-blend-overlay {
  background-blend-mode: overlay; }

.uk-background-blend-darken {
  background-blend-mode: darken; }

.uk-background-blend-lighten {
  background-blend-mode: lighten; }

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge; }

.uk-background-blend-color-burn {
  background-blend-mode: color-burn; }

.uk-background-blend-hard-light {
  background-blend-mode: hard-light; }

.uk-background-blend-soft-light {
  background-blend-mode: soft-light; }

.uk-background-blend-difference {
  background-blend-mode: difference; }

.uk-background-blend-exclusion {
  background-blend-mode: exclusion; }

.uk-background-blend-hue {
  background-blend-mode: hue; }

.uk-background-blend-saturation {
  background-blend-mode: saturation; }

.uk-background-blend-color {
  background-blend-mode: color; }

.uk-background-blend-luminosity {
  background-blend-mode: luminosity; }

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*='uk-align'] {
  display: block;
  margin-bottom: 30px; }

* + [class*='uk-align'] {
  margin-top: 30px; }

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto; }

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left; }

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right; }

/* Phone landscape and bigger */
@media (min-width: 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: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left; }
  .uk-align-right\@l {
    margin-top: 0;
    float: right; }
  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px; }
  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left; }
  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right; } }

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  position: relative;
  -webkit-box-sizing: border-box;
          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 #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both; }

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell; }

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both; }

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left; }

.uk-float-right {
  float: right; }

/* 1 */
[class*='uk-float-'] {
  max-width: 100%; }

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden; }

/*
 * Enable scrollbars if content is clipped
 */
.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. Clip child elements
 */
[class*='uk-inline'] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle; }

.uk-inline-clip {
  /* 5 */
  overflow: hidden; }

/* Height
 ========================================================================== */
[class*='uk-height'] {
  -webkit-box-sizing: border-box;
          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; }

/* 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 {
  -webkit-box-sizing: border-box;
          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 {
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-medium {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

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

.uk-box-shadow-xlarge {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }

/*
 * Hover
 */
[class*='uk-box-shadow-hover'] {
  -webkit-transition: box-shadow 0.1s ease-in-out;
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; }

.uk-box-shadow-hover-small:hover {
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-medium:hover {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }

.uk-box-shadow-hover-large:hover {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }

.uk-box-shadow-hover-xlarge:hover {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          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 ((-webkit-filter: blur(0)) or (filter: blur(0))) or (-webkit-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;
    -webkit-filter: blur(20px);
    filter: blur(20px); }
  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative; } }

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

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

/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: "Yeseva One";
  color: #666;
  /* 1 */
  text-decoration: none;
  text-transform: uppercase; }

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

.uk-logo-inverse {
  display: none; }

/* SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor; }

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

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

/* 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 {
  -webkit-box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
          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 {
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0; }

.uk-transform-origin-top-center {
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0; }

.uk-transform-origin-top-right {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.uk-transform-origin-center-left {
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%; }

.uk-transform-origin-center-right {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%; }

.uk-transform-origin-bottom-left {
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%; }

.uk-transform-origin-bottom-center {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%; }

.uk-transform-origin-bottom-right {
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex; }

.uk-flex-inline {
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  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 {
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start; }

.uk-flex-center {
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center; }

.uk-flex-right {
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end; }

.uk-flex-between {
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between; }

.uk-flex-around {
  -ms-flex-pack: distribute;
  justify-content: space-around; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-left\@s {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@s {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center; }
  .uk-flex-right\@s {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@s {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@s {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-left\@m {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@m {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center; }
  .uk-flex-right\@m {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@m {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@m {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@l {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center; }
  .uk-flex-right\@l {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@l {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@l {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@xl {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center; }
  .uk-flex-right\@xl {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@xl {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@xl {
    -ms-flex-pack: distribute;
    justify-content: space-around; } }

/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch; }

.uk-flex-top {
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start; }

.uk-flex-middle {
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center; }

.uk-flex-bottom {
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end; }

/* Direction
 ========================================================================== */
.uk-flex-row {
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row; }

.uk-flex-row-reverse {
  -ms-flex-direction: row-reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse; }

.uk-flex-column {
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column; }

.uk-flex-column-reverse {
  -ms-flex-direction: column-reverse;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
          flex-direction: column-reverse; }

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

.uk-flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.uk-flex-wrap-reverse {
  -ms-flex-wrap: 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 {
  -ms-flex-line-pack: stretch;
  align-content: stretch; }

.uk-flex-wrap-top {
  -ms-flex-line-pack: start;
  align-content: flex-start; }

.uk-flex-wrap-middle {
  -ms-flex-line-pack: center;
  align-content: center; }

.uk-flex-wrap-bottom {
  -ms-flex-line-pack: end;
  align-content: flex-end; }

.uk-flex-wrap-between {
  -ms-flex-line-pack: justify;
  align-content: space-between; }

.uk-flex-wrap-around {
  -ms-flex-line-pack: distribute;
  align-content: space-around; }

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  -ms-flex-order: -1;
  -webkit-box-ordinal-group: 0;
          order: -1; }

.uk-flex-last {
  -ms-flex-order: 99;
  -webkit-box-ordinal-group: 100;
          order: 99; }

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-first\@s {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .uk-flex-last\@s {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99; } }

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

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .uk-flex-last\@l {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .uk-flex-last\@xl {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99; } }

/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none; }

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  -ms-flex: auto;
  -webkit-box-flex: 1;
          flex: auto; }

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1; }

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px; }

* + .uk-margin {
  margin-top: 20px !important; }

.uk-margin-top {
  margin-top: 20px !important; }

.uk-margin-bottom {
  margin-bottom: 20px !important; }

.uk-margin-left {
  margin-left: 20px !important; }

.uk-margin-right {
  margin-right: 20px !important; }

/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px; }

* + .uk-margin-small {
  margin-top: 10px !important; }

.uk-margin-small-top {
  margin-top: 10px !important; }

.uk-margin-small-bottom {
  margin-bottom: 10px !important; }

.uk-margin-small-left {
  margin-left: 10px !important; }

.uk-margin-small-right {
  margin-right: 10px !important; }

/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px; }

* + .uk-margin-medium {
  margin-top: 40px !important; }

.uk-margin-medium-top {
  margin-top: 40px !important; }

.uk-margin-medium-bottom {
  margin-bottom: 40px !important; }

.uk-margin-medium-left {
  margin-left: 40px !important; }

.uk-margin-medium-right {
  margin-right: 40px !important; }

/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px; }

* + .uk-margin-large {
  margin-top: 40px !important; }

.uk-margin-large-top {
  margin-top: 40px !important; }

.uk-margin-large-bottom {
  margin-bottom: 40px !important; }

.uk-margin-large-left {
  margin-left: 40px !important; }

.uk-margin-large-right {
  margin-right: 40px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-large {
    margin-bottom: 70px; }
  * + .uk-margin-large {
    margin-top: 70px !important; }
  .uk-margin-large-top {
    margin-top: 70px !important; }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important; }
  .uk-margin-large-left {
    margin-left: 70px !important; }
  .uk-margin-large-right {
    margin-right: 70px !important; } }

/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px; }

* + .uk-margin-xlarge {
  margin-top: 70px !important; }

.uk-margin-xlarge-top {
  margin-top: 70px !important; }

.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important; }

.uk-margin-xlarge-left {
  margin-left: 70px !important; }

.uk-margin-xlarge-right {
  margin-right: 70px !important; }

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-xlarge {
    margin-bottom: 140px; }
  * + .uk-margin-xlarge {
    margin-top: 140px !important; }
  .uk-margin-xlarge-top {
    margin-top: 140px !important; }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important; }
  .uk-margin-xlarge-left {
    margin-left: 140px !important; }
  .uk-margin-xlarge-right {
    margin-right: 140px !important; } }

/* 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: 1200px) {
  .uk-padding {
    padding: 40px; } }

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

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

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

/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important; }

.uk-padding-remove-top {
  padding-top: 0 !important; }

.uk-padding-remove-bottom {
  padding-bottom: 0 !important; }

.uk-padding-remove-left {
  padding-left: 0 !important; }

.uk-padding-remove-right {
  padding-right: 0 !important; }

.uk-padding-remove-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
[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%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-max-content;
  max-width: 100%; }

/* Vertical */
.uk-position-center-left,
.uk-position-center-right {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.uk-position-center-left {
  left: 0; }

.uk-position-center-right {
  right: 0; }

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  /* 1 */
  display: table; }

.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 {
  -webkit-transform: translate(calc(-50% - 15px), calc(-50% - 15px));
  transform: translate(calc(-50% - 15px), calc(-50% - 15px)); }

.uk-position-small.uk-position-center-left,
.uk-position-small.uk-position-center-right {
  -webkit-transform: translateY(calc(-50% - 15px));
  transform: translateY(calc(-50% - 15px)); }

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  -webkit-transform: translateX(calc(-50% - 15px));
  transform: translateX(calc(-50% - 15px)); }

/*
 * Medium
 */
.uk-position-medium {
  margin: 30px; }

.uk-position-medium.uk-position-center {
  -webkit-transform: translate(calc(-50% - 30px), calc(-50% - 30px));
  transform: translate(calc(-50% - 30px), calc(-50% - 30px)); }

.uk-position-medium.uk-position-center-left,
.uk-position-medium.uk-position-center-right {
  -webkit-transform: translateY(calc(-50% - 30px));
  transform: translateY(calc(-50% - 30px)); }

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  -webkit-transform: translateX(calc(-50% - 30px));
  transform: translateX(calc(-50% - 30px)); }

/* ========================================================================
   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'] {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transition-property: opacity, transform, filter;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter; }

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

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

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

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

.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle.uk-hover .uk-transition-scale-up {
  opacity: 1;
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1); }

.uk-transition-scale-down {
  -webkit-transform: scale3d(1.1, 1.1, 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 {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1); }

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

.uk-transition-slide-top {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%); }

.uk-transition-slide-bottom {
  -webkit-transform: translateY(100%);
  transform: translateY(100%); }

.uk-transition-slide-left {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%); }

.uk-transition-slide-right {
  -webkit-transform: translateX(100%);
  transform: translateX(100%); }

.uk-transition-slide-top-small {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px); }

.uk-transition-slide-bottom-small {
  -webkit-transform: translateY(10px);
  transform: translateY(10px); }

.uk-transition-slide-left-small {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px); }

.uk-transition-slide-right-small {
  -webkit-transform: translateX(10px);
  transform: translateX(10px); }

.uk-transition-slide-top-medium {
  -webkit-transform: translateY(-50px);
  transform: translateY(-50px); }

.uk-transition-slide-bottom-medium {
  -webkit-transform: translateY(50px);
  transform: translateY(50px); }

.uk-transition-slide-left-medium {
  -webkit-transform: translateX(-50px);
  transform: translateX(-50px); }

.uk-transition-slide-right-medium {
  -webkit-transform: translateX(50px);
  transform: translateX(50px); }

/* Hover */
.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle.uk-hover [class*='uk-transition-slide'] {
  opacity: 1;
  -webkit-transform: translateX(0) translateY(0);
  transform: translateX(0) translateY(0); }

/* Opacity modifier
========================================================================== */
.uk-transition-opaque {
  opacity: 1; }

/* Duration modifiers
========================================================================== */
.uk-transition-slow {
  -webkit-transition-duration: 0.7s;
          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: 1200px) {
  .uk-hidden\@l {
    display: none !important; } }

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-hidden\@xl {
    display: none !important; } }

/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 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: 1199px) {
  .uk-visible\@l {
    display: none !important; } }

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-visible\@xl {
    display: none !important; } }

/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important; }

/* Hover
 ========================================================================== */
/* Hidden */
.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-hidden-hover {
  display: none !important; }

/* Invisible */
.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-invisible-hover {
  visibility: hidden !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 {
  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-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 {
    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-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 {
    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-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-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 {
    color: rgba(255, 255, 255, 0.7); }
  .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 {
    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-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-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-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-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-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-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-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-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-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-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-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 {
    color: #fff; }
  .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 {
    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-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 {
    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-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 {
    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-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 {
    color: rgba(255, 255, 255, 0.5); }
  .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 {
    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 {
    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-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 {
    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 {
    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%3E%3C%2Fcircle%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-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 {
    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 {
    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) {
    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) {
    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 {
    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%3E%3C%2Fcircle%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 {
    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-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 {
    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-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 {
    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 {
    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-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 {
    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 {
    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-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-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 {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    background-clip: padding-box; }
    .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-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-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 {
      background-color: rgba(255, 255, 255, 0.1);
      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 {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-input::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-input::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-moz-placeholder, .uk-overlay-primary .uk-input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-input::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder, .uk-overlay-primary .uk-input::-webkit-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 {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-textarea::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-moz-placeholder, .uk-overlay-primary .uk-textarea::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-textarea::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder, .uk-overlay-primary .uk-textarea::-webkit-input-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]) {
    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%3E%3C%2Fpolygon%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%3E%3C%2Fpolygon%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-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 {
    background-color: rgba(242, 242, 242, 0.1); }
  .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-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-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 {
    background-color: #fff; }
  .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-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-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 {
    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 {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%3E%3C%2Fcircle%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 {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%2F%3E%0A%3C%2Fsvg%3E"); }
  .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 {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E"); }
  .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 {
    background-color: #fff;
    color: #666; }
  .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-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 {
    background-color: #f2f2f2;
    color: #666; }
  .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-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 {
    background-color: #e6e6e6;
    color: #666; }
  .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 {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover,
  .uk-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 {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-overlay-primary .uk-button-primary:active,
  .uk-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 {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-overlay-primary .uk-button-secondary {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-overlay-primary .uk-button-secondary:hover,
  .uk-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 {
    background-color: #f2f2f2;
    color: #666; }
  .uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-overlay-primary .uk-button-secondary:active,
  .uk-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 {
    background-color: #e6e6e6;
    color: #666; }
  .uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text, .uk-overlay-primary .uk-button-text {
    color: rgba(255, 255, 255, 0.5); }
  .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-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 {
    color: rgba(255, 255, 255, 0.7); }
  .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 {
    color: rgba(255, 255, 255, 0.5); }
  .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 {
    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 {
    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 {
    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-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 {
    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 {
    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-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 {
    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 {
    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 {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover,
  .uk-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 {
    color: #666; }
  .uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-label, .uk-overlay-primary .uk-label {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-article-meta, .uk-overlay-primary .uk-article-meta {
    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 {
    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 {
    color: rgba(255, 255, 255, 0.5) !important; }
  .uk-light .uk-search-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder, .uk-overlay-primary .uk-search-input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-search-input::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder, .uk-overlay-primary .uk-search-input::-webkit-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 {
    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 {
    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 {
    background-color: rgba(255, 255, 255, 0.1); }
  .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 {
    background-color: rgba(255, 255, 255, 0.1); }
  .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 {
    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 {
    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 {
    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-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 {
    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 {
    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%3E%3C%2Fpolyline%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 {
    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%3E%3C%2Fpolyline%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 {
    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-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 {
    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 {
    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 {
    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 {
    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 {
    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-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 {
    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 {
    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-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 {
    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 {
    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 {
    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 {
    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 {
    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-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 {
    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 {
    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-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-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 {
    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 {
    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 {
    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 {
    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 {
    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-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-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 {
    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 {
    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-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 {
    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 {
    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 {
    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 {
    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-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 {
    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 {
    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 {
    background-color: #fff;
    color: #666; }
  .uk-light .uk-subnav > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-overlay-primary .uk-subnav > .uk-disabled > a {
    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 > * > * {
    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-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 {
    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 > * {
    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 {
    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 > * > * {
    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-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 {
    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 > * {
    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 > * {
    color: rgba(255, 255, 255, 0.5); }
  .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 {
    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-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 {
    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 {
    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 {
    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 {
    color: rgba(255, 255, 255, 0.3); }
  .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-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 {
    color: rgba(255, 255, 255, 0.5); }
  .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 {
    color: rgba(255, 255, 255, 0.6); }
  .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 > * > * {
    background-color: rgba(255, 255, 255, 0.1); }
  .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-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 {
    background-color: rgba(255, 255, 255, 0.4); }
  .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 {
    background-color: rgba(255, 255, 255, 0.6); }
  .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 > * {
    background-color: rgba(255, 255, 255, 0.6); }
  .uk-light .uk-iconnav > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > *, .uk-card-primary.uk-card-body .uk-iconnav > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > *, .uk-card-secondary.uk-card-body .uk-iconnav > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > *, .uk-overlay-primary .uk-iconnav > * > * {
    color: rgba(255, 255, 255, 0.5); }
  .uk-light .uk-iconnav > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > :hover, .uk-card-primary.uk-card-body .uk-iconnav > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > :hover, .uk-card-secondary.uk-card-body .uk-iconnav > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > :hover, .uk-overlay-primary .uk-iconnav > * > :hover,
  .uk-light .uk-iconnav > * > :focus, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > :focus, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > :focus, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > :focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > :focus, .uk-card-primary.uk-card-body .uk-iconnav > * > :focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > :focus, .uk-card-secondary.uk-card-body .uk-iconnav > * > :focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > :focus, .uk-overlay-primary .uk-iconnav > * > :focus {
    color: rgba(255, 255, 255, 0.7); }
  .uk-light .uk-iconnav > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *, .uk-card-primary.uk-card-body .uk-iconnav > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > *, .uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > *, .uk-overlay-primary .uk-iconnav > .uk-active > * {
    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 {
    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 {
    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 {
    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 {
    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 {
    -webkit-column-rule-color: rgba(255, 255, 255, 0.2);
    column-rule-color: rgba(255, 255, 255, 0.2); }
  .uk-light .uk-logo, .uk-section-primary:not(.uk-preserve-color) .uk-logo, .uk-section-secondary:not(.uk-preserve-color) .uk-logo, .uk-tile-primary:not(.uk-preserve-color) .uk-logo, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo, .uk-card-primary.uk-card-body .uk-logo, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo, .uk-card-secondary.uk-card-body .uk-logo, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo, .uk-overlay-primary .uk-logo {
    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-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 {
    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) {
    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 {
    display: inline; }

/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !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; } }

/* Helpers */
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
  -webkit-appearance: none;
  border-radius: 0; }

/* WordPress */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }

.screen-reader-text:focus {
  background-color: #fff;
  -webkit-box-shadow: 0 0 1px 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 1px 3px rgba(0, 0, 0, 0.15);
  clip: auto !important;
  color: #3c3c3c;
  display: block;
  font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  height: auto;
  left: 7px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 7px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

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

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

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

.bypostauthor .uk-comment-avatar {
  border: 3px solid white;
  -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25); }

.wp-caption,
.gallery-caption {
  max-width: 100% !important; }

.wp-caption-text {
  color: #999;
  font-size: 0.875rem;
  margin-top: 10px; }

.sticky {
  position: relative; }

.custom-logo-link .custom-logo {
  max-height: 50px;
  width: auto; }

.comment-edit-link .uk-icon {
  position: relative;
  bottom: 2px; }

.sidebar .widget ul {
  padding: 0;
  list-style: none; }
  .sidebar .widget ul li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 7.5px;
    list-style: none; }
    .sidebar .widget ul li:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 8px;
      width: 8px;
      height: 8px;
      background: #ebebeb; }

.sidebar .widget .tagcloud .tag-cloud-link {
  margin-right: 1rem; }

#content .post-content,
#content .page-content {
  font-size: 18px; }
  #content .post-content a,
  #content .page-content a {
    border-bottom: 2px solid #d2d2d2;
    -webkit-transition: border-bottom-color .25s ease-in-out;
    transition: border-bottom-color .25s ease-in-out; }
  #content .post-content a:hover, #content .post-content a:focus, #content .post-content a:active,
  #content .page-content a:hover,
  #content .page-content a:focus,
  #content .page-content a:active {
    border-bottom-color: #333; }

/* Theme special classes. */
.tm-post-title {
  text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.33); }

.tm-excerpt p {
  margin-bottom: 5px; }

.tm-text-xsmall {
  font-size: 12px !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsImZvbnRzLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Jhc2Uuc2NzcyIsInRoZW1lL3ZhcmlhYmxlcy5zY3NzIiwidWlraXQvdmFyaWFibGVzLnNjc3MiLCJ0aGVtZS9iYXNlLW1peGlucy5zY3NzIiwidGhlbWUvYmFzZS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9saW5rLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2hlYWRpbmcuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwidWlraXQvY29tcG9uZW50cy9taXhpbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9saXN0LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Rlc2NyaXB0aW9uLWxpc3Quc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdGFibGUuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvaWNvbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9mb3JtLXJhbmdlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Zvcm0uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ0aGVtZS9idXR0b24tbWl4aW5zLnNjc3MiLCJ0aGVtZS9idXR0b24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc2VjdGlvbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9jb250YWluZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvZ3JpZC5zY3NzIiwidWlraXQvY29tcG9uZW50cy90aWxlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2NhcmQuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvY2xvc2Uuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc3Bpbm5lci5zY3NzIiwidWlraXQvY29tcG9uZW50cy90b3RvcC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9tYXJrZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYWxlcnQuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvbGFiZWwuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2NvbW1lbnQuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL25hdi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9uYXZiYXIuc2NzcyIsInRoZW1lL25hdmJhci5zY3NzIiwidGhlbWUvbmF2YmFyLW1peGlucy5zY3NzIiwidWlraXQvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9wYWdpbmF0aW9uLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3RhYi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9zbGlkZW5hdi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9kb3RuYXYuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Ryb3Auc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvbW9kYWwuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc3RpY2t5LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL29mZmNhbnZhcy5zY3NzIiwidWlraXQvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwidWlraXQvY29tcG9uZW50cy9pY29ubmF2LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy90b29sdGlwLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3Byb2dyZXNzLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3NvcnRhYmxlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvd2lkdGguc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdGV4dC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvY292ZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYmFja2dyb3VuZC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy91dGlsaXR5LnNjc3MiLCJ0aGVtZS91dGlsaXR5LW1peGlucy5zY3NzIiwidWlraXQvY29tcG9uZW50cy9mbGV4LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL21hcmdpbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3RyYW5zaXRpb24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiLCJ1aWtpdC9taXhpbnMuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvcHJpbnQuc2NzcyIsImhlbHBlcnMuc2NzcyIsIndvcmRwcmVzcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0NqQjtFQUNDLHVCQUFzQjtFQUN0QixpSEFDOEQ7RUFDOUQsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUFBOztBQUluQjtFQUNDLHVCQUFzQjtFQUN0QiwrR0FDNkQ7RUFDN0QsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUFBOztBQUluQjtFQUNDLHVCQUFzQjtFQUN0QiwyR0FDMkQ7RUFDM0QsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUFBOztBQUluQjtFQUNDLDBCQUF5QjtFQUN6Qiw2R0FDNEQ7RUFDNUQsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUFBOztBQzhDbkI7OzhF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QnRCO0VBRUQ7O0lBRUksZ0N4RW51Qm1CLEV3RXF1QnRCO0VBRUQ7O0lBRUksZ0N4RXp1Qm1CLEV3RTJ1QnRCO0VBTUQ7SUFDSSwyQ3hFbHZCbUI7SXdFbXZCbkIsZ0N4RW52Qm1CLEV3RXF2QnRCO0VBRUQ7O0lBRUksMkN4RW5VMEU7SXdFb1UxRSxnQ3hFMXZCbUIsRXdFNHZCdEI7RUFFRDtJQUNJLDJDeEV2VTRFO0l3RXdVNUUsZ0N4RWh3Qm1CLEV3RWt3QnRCO0VBeE9EOzs7SUFHSSwyQ3hFN2hCbUI7SXdFOGhCbkIsZ0N4RTloQm1CO0l3RStoQm5CLDZCQUE0QixFQVEvQjtJQWJEOzs7TUFTUSwyQ3hFbmlCZTtNd0VvaUJmLGdDeEVwaUJlLEV3RXNpQmxCO0VBT0w7SUFBa0MsMkNBQWlELEVBQUk7RUFDdkY7SUFBOEIsZ0N4RTlpQlAsRXdFOGlCaUQ7RUFDeEU7SUFBdUMsZ0N4RS9pQmhCLEV3RStpQjBEO0VBRWpGO0lBQXFDLDJDQUFpRCxFQUFJO0VBQzFGO0lBQWlDLGdDeEVsakJWLEV3RWtqQm9EO0VBQzNFO0lBQTBDLGdDeEVuakJuQixFd0VtakI2RDtFQU1wRjtJbEU1a0JBLCtjQUEwQyxFa0U0a0IwRjtFQU1wSTs7SUFFSSwyQ3hFak5vRSxFd0VtTnZFO0VBU0Q7OztJQUdJLHVCeEUva0JtQixFd0VpbEJ0QjtFQUdEOzs7SUFHSSwwQnhFcE9xRixFd0VzT3hGO0VBR0Q7SWxFL21CQSw2VEFBMEMsRWtFK21CMkU7RUFDckg7SWxFaG5CQSw4VUFBMEMsRWtFZ25CaUY7RUFDM0g7SWxFam5CQSwrVUFBMEMsRWtFaW5CcUc7RUFuWC9JO0lBQ0ksdUJ4RTVPbUI7SXdFNk9uQixZeEVsUlcsRXdFb1JkO0VBRUQ7O0lBRUksMEJ4RW5GZ0Y7SXdFb0ZoRixZeEV6UlcsRXdFMlJkO0VBRUQ7O0lBRUksMEJ4RXhGa0Y7SXdFeUZsRixZeEVoU1csRXdFa1NkO0VBTUQ7SUFDSSx1QnhFcFFtQjtJd0VxUW5CLFl4RTFTVyxFd0U0U2Q7RUFFRDs7SUFFSSwwQnhFckdnRjtJd0VzR2hGLFl4RWpUVyxFd0VtVGQ7RUFFRDs7SUFFSSwwQnhFMUdrRjtJd0UyR2xGLFl4RXhUVyxFd0UwVGQ7RUFNRDtJQUNJLHVCeEU1Um1CO0l3RTZSbkIsWXhFbFVXLEV3RW9VZDtFQUVEOztJQUVJLDBCeEV2SG9GO0l3RXdIcEYsWXhFelVXLEV3RTJVZDtFQUVEOztJQUVJLDBCeEU1SHNGO0l3RTZIdEYsWXhFaFZXLEV3RWtWZDtFQU1EO0lBQ0ksZ0N4RXBUbUIsRXdFc1R0QjtFQUVEOztJQUVJLGdDeEUxVG1CLEV3RTRUdEI7RUFFRDtJQUNJLGdDeEUvVG1CLEV3RWlVdEI7RUF3U2tCO0lBQWlDLDRDeEV6bUI3QixFd0V5bUJnRjtFQUN0RTtJQUEwQiwyQ3hFMW1CcEMsRXdFMG1Cc0Y7RUF2UTdHO0lBQ0ksZ0N4RXBXbUIsRXdFc1d0QjtFQUVEOztJQUVJLGdDeEUxV21CLEV3RTRXdEI7RUEyWkQ7SUFDSSxnQ3hFeHdCbUIsRXdFMHdCdEI7RUFFRDs7SUFFSSxnQ3hFOXdCbUIsRXdFZ3hCdEI7RUFFRDtJQUNJLFl4RW54Qm1CLEV3RXF4QnRCO0VBL3dCRDtJQUNJLHVCeEVQbUI7SXdFUW5CLFl4RTdDVyxFd0UrQ2Q7RUFFRDs7SUFFSSxZeEVuRFcsRXdFcURkO0VBMHdCRDtJQUNJLHVCeEUzeEJtQjtJd0U0eEJuQixZeEVqMEJXLEV3RW0wQmQ7RUF0eUJEO0lBQ0ksZ0N4RU9tQixFd0VMdEI7RUE0eUJEO0lBQW1CLGdDeEV2eUJJLEV3RXV5QjRCO0VBRW5EO0lBQXlDLDJDQUFtRCxFQUFJO0VBQ2hHO0lBQXFDLGdDeEUxeUJkLEV3RTB5QjBEO0VBQ2pGO0lBQThDLGdDeEUzeUJ2QixFd0UyeUJtRTtFQU8vRTtJQUFrQixnQ3hFbHpCTixFd0VrekIyQztFQUV2RDtJQUF3QixnQ3hFcHpCWixFd0VvekJpRDtFQU1yRDtJQUNmLDJDeEUzekJtQixFd0U2ekJ0QjtFQUNrQjtJQUNmLDJDeEUvekJtQixFd0VpMEJ0QjtFQUVpQjtJQUNkLDhCeEV4SXNDLEV3RTBJekM7RUFFZ0I7SUFDYiw4QnhFNUlxQyxFd0U4SXhDO0VBTUQ7SUFDSSxnQ3hFbDFCbUIsRXdFbzFCdEI7RUFFRDs7SUFFSSxnQ3hFeDFCbUIsRXdFMDFCdEI7RUFTa0M7SWxFdDNCbkMsa1lBQTBDLEVrRXkzQnpDO0VBRTBDO0lsRTMzQjNDLGlZQUEwQyxFa0UyM0IwRztFQU03SDtJQUNuQixnQ3hFLzJCbUIsRXdFaTNCdEI7RUFFc0I7O0lBRW5CLGdDeEVyM0JtQixFd0V1M0J0QjtFQUVnQztJQUM3QixZeEUxM0JtQixFd0U0M0J0QjtFQUVlO0lBQ1osWXhFLzNCbUIsRXdFaTRCdEI7RUFFZTtJQUNaLDJDeEVwNEJtQixFd0VzNEJ0QjtFQUUyQjtJQUFJLGdDeEV4NEJULEV3RXc0QjJEO0VBRXREOztJQUNVLGdDeEUzNEJmLEV3RTI0QnVFO0VBTXZFO0lBQ25CLGdDeEVsNUJtQixFd0VvNUJ0QjtFQUVzQjs7SUFFbkIsZ0N4RXg1Qm1CLEV3RTA1QnRCO0VBRWdDO0lBQzdCLFl4RTc1Qm1CLEV3RSs1QnRCO0VBRWU7SUFDWixZeEVsNkJtQixFd0VvNkJ0QjtFQUVlO0lBQ1osMkN4RXY2Qm1CLEV3RXk2QnRCO0VBRTJCO0lBQUksZ0N4RTM2QlQsRXdFMjZCMkQ7RUFFdEQ7O0lBQ1UsZ0N4RTk2QmYsRXdFODZCdUU7RUFLeEU7SUFDbEIsZ0N4RXA3Qm1CLEV3RXM3QnRCO0VBRTJCOzs7SUFHeEIsZ0N4RTM3Qm1CLEV3RTY3QnRCO0VBRXFCO0lBQ2xCLFl4RWg4Qm1CLEV3RWs4QnRCO0VBRStCO0lBQzVCLFl4RXI4Qm1CLEV3RXU4QnRCO0VBRUQ7SUFDSSxnQ3hFMThCbUIsRXdFNDhCdEI7RUFFRDtJQUNJLGdDeEUvOEJtQixFd0VpOUJ0QjtFQUVEOzs7SUFHSSxnQ3hFdDlCbUIsRXdFdzlCdEI7RUFLZ0I7SUFDYixnQ3hFOTlCbUIsRXdFZytCdEI7RUFFZ0I7O0lBRWIsZ0N4RXArQm1CLEV3RXMrQnRCO0VBRXlCO0lBQ3RCLFl4RXorQm1CLEV3RTIrQnRCO0VBTW9CO0lBQ2pCLDRDeEVsL0JtQixFd0VvL0J0QjtFQU1xQjtJQUNsQiw4QnhFblF5QztJd0VvUXpDLGdDeEU1L0JtQixFd0U4L0J0QjtFQUVxQjs7SUFFbEIsMkN4RWxnQ21CO0l3RW1nQ25CLGdDeEVuZ0NtQixFd0VxZ0N0QjtFQUVxQjtJQUNsQiwyQ3hFeGdDbUI7SXdFeWdDbkIsZ0N4RXpnQ21CLEV3RTJnQ3RCO0VBRThCO0lBQzNCLHVCeEU5Z0NtQjtJd0UrZ0NuQixZeEVwakNXLEV3RXNqQ2Q7RUFNMkI7SUFDeEIsZ0N4RXhoQ21CLEV3RTBoQ3RCO0VBeDNCb0I7SUFDakIsZ0N4RW5LbUIsRXdFcUt0QjtFQUVvQjs7SUFFakIsZ0N4RXpLbUIsRXdFMkt0QjtFQU84QjtJQUMzQixnQ3hFbkxtQixFd0VxTHRCO0VBTWdCO0lBQ2IsZ0N4RTVMbUIsRXdFOEx0QjtFQWkyQm9CO0lBQ2pCLGdDeEVoaUNtQixFd0VraUN0QjtFQUVvQjs7SUFFakIsZ0N4RXRpQ21CLEV3RXdpQ3RCO0VBRTZCO0lBQzFCLGdDeEUzaUNtQixFd0U2aUN0QjtFQUUrQjtJQUM1QixnQ3hFaGpDbUIsRXdFa2pDdEI7RUFTYTtJQUNWLGdDeEU1akNtQixFd0U4akN0QjtFQUVhOztJQUVWLGdDeEVsa0NtQixFd0Vva0N0QjtFQUVzQjtJQUNuQixZeEV2a0NtQixFd0V5a0N0QjtFQUV3QjtJQUNyQixnQ3hFNWtDbUIsRXdFOGtDdEI7RUFLRDtJQUNJLGdDeEVsWXFELEV3RW9ZeEQ7RUFFRDs7SUFFSSxnQ3hFdlkyRCxFd0V5WTlEO0VBRUQ7SUFDSSxnQ3hFM1k0RCxFd0U2WS9EO0VBdm9CZ0I7SUFDYiwyQ3hFaE02RCxFd0VrTWhFO0VBRWdCOztJQUViLDJDeEVyTW1FLEV3RXVNdEU7RUFFZ0I7SUFDYiwyQ3hFek1xRSxFd0UyTXhFO0VBRXlCO0lBQ3RCLDJDeEU3TW9FLEV3RStNdkU7RUFnTGlCO0lBQ2QsZ0N4RTlwQm1CLEV3RWdxQnRCO0VBRWlCOztJQUVkLGdDeEVwcUJtQixFd0VzcUJ0QjtFQUUwQjtJQUN2QixnQ3hFenFCbUIsRXdFMnFCdEI7RUEyYkQ7SUFDSSxnQ3hFdm1DbUIsRXdFeW1DdEI7RUFFRDtJQUNJLGdDeEU1bUNtQixFd0U4bUN0QjtFQUVEO0lBQWlCLDJDQUEyQyxFQUFJO0VBQ2hFO0lBQW1CLDJDQUE2QyxFQUFJO0VBL3ZCcEU7SUFDSSxvRHhFblhtQjtJd0VxWG5CLDRDeEVyWG1CLEV3RXNYdEI7RUF5d0JEO0lBQ0ksZ0N4RWhvQ21CLEV3RWtvQ3RCO0VBRUQ7O0lBRUksZ0N4RXRvQ21CLEV3RXdvQ3RCO0VBRVU7SUFBNEMsY0FBYSxFQUFLO0VBQ3pFO0lBQW1CLGdCQUFlLEVBQUs7O0FDbHJDM0M7OzhFQUU4RTtBQUU5RTtFQUVJOzs7SUFHSSxtQ0FBa0M7SUFDbEMsd0JBQXVCO0lBQ3ZCLG9DQUEyQjtZQUEzQiw0QkFBMkI7SUFDM0IsNkJBQTRCLEVBQy9CO0VBRUQ7O0lBQ1ksMkJBQTBCLEVBQUs7RUFFM0M7O0lBRUksdUJBQXNCO0lBQ3RCLHlCQUF3QixFQUMzQjtFQUVEO0lBQVEsNEJBQTJCLEVBQUs7RUFFeEM7O0lBQ00seUJBQXdCLEVBQUs7RUFFbkM7SUFBTSwyQkFBMEIsRUFBSztFQUVyQztJQUFRLGNBQWEsRUFBQTtFQUVyQjs7O0lBR0ksV0FBVTtJQUNWLFVBQVMsRUFDWjtFQUVEOztJQUNLLHdCQUF1QixFQUFLLEVBQUE7O0FDbkRyQyxhQUFhO0FBR2I7Ozs7OztFQU1JLHlCQUF3QjtFQUN4QixpQkFBZ0IsRUFDbkI7O0FDWEQsZUFBZTtBQUdmO0VBQ0ksK0JBQThCO0VBQzlCLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsOEJBQTZCO0VBQzdCLFdBQVU7RUFDViw2QkFBNEI7RUFBRyxzR0FBc0csRUFDeEk7O0FBRUQ7RUFDSSx1QjVFWm9CO0U0RWFwQixvREFBbUQ7RUFDbkQsNENBQTJDO0VBQzNDLHNCQUFxQjtFQUNyQixlNUVJdUI7RTRFSHZCLGVBQWM7RUFDZCxtSDVFWHNIO0U0RVl0SCxnQkFBZTtFQUNmLG9CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLFVBQVM7RUFDVCxvQkFBbUI7RUFDbkIsd0JBQXVCO0VBQ3ZCLHNCQUFxQjtFQUNyQixTQUFRO0VBQ1IsWUFBVztFQUNYLGdCQUFlO0VBQUcsdUJBQXVCLEVBQzVDOztBQUlEO0VBQ0ksZ0JBQWU7RUFDZixZQUFXO0VBQ1gsb0JBQW1CLEVBQ3RCOztBQUVEO0VBQ0ksZ0JBQWU7RUFDZixhQUFZO0VBQ1osbUJBQWtCLEVBQ3JCOztBQUVEO0VBQ0ksWUFBVztFQUNYLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ3JCOztBQUdEO0VBRVEsd0JBQXVCO0VBQ3ZCLG9EQUEwQztVQUExQyw0Q0FBMEMsRUFDN0M7O0FBSUw7O0VBRUksMkJBQTBCLEVBQzdCOztBQUVEO0VBQ0ksWTNFdEJxQjtFMkV1QnJCLG9CNUVwRDZCO0U0RXFEN0IsaUIzRXlEc0IsRTJFeER6Qjs7QUFHRDtFQUNJLG1CQUFrQixFQUNyQjs7QUFHRDtFQUVRLGlCQUFnQjtFQUNoQixZQUFXLEVBQ2Q7O0FBSUw7RUFFUSxtQkFBa0I7RUFDbEIsWUFBVyxFQUNkOztBQUlMO0VBQ0ksV0FBVTtFQUNWLGlCQUFnQixFQW9CbkI7RUF0QkQ7SUFLUSxtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLHFCQUF1QztJQUN2QyxpQkFBZ0IsRUFZbkI7SUFwQkw7TUFXWSxZQUFXO01BQ1gsZUFBYztNQUNkLG1CQUFrQjtNQUNsQixRQUFPO01BQ1AsU0FBMEI7TUFDMUIsV0FBVTtNQUNWLFlBQVc7TUFDWCxvQkFBZ0QsRUFDbkQ7O0FBTVQ7RUFHUSxtQkFBa0IsRUFDckI7O0FBS0w7O0VBRUksZ0JBQWUsRUFVbEI7RUFaRDs7SUFLUSxpQ0FBOEQ7SUFDOUQseURBQWdEO0lBQWhELGlEQUFnRCxFQUNuRDtFQVBMOzs7O0lBVVEsMEI1RTFJMEIsRTRFMkk3Qjs7QUFHTCw0QkFBNEI7QUFDNUI7RUFDSSw2Q0FBMkMsRUFDOUM7O0FBRUQ7RUFDSSxtQkFBdUMsRUFDMUM7O0FBRUQ7RUFDSSwyQkFBMEIsRUFDN0IiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnNcIjtcbiAgc3JjOiB1cmwoXCJhc3NldHMvZm9udHMvUFRfU2Fucy1XZWItUmVndWxhci50dGZcIiksIHVybChcImFzc2V0cy9mb250cy9QVF9TYW5zLVdlYi1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQVCBTYW5zXCI7XG4gIHNyYzogdXJsKFwiYXNzZXRzL2ZvbnRzL1BUX1NhbnMtV2ViLUl0YWxpYy50dGZcIiksIHVybChcImFzc2V0cy9mb250cy9QVF9TYW5zLVdlYi1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnNcIjtcbiAgc3JjOiB1cmwoXCJhc3NldHMvZm9udHMvUFRfU2Fucy1XZWItQm9sZC50dGZcIiksIHVybChcImFzc2V0cy9mb250cy9QVF9TYW5zLVdlYi1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJZZXNldmEgT25lXCI7XG4gIHNyYzogdXJsKFwiYXNzZXRzL2ZvbnRzL1llc2V2YU9uZS1SZWd1bGFyLnR0ZlwiKSwgdXJsKFwiYXNzZXRzL2ZvbnRzL1llc2V2YU9uZS1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cbmh0bWwge1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbi8qXG4gKiBSZW1vdmVzIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICAvKiAxICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5hLFxuLnVrLWxpbmsge1xuICBjb2xvcjogIzNjM2MzYztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYTpob3Zlcixcbi51ay1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbi8qIDEgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKiAyICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDMuIFN0eWxlXG4gKi9cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiAyICovXG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIC8qIDMgKi9cbiAgY29sb3I6ICNmMDUwNmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5lbSB7XG4gIGNvbG9yOiAjZjA1MDZlOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuaW5zIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKlxuICogTWFya1xuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIFF1b3RlXG4gKi9cbnEge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAyLiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAyICovXG4gIGhlaWdodDogYXV0bztcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBNYXJnaW5zXG4gKi9cbnAsXG51bCxcbm9sLFxuZGwsXG5wcmUsXG5hZGRyZXNzLFxuZmllbGRzZXQsXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEhlYWRpbmdzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNiB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1mYW1pbHk6IFwiWWVzZXZhIE9uZVwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2IHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4vKlxuICogU2l6ZXNcbiAqL1xuaDEsIC51ay1oMSB7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGgxLCAudWstaDEge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgaDEsIC51ay1oMSB7XG4gICAgICBmb250LXNpemU6IDIuMXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuXG5oMiwgLnVrLWgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXNpemU6IDEuMTQyODZyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDIsIC51ay1oMiB7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzNyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGgyLCAudWstaDIge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuaDMsIC51ay1oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXNpemU6IDAuODU3MTRyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDMsIC51ay1oMyB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBoMywgLnVrLWgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGgzLCAudWstaDMge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5oNCwgLnVrLWg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmg1LCAudWstaDUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDYsIC51ay1oNiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xudWwgPiBsaSA+IHVsLFxudWwgPiBsaSA+IG9sLFxub2wgPiBsaSA+IG9sLFxub2wgPiBsaSA+IHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBhbmQgaGVpZ2h0IGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqIDMuIFN0eWxlXG4gKi9cbmhyLCAudWstaHIge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGJsb2NrcXVvdGUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBPdmVycmlkZSBVQVxuICovXG5wcmUge1xuICBmb250OiAwLjg3NXJlbSAvIDEuNSBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjNjY2O1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0YWItc2l6ZTogNDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5wcmUgY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7IH1cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzlmO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzlmO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaWZyYW1lIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIFByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGZvciB0b3VjaHNjcmVlbiBpbnRlcmFjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE1vc3QgYnJvd3NlcnMgcHJldmVudCB0aGUgMzAwbXMgZGVsYXkgYXV0b21hdGljYWxseSBmb3Igc2l0ZXMgdGhhdCB1c2UgdGhlIGB3aWR0aD1kZXZpY2Utd2lkdGhgIHByb3BlcnR5LlxuICogRm9yIFNhZmFyaSBvbiBpT1MgOS4zKywgSUUgMTEgYW5kIEVkZ2Ugb24gZGVza3RvcHMgYW5kIElFIDExIG9uIFdpbmRvd3MgUGhvbmUgOC4xIGl0IG11c3QgYmUgYXBwbGllZCBtYW51YWxseS5cbiAqL1xuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQnJlYWtwb2ludHNcbiAqL1xuLnZhci1tZWRpYS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiNjQwcHhcIjsgfVxuXG4udmFyLW1lZGlhLW06YmVmb3JlIHtcbiAgY29udGVudDogXCI5NjBweFwiOyB9XG5cbi52YXItbWVkaWEtbDpiZWZvcmUge1xuICBjb250ZW50OiBcIjEyMDBweFwiOyB9XG5cbi52YXItbWVkaWEteGw6YmVmb3JlIHtcbiAgY29udGVudDogXCIxNjAwcHhcIjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlua1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay1tdXRlZCBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuYS51ay1saW5rLXRleHQ6bm90KDpob3ZlciksXG4udWstbGluay10ZXh0IGE6bm90KDpob3Zlcikge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogUmVzZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuYS51ay1saW5rLXJlc2V0LFxuYS51ay1saW5rLXJlc2V0OmhvdmVyLFxuLnVrLWxpbmstcmVzZXQgYSxcbi51ay1saW5rLXJlc2V0IGE6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQcmltYXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICBmb250LXNpemU6IDIuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xOyB9IH1cblxuLyogSGVyb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaGVhZGluZy1oZXJvIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiA4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaGVhZGluZy1idWxsZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIFVzaW5nIGBpbmxpbmUtYmxvY2tgIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25tZW50XG4gKiAyLiBDZW50ZXIgdmVydGljYWxseVxuICogMy4gU3R5bGVcbiAqL1xuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogY2FsYygtMC4xICogMWVtKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMyAqL1xuICBoZWlnaHQ6IDAuOWVtO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBMaW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cbi51ay1oZWFkaW5nLWxpbmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuLnVrLWhlYWRpbmctbGluZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsXG4udWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAoMXB4IC8gMikpO1xuICAvKiAyICovXG4gIHdpZHRoOiAyMDAwcHg7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUge1xuICByaWdodDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjZlbTsgfVxuXG4udWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDAuNmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5bY2xhc3MqPSd1ay1kaXZpZGVyJ10ge1xuICAvKiAxICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZGl2aWRlci1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzZTVlNWU1JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gKDUwcHggLyAyKSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gIHJpZ2h0OiBjYWxjKDUwJSArICg1MHB4IC8gMikpO1xuICB3aWR0aDogMTAwJTsgfVxuXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gIGxlZnQ6IGNhbGMoNTAlICsgKDUwcHggLyAyKSk7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldCBjaGlsZCBoZWlnaHQsIGNhdXNlZCBieSBgaW5saW5lLWJsb2NrYFxuICovXG4udWstZGl2aWRlci1zbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWxpc3QgPiBsaTo6YmVmb3JlLFxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstbGlzdCA+IGxpOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWxpc3QgPiBsaSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogTmVzdGVkIGxpc3RzXG4gKi9cbi51ay1saXN0IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cbi51ay1saXN0ID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+IGxpID4gdWwge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgcGFkZGluZzogMTBweCAxMHB4OyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBCdWxsZXRcbiAqL1xuLnVrLWxpc3QtYnVsbGV0ID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxLjVlbSArIDEwcHgpOyB9XG5cbi51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdC1sYXJnZSA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiBsaSA+IHVsIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgcGFkZGluZzogMjBweCAxMHB4OyB9XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGVybVxuICovXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0IHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIERlc2NyaXB0aW9uXG4gKi9cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBMaW5lXG4gKi9cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXRhYmxlIHtcbiAgLyogMSAqL1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFN0eWxlXG4gKi9cbi51ay10YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlIHRmb290IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSBjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogUm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbi51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZkOyB9XG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZDsgfVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gIHBhZGRpbmc6IDEwcHggMTJweDsgfVxuXG4vKiBKdXN0aWZ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtc2hyaW5rIHtcbiAgd2lkdGg6IDFweDsgfVxuXG4udWstdGFibGUtZXhwYW5kIHtcbiAgbWluLXdpZHRoOiAzMDBweDsgfVxuXG4vKiBDZWxsIGxpbmsgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG4udWstdGFibGUtbGluayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTZweCAxMnB4OyB9XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7IH1cblxuLyogUmVzcG9uc2l2ZSB0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAudWstdGFibGUtcmVzcG9uc2l2ZSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDsgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA3LiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cbi51ay1pY29uIHtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA1ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA2LiAqL1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogNyAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDggKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiA5ICovXG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgLyogMTAgKi9cbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4gKiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuLnVrLWljb24gW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7IH1cblxuLnVrLWljb24gW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG4udWstaWNvbiA+ICoge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4vKiBJbWFnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cbi51ay1pY29uLWltYWdlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGlua1xuICovXG4udWstaWNvbi1saW5rIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgY29sb3I6ICM1OTU5NTk7IH1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cbi51ay1pY29uLWJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzk5OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybSBSYW5nZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG4udWstcmFuZ2Uge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMiAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAvKiA2ICovXG4gIHBhZGRpbmc6IDA7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtN3B4O1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjNjY2OyB9XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjNjY2OyB9XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgLyogMSAqL1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgLyogMSAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICM2NjY7IH1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTYWZhcmkgZG9lc24ndCBoYXZlIGEgZm9jdXMgc3RhdGUuIFVzaW5nIGFjdGl2ZSBpbnN0ZWFkLlxuICovXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjsgfVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZDJkMmQyOyB9XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViOyB9XG5cbi51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7IH1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTo6LW1zLWZpbGwtdXBwZXIge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjsgfVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbi51ay1pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbi51ay1zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuLnVrLXNlbGVjdCBvcHRncm91cCB7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuLnVrLXRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cbi51ay1yYWRpbzpub3QoOmRpc2FibGVkKSxcbi51ay1jaGVja2JveDpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG4udWstZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKi9cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAyICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiAzICovXG4gIGJvcmRlcjogMCBub25lO1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG4udWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDsgfVxuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstZm9ybS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay1mb3JtLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDU1cHg7IH1cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXJyb3JcbiAqL1xuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNmMDUwNmU7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzMyZDI5NjsgfVxuXG4vKlxuICogQmxhbmtcbiAqL1xuLnVrLWZvcm0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNDBweDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNjVweDsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7XG4gIHdpZHRoOiAxMzBweDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0ge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7IH1cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBPbmx5IHdvcmtzIGluIENocm9tZSwgU2FmYXJpLCBPcGVyYSBhbmQgRWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiAzICovXG4gIG1hcmdpbi10b3A6IC00cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIC8qIDYgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4udWstcmFkaW8ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlNmVjZDsgfVxuXG4vKlxuICogSWNvbnNcbiAqL1xuLnVrLXJhZGlvOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLnVrLWNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlM0UlM0MlMkZyZWN0JTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG4udWstbGVnZW5kIHtcbiAgLyogMSAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiA0ICovXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cbi51ay1mb3JtLWN1c3RvbSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLyogMiAqL1xuICBsZWZ0OiAwO1xuICAvKiAzICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNCAqL1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogNSAqL1xuICBmb250LXNpemU6IDUwMHB4O1xuICAvKiA2ICovXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTdGFja2VkXG4gKi9cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMjE1cHg7IH1cbiAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9IH1cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1mb3JtLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDQwcHg7XG4gIC8qIDMgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiA0ICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSArIC51ay1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVrLWZvcm0taWNvbi1mbGlwICsgLnVrLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gU3R5bGVcbiAqIDcuIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA4LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogOS4gUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuLnVrLWJ1dHRvbiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMyAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogNSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogNiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICAvKiA3ICovXG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAvKiA4ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogOSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgLyogOCAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzNjM2MzYzsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG4gIGNvbG9yOiAjM2MzYzNjOyB9XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjdhZTU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlNmVjZDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNTA2ZTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTM5NWI7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzIxNDc7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1idXR0b24tc21hbGwge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICBwYWRkaW5nOiAwIDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG4udWstYnV0dG9uLXRleHQge1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICMzYzNjM2M7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnVrLWJ1dHRvbi10ZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZS1vdXQ7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgY29sb3I6ICMwMDA7IH1cbiAgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyOmJlZm9yZSxcbiAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi1saW5rIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjM2MzYzNjOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cbi51ay1idXR0b24tZ3JvdXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC8qIDIgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cbi51ay1zZWN0aW9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9IH1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1zZWN0aW9uOjpiZWZvcmUsXG4udWstc2VjdGlvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstc2VjdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBYU21hbGxcbiAqL1xuLnVrLXNlY3Rpb24teHNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbi8qXG4gKiBTbWFsbFxuICovXG4udWstc2VjdGlvbi1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH0gfVxuXG4vKlxuICogWExhcmdlXG4gKi9cbi51ay1zZWN0aW9uLXhsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDIxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMTBweDsgfSB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstc2VjdGlvbi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuLnVrLXNlY3Rpb24tbXV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1zZWN0aW9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMWU4N2YwOyB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzMzMzsgfVxuXG4vKlxuICogSW5kaWNhdGUgdGhhdCBhbiBpbWFnZSBvciB2aWRlbyBpcyB1c2VkIGFzIGJhY2tncm91bmRcbiAqL1xuLyogT3ZlcmxhcCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXJ2ZWQgbW9kaWZpZXIgdG8gbWFrZSBhIHNlY3Rpb24gb3ZlcmxhcCBhbm90aGVyIHNlY3Rpb24gd2l0aCBhbiBib3JkZXIgaW1hZ2VcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBCb3ggc2l6aW5nIGhhcyB0byBiZSBgY29udGVudC1ib3hgIHNvIHRoZSBtYXgtd2lkdGggaXMgYWx3YXlzIHRoZSBzYW1lIGFuZFxuICogICAgdW5hZmZlY3RlZCBieSB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgYnJlYWtwb2ludHMuIEl0J3MgaW1wb3J0YW50IGZvciB0aGUgc2l6ZSBtb2RpZmllcnMuXG4gKi9cbi51ay1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstY29udGFpbmVyOjpiZWZvcmUsXG4udWstY29udGFpbmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cbi51ay1jb250YWluZXIgLnVrLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb250YWluZXItc21hbGwge1xuICBtYXgtd2lkdGg6IDkwMHB4OyB9XG5cbi51ay1jb250YWluZXItbGFyZ2Uge1xuICBtYXgtd2lkdGg6IDE2MDBweDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RzXG4gKi9cbi51ay1ncmlkIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxuICogR3JpZCBjZWxsXG4gKiBOb3RlOiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiBSZXNldCBtYXJnaW4gZm9yIGUuZy4gcGFyYWdyYXBoc1xuICovXG4udWstZ3JpZCA+ICoge1xuICBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogR3V0dGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi51ay1ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZCxcbi51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfVxuICAudWstZ3JpZCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiAgKiArIC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi8qXG4gKiBTbWFsbFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuXG4udWstZ3JpZC1zbWFsbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi51ay1ncmlkLW1lZGl1bSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDsgfVxuXG4udWstZ3JpZC1sYXJnZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTcwcHg7IH1cbiAgLnVrLWdyaWQtbGFyZ2UgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbiAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7IH0gfVxuXG4vKlxuICogQ29sbGFwc2VcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2Uge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udWstZ3JpZC1jb2xsYXBzZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZC1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogLTYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGxlZnQ6IDMwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0zMHB4O1xuICBsZWZ0OiA2MHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWRpdmlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtODBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGxlZnQ6IDQwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6IC00MHB4O1xuICAgIGxlZnQ6IDgwcHg7IH0gfVxuXG4vKlxuICogU21hbGxcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMTVweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0xNXB4O1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSB7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMzBweDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDYwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtODBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGxlZnQ6IDQwcHg7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtNDBweDtcbiAgbGVmdDogODBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogSG9yaXpvbnRhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7IH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGxlZnQ6IDcwcHg7IH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTcwcHg7XG4gICAgbGVmdDogMTQwcHg7IH0gfVxuXG4vKiBNYXRjaCBjaGlsZCBvZiBhIGdyaWQgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cbi51ay1ncmlkLW1hdGNoID4gKixcbi51ay1ncmlkLWl0ZW0tbWF0Y2gge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnVrLWdyaWQtbWF0Y2ggPiAqID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICAtbXMtZmxleDogYXV0bztcbiAgLXdlYmtpdC1mbGV4OiBhdXRvO1xuICBmbGV4OiBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay10aWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay10aWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstdGlsZTo6YmVmb3JlLFxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogWFNtYWxsXG4gKi9cbi51ay10aWxlLXhzbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLXRpbGUtc21hbGwge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay10aWxlLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay10aWxlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9IH1cblxuLypcbiAqIFhMYXJnZVxuICovXG4udWstdGlsZS14bGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7IH0gfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLXRpbGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLypcbiAqIE11dGVkXG4gKi9cbi51ay10aWxlLW11dGVkIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzFlODdmMDsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMzMzM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IDMwcHggMzBweDsgfVxuXG4udWstY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogMTVweCAzMHB4OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHg7IH1cbiAgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7IH1cbiAgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7IH0gfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNhcmQtYm9keTo6YmVmb3JlLFxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmJlZm9yZSxcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBNZWRpYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtdGl0bGUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICByaWdodDogMzBweDtcbiAgei1pbmRleDogMTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLWNhcmQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGY3YWU1OyB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2OyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogMTNweCAyMHB4OyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEzcHggMjBweDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogNzBweCA3MHB4OyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMzVweCA3MHB4OyB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogMzVweCA3MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay1jbG9zZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc3Bpbm5lciA+ICoge1xuICAtd2Via2l0LWFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgMS40cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuLypcbiAqIENpcmNsZVxuICovXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgc3Ryb2tlLWRhc2hhcnJheTogODhweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBzdHJva2Utd2lkdGg6IDE7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4OyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIycHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDUwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4OyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODhweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NTBkZWcpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvdG9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG4udWstdG90b3Age1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay10b3RvcDphY3RpdmUge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG4udWstbWFya2VyIHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbWFya2VyOmhvdmVyLFxuLnVrLW1hcmtlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGVydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHggMjlweCAxNXB4IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbGVydC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMTVweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyICsgRm9jdXNcbiAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1hbGVydC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2Q4ZWFmYztcbiAgY29sb3I6ICMxZTg3ZjA7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZWRmYmY2O1xuICBjb2xvcjogIzMyZDI5NjsgfVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZWY1ZWU7XG4gIGNvbG9yOiAjZmFhMDVhOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWFsZXJ0LWRhbmdlciB7XG4gIGJhY2tncm91bmQ6ICNmZWY0ZjY7XG4gIGNvbG9yOiAjZjA1MDZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWJhZGdlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgYmFja2dyb3VuZDogIzFlODdmMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cbi51ay1iYWRnZTpob3Zlcixcbi51ay1iYWRnZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMWU4N2YwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzJkMjk2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstbGFiZWwtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWEwNWE7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWxhYmVsLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDUwNmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vdmVybGF5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4OyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogcmdiYSg1MSwgNTEsIDUxLCAwLjQ1KTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWFydGljbGU6OmJlZm9yZSxcbi51ay1hcnRpY2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1hcnRpY2xlOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogNzBweDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNvbW1lbnQtYm9keTo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LW1ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC1saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7IH1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICBtYXJnaW46IDcwcHggMCAwIDA7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBUYWJsZXQgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfSB9XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiA3MHB4OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuLnVrLXNlYXJjaCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgbWFyZ2luOiAwOyB9XG5cbi8qIElucHV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG4udWstc2VhcmNoLWlucHV0IHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDUgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDYgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA3ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDggKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDkgKi9cbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzY2NjsgfVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICogUmVxdWlyZWQgZm9yIGBidXR0b25gXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogNy4gUmVxdWlyZWQgZm9yIGBidXR0b25gLlxuICovXG4udWstc2VhcmNoLWljb24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIDYuICovXG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiA3ICovXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gUmVxdWlyZWQgZm9yIGBidXR0b25gLlxuICovXG4udWstc2VhcmNoLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZvY3VzIHN0eWxlXG4gKi9cbi51ay1zZWFyY2gtaWNvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAzICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IHtcbiAgd2lkdGg6IDE4MHB4OyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogNDBweDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgKyAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLW5hdmJhciB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7XG4gIHdpZHRoOiA0MHB4OyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG5cbi8qIExhcmdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zZWFyY2gtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cblxuLypcbiAqIEljb25cbiAqL1xuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogODBweDsgfVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwICsgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4udWstc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG4vKiAxICovXG4udWstbmF2LFxuLnVrLW5hdiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogMyAqL1xuLnVrLW5hdiBsaSA+IGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cbi51ay1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA1cHggMDsgfVxuXG4vKiBTdWJsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGV2ZWwgMlxuICogYHVsYCBuZWVkZWQgZm9yIGhpZ2hlciBzcGVjaWZpY2l0eSB0byBvdmVycmlkZSBwYWRkaW5nXG4gKi9cbnVsLnVrLW5hdi1zdWIge1xuICBwYWRkaW5nOiA1cHggMCA1cHggMTVweDsgfVxuXG4vKlxuICogTGV2ZWwgMyBhbmQgZGVlcGVyXG4gKi9cbi51ay1uYXYtc3ViIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LXN1YiBhIHtcbiAgcGFkZGluZzogMnB4IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzNjY2JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyMzY2NiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtaGVhZGVyIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1kaXZpZGVyIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogUHJpbWFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gY2VudGVyIG5hdmJhciBncm91cFxuICovXG4udWstbmF2YmFyIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgPiAudWstY29udGFpbmVyIC51ay1uYXZiYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXIsXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0ID4gKixcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0ID4gKiB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDMuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIHRoZSBjZW50ZXJlZCBzZWN0aW9uIGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgbmF2YmFyXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuLnVrLW5hdmJhci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLyogMiAqL1xuICB6LWluZGV4OiA5OTA7IH1cblxuLyogMyAqL1xuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSxcbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci1pdGVtLFxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogNCAqL1xuLnVrLW5hdmJhci1jZW50ZXItbGVmdCxcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cblxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCB7XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLWl0ZW0sXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0IGxpc3RzXG4gKi9cbi51ay1uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4vKlxuICogSXRlbXNcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMi4gRGltZW5zaW9uc1xuICogMy4gU3R5bGVcbiAqIDQuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG4udWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogODBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICAvKiAzICovXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAvKiA0ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKlxuICogTmF2IGl0ZW1zXG4gKi9cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci1pdGVtIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsXG4udWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbi51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qXG4gKiBJY29uXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAyMDtcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMjAwcHg7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogU2hvdyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi51ay1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiAqL1xuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1ib3R0b20nXSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWxlZnQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLypcbiAqIEdyaWRcbiAqIEFkb3B0cyBgdWstZ3JpZGBcbiAqL1xuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi8qIEd1dHRlciBWZXJ0aWNhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKiBTdGFjayAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjayAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKlxuICogV2lkdGggbW9kaWZpZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHtcbiAgd2lkdGg6IDYwMHB4OyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykge1xuICB3aWR0aDogODAwcHg7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiAxMDAwcHg7IH1cblxuLypcbiAqIERyb3BiYXIgbW9kaWZpZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci1kcm9wYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMjA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RzXG4gKi9cbi51ay1zdWJuYXYge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAvKiAzICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cbi51ay1zdWJuYXYgPiAqIHtcbiAgLyogMSAqL1xuICAtbXMtZmxleDogbm9uZTtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICBmbGV4OiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogRGl2aWRlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cbi51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qIFBpbGwgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RzXG4gKi9cbi51ay1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICovXG4udWstYnJlYWRjcnVtYiA+ICoge1xuICAtbXMtZmxleDogbm9uZTtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICBmbGV4OiBub25lOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogRGlzYWJsZWQgKi9cbi8qIEFjdGl2ZSAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICoge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIi9cIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMjBweDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZ2luYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RzXG4gKi9cbi51ay1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAvKiAxICovXG4gIC1tcy1mbGV4OiBub25lO1xuICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG4udWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4udWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qIERpc2FibGVkICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0c1xuICovXG4udWstdGFiIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstdGFiID4gKiB7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXg6IG5vbmU7XG4gIC13ZWJraXQtZmxleDogbm9uZTtcbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLXRhYiA+ICogPiBhIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdGFiID4gKiA+IGE6aG92ZXIsXG4udWstdGFiID4gKiA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogUG9zaXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEJvdHRvbVxuICovXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuLnVrLXRhYi1sZWZ0LFxuLnVrLXRhYi1yaWdodCB7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIDEgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuLnVrLXNsaWRlbmF2IHtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjYpOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuOCk7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayAqL1xuLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuOSk7IH1cblxuLyogSWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmlvdXNcbiAqL1xuLypcbiAqIE5leHRcbiAqL1xuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zbGlkZW5hdi1jb250YWluZXIge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0c1xuICogMy4gR3V0dGVyXG4gKi9cbi51ay1kb3RuYXYge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAzICovXG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWRvdG5hdiA+ICoge1xuICAvKiAxICovXG4gIC1tcy1mbGV4OiBub25lO1xuICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICogMS4gSGlkZSB0ZXh0IGlmIHByZXNlbnRcbiAqL1xuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC4xKTtcbiAgLyogMSAqL1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstZG90bmF2ID4gKiA+IDpob3Zlcixcbi51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjQpO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC42KTsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC40KTsgfVxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG4udWstZG90bmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWNjb3JkaW9uIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24gPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWFjY29yZGlvbi1jb250ZW50OmJlZm9yZSxcbi51ay1hY2NvcmRpb24tY29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51ay1hY2NvcmRpb24tY29udGVudDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICovXG4udWstZHJvcCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMjA7XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDMwMHB4OyB9XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wLnVrLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcC10b3AnXSB7XG4gIG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cbltjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10ge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbltjbGFzcyo9J3VrLWRyb3AtbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG5cbltjbGFzcyo9J3VrLWRyb3AtcmlnaHQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kcm9wLXN0YWNrIC51ay1kcm9wLWdyaWQgPiAqIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG4udWstZHJvcGRvd24ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDIwO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3Bkb3duLnVrLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGRvd24tbmF2IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzMzMzsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcGRvd24tdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG5bY2xhc3MqPSd1ay1kcm9wZG93bi1ib3R0b20nXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10ge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGRvd24tc3RhY2sgLnVrLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDEwO1xuICAvKiAzICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLyogNCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAvKiA2ICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1tb2RhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuXG4vKlxuICogT3BlblxuICovXG4udWstbW9kYWwudWstb3BlbiB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cbi51ay1tb2RhbC1wYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBjYXB0aW9uLCBzcGlubmVyIGFuZCBjbG9zZSBidXR0b25cbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIFN0eWxlXG4gKiA0LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbC1kaWFsb2cge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDUwcHggYXV0bztcbiAgd2lkdGg6IDYwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogNCAqL1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsgfVxuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG4udWstbW9kYWwtY29udGFpbmVyIC51ay1tb2RhbC1kaWFsb2cge1xuICB3aWR0aDogMTIwMHB4OyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4vKiBMaWdodGJveCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtbGlnaHRib3gge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLnVrLW1vZGFsLWxpZ2h0Ym94IC51ay1tb2RhbC1kaWFsb2cge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4OyB9XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLnVrLW1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLW1vZGFsLWJvZHk6OmJlZm9yZSxcbi51ay1tb2RhbC1ib2R5OjphZnRlcixcbi51ay1tb2RhbC1oZWFkZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1oZWFkZXI6OmFmdGVyLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDEwO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qXG4gKiBPdXRzaWRlXG4gKi9cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbiAqIEZ1bGxcbiAqL1xuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgei1pbmRleDogOTgwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yczsgfVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yczsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuLnVrLW9mZmNhbnZhcyB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyogQmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNpemUgYW5kIHN0eWxlXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmdcbiAqIDQuIFRyYW5zZm9ybVxuICovXG4udWstb2ZmY2FudmFzLWJhciB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMjcwcHg7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogMyAqL1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC8qIDQgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4OyB9IH1cblxuLyogRmxpcCBtb2RpZmllciAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0OyB9XG5cbi8qXG4gKiBSZXZlYWwgQW5pbWF0aW9uXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENsaXAgdGhlIGJhclxuICogMy4gQW5pbWF0aW9uXG4gKiA0LiBSZXNldCB0cmFuc2Zvcm1cbiAqL1xuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0OyB9XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgLyogNCAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICB3aWR0aDogMjcwcHg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgd2lkdGg6IDM1MHB4OyB9IH1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4vKiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cbi51ay1vZmZjYW52YXMtb3ZlcmxheSB7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IDEwMHZ3O1xuICAvKiAyICovXG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgLyogMSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAvKiAyICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqL1xuLnVrLW9mZmNhbnZhcy1wYWdlLFxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLypcbiAqIFByZXZlbnQgYWxsIHNjcm9sbGJhcnMgaWYgb3ZlcmxheSBpcyB1c2VkXG4gKi9cbi51ay1vZmZjYW52YXMtY29udGFpbmVyLW92ZXJsYXkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiBOb3RlOiBKUyBzZXRzIGEgZml4ZWQgd2lkdGggYW5kIGhlaWdodCBzbyB0aGUgcGFnZSBjYW4gc2xpZGUtb3V0IHdpdGhvdXQgc2hyaW5raW5nXG4gKiAxLiBTbW9vdGggc2Nyb2xsaW5nXG4gKi9cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIC51ay1vZmZjYW52YXMtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgLyogMSAqL1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLyogRGlzYWJsZSBzY3JvbGxpbmcgaWYgb3ZlcmxheSBtb2RlICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXkgLnVrLW9mZmNhbnZhcy1jb250ZW50IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24ge1xuICBsZWZ0OiAyNzBweDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHtcbiAgbGVmdDogLTI3MHB4OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24ge1xuICAgIGxlZnQ6IDM1MHB4OyB9XG4gIC51ay1vZmZjYW52YXMtZmxpcCA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24ge1xuICAgIGxlZnQ6IC0zNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXQgbGlzdHNcbiAqL1xuLnVrLXN3aXRjaGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuLnVrLXN3aXRjaGVyID4gOm5vdCgudWstYWN0aXZlKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstc3dpdGNoZXIgPiAqID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdHNcbiAqIDMuIEd1dHRlclxuICovXG4udWstaWNvbm5hdiB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICovXG4udWstaWNvbm5hdiA+ICoge1xuICAvKiAxICovXG4gIC1tcy1mbGV4OiBub25lO1xuICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG4udWstaWNvbm5hdiA+ICogPiAqIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiA6aG92ZXIsXG4udWstaWNvbm5hdiA+ICogPiA6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBNb2RpZmllcjogJ3VrLWljb25uYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwge1xuICAvKiAxICovXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKi9cbi51ay1ub3RpZmljYXRpb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiAxMDQwO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNTBweDsgfVxuXG4vKiBQb3NpdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTE3NXB4OyB9XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMHB4OyB9XG5cbi8qIFJlc3BvbnNpdmVuZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDE1cHg7IH1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xuICBjb2xvcjogIzFlODdmMDsgfVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiAjMzJkMjk2OyB9XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgY29sb3I6ICNmYWEwNWE7IH1cblxuLypcbiAqIERhbmdlclxuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcbiAgY29sb3I6ICNmMDUwNmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gUG9zaXRpb25cbiAqIDMuIERpbWVuc2lvbnNcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay10b29sdGlwIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAzMDtcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICAvKiA0ICovXG4gIGJhY2tncm91bmQ6ICM2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstdG9vbHRpcC10b3AnXSB7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbltjbGFzcyo9J3VrLXRvb2x0aXAtYm90dG9tJ10ge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbltjbGFzcyo9J3VrLXRvb2x0aXAtbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbltjbGFzcyo9J3VrLXRvb2x0aXAtcmlnaHQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGxhY2Vob2xkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAzMHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXBsYWNlaG9sZGVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1wbGFjZWhvbGRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFJlbW92ZSBib3JkZXJzIGluIEZpcmVmb3ggYW5kIEVkZ2VcbiAqIDQuIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBwcm9ncmVzcyBjb250YWluZXIgaW4gRmlyZWZveCwgSUUxMSBhbmQgRWRnZVxuICogNS4gU3R5bGVcbiAqL1xuLnVrLXByb2dyZXNzIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyOiAwO1xuICAvKiA0ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIC8qIDUgKi9cbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgaGVpZ2h0OiAxNXB4OyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFByb2dyZXNzIGNvbnRhaW5lclxuICogMi4gUmVtb3ZlIHByb2dyZXNzIGJhciBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBGaXJlZm94XG4gKi9cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG5cbi8qIDIgKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAwOyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBiYXJcbiAqIDEuIFJlbW92ZSByaWdodCBib3JkZXIgaW4gSUUxMSBhbmQgRWRnZVxuICovXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7IH1cblxuLnVrLXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7IH1cblxuLnVrLXByb2dyZXNzOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgLyogMSAqL1xuICBib3JkZXI6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogRGVhY3RpdmF0ZSBicm93c2VyIHRvdWNoIGFjdGlvbnMgaW4gSUUxMVxuICovXG4udWstc29ydGFibGUgPiAqIHtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi8qXG4gKiBEZWFjdGl2YXRlIHBvaW50ZXItZXZlbnRzIG9uIFNWR3MgaW4gU2FmYXJpXG4gKi9cbi51ay1zb3J0YWJsZSBzdmcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zb3J0YWJsZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBEcmFnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwNTAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc29ydGFibGUtZW1wdHkge1xuICBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbi8qIEhhbmRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ291bnRkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENlbnRlciBudW1iZXJzIGFuZCBzZXBhcmF0b3JzIHZlcnRpY2FsbHlcbiAqL1xuLnVrLWNvdW50ZG93bi1udW1iZXIsXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDcwcHg7IH1cblxuLyogTnVtYmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgZm9udC1zaXplOiAycmVtOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogNHJlbTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDZyZW07IH0gfVxuXG4vKiBTZXBhcmF0b3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyogQW5pbWF0aW9ucyBmb3Igc2Nyb2xsc3B5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGYWRlXG4gKi9cbi51ay1hbmltYXRpb24tZmFkZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC44cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjhzO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi8qXG4gKiBTY2FsZVxuICovXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7IH1cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0O1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0OyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtO1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtOyB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDE1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7IH1cblxuLypcbiAqIFNoYWtlXG4gKi9cbi51ay1hbmltYXRpb24tc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbmltYXRpb24tZmFzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7IH1cblxuLyogRW5hYmxlIGFuaW1hdGlvbiBvbmx5IG9uIGhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE5vdGU6IEZpcmVmb3ggYW5kIElFIG5lZWRzIHRoaXMgYmVjYXVzZSBhbmltYXRpb25zIGFyZSBub3QgdHJpZ2dlcmVkIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gZGlzcGxheSBgbm9uZWAgYW5kIGBibG9ja2BcbiAqL1xuLnVrLWFuaW1hdGlvbi10b2dnbGU6bm90KDpob3Zlcik6bm90KC51ay1ob3ZlcikgW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbm9uZTtcbiAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH1cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZhZGVcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBCb3R0b21cbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTY2FsZSBVcFxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi8qXG4gKiBTY2FsZSBEb3duXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuOCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9IH1cblxuLypcbiAqIFNoYWtlXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1zaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9IH1cblxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFcXVhbCBjaGlsZCB3aWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTsgfVxuXG4udWstY2hpbGQtd2lkdGgtMS0yID4gKiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICoge1xuICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuXG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnVrLWNoaWxkLXdpZHRoLTEtNSA+ICoge1xuICB3aWR0aDogMjAlOyB9XG5cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLypcbiAqICAgIEluc3RlYWQgb2YgMCwgMXB4IGlzIG5lZWRlZCB0byBtYWtlIGNlbGwgd3JhcCBpbnRvIG5leHQgcm93IGlmIHByZWRlY2Vzc29yIGlzIDEwMCUgd2lkZVxuICogICAgYW5kIHRoZSBncmlkIGd1dHRlciBpcyAwIHBpeGVscyB3aWRlXG4gKi9cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiAqIHtcbiAgd2lkdGg6IDFweDsgfVxuXG4vKlxuICogMS4gTWFrZSBgd2lkdGg6IDFweGAgd29yaywgYmVjYXVzZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWMgZmxleCBpdGVtcyB3b27igJl0IHNocmlua1xuICogICAgYmVsb3cgdGhlaXIgbWluaW11bSBjb250ZW50IHNpemUuIFRvIGNoYW5nZSB0aGlzLCBzZXQgdGhlIG1pbi13aWR0aC5cbiAqICAgIE9ubHkgbmVlZGVkIGZvciBGaXJlZm94LiBBbGwgb3RoZXIgYnJvd3NlcnMgaWdub3JlIHRoaXMuXG4gKlxuICogMi4gYHdpZHRoYCBpcyBpZ25vcmVkIHdoZW4gd3JhcHBpbmcgZmxleCBpdGVtcyBpbiBTYWZhcmlcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjMTEtbWluLWFuZC1tYXgtc2l6ZS1kZWNsYXJhdGlvbnMtYXJlLWlnbm9yZWQtd2hlbi13cmFwcGluZy1mbGV4LWl0ZW1zXG4gKi9cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgLW1zLWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgZmxleDogMTtcbiAgLyogMSAqL1xuICBtaW4td2lkdGg6IDA7XG4gIC8qIDIgKi9cbiAgZmxleC1iYXNpczogMXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICoge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEBzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiAqIHtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICoge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gKiB7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiAqIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbCA+ICoge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAbCA+ICoge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiAqIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEBsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiAqIHtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICoge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7IH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpOyB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogSGFsdmVzICovXG4udWstd2lkdGgtMS0yIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4vKiBUaGlyZHMgKi9cbi51ay13aWR0aC0xLTMge1xuICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuXG4udWstd2lkdGgtMi0zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cblxuLyogUXVhcnRlcnMgKi9cbi51ay13aWR0aC0xLTQge1xuICB3aWR0aDogMjUlOyB9XG5cbi51ay13aWR0aC0zLTQge1xuICB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnVrLXdpZHRoLTItNSB7XG4gIHdpZHRoOiA0MCU7IH1cblxuLnVrLXdpZHRoLTMtNSB7XG4gIHdpZHRoOiA2MCU7IH1cblxuLnVrLXdpZHRoLTQtNSB7XG4gIHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cblxuLnVrLXdpZHRoLTUtNiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG5cbi8qIFBpeGVsICovXG4udWstd2lkdGgtc21hbGwge1xuICB3aWR0aDogMTUwcHg7IH1cblxuLnVrLXdpZHRoLW1lZGl1bSB7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4udWstd2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNDUwcHg7IH1cblxuLnVrLXdpZHRoLXhsYXJnZSB7XG4gIHdpZHRoOiA2MDBweDsgfVxuXG4udWstd2lkdGgteHhsYXJnZSB7XG4gIHdpZHRoOiA3NTBweDsgfVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gIHdpZHRoOiAxcHg7XG4gIC1tcy1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleC1iYXNpczogMXB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQHMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAcyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay13aWR0aC0yLTNcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAcyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAcyB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQHMge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQHMge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQHMge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnVrLXdpZHRoLTQtNVxcQHMge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBzIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNjAwcHg7IH1cbiAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHMge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgd2lkdGg6IDFweDtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQG0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAbSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpOyB9XG4gIC51ay13aWR0aC0yLTNcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMuMDAxKTsgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAbSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQG0ge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnVrLXdpZHRoLTItNVxcQG0ge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQG0ge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnVrLXdpZHRoLTQtNVxcQG0ge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7IH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBtIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBtIHtcbiAgICB3aWR0aDogNjAwcHg7IH1cbiAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBtIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQG0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgd2lkdGg6IDFweDtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7IH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnVrLXdpZHRoLTMtNFxcQGwge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC51ay13aWR0aC0yLTVcXEBsIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC51ay13aWR0aC0zLTVcXEBsIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEBsIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7IH1cbiAgLnVrLXdpZHRoLTUtNlxcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQGwge1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAbCB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC51ay13aWR0aC1sYXJnZVxcQGwge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAbCB7XG4gICAgd2lkdGg6IDYwMHB4OyB9XG4gIC51ay13aWR0aC14eGxhcmdlXFxAbCB7XG4gICAgd2lkdGg6IDc1MHB4OyB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXgtYmFzaXM6IDFweDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEB4bCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEB4bCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTsgfVxuICAudWstd2lkdGgtMi0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpOyB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEB4bCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudWstd2lkdGgtMy00XFxAeGwge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEB4bCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudWstd2lkdGgtMi01XFxAeGwge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnVrLXdpZHRoLTMtNVxcQHhsIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC51ay13aWR0aC00LTVcXEB4bCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQHhsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTsgfVxuICAudWstd2lkdGgtNS02XFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpOyB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQHhsIHtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA0NTBweDsgfVxuICAudWstd2lkdGgteGxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA2MDBweDsgfVxuICAudWstd2lkdGgteHhsYXJnZVxcQHhsIHtcbiAgICB3aWR0aDogNzUwcHg7IH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHhsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGVhZCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzMzMzsgfVxuXG4udWstdGV4dC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMWU4N2YwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMzJkMjk2ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtd2FybmluZyB7XG4gIGNvbG9yOiAjZmFhMDVhICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNmMDUwNmUgIWltcG9ydGFudDsgfVxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDMgKi9cbiAgY29sb3I6ICMxZTg3ZjAgIWltcG9ydGFudDsgfVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0KSB7XG4gIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7IH0gfVxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAcyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAcyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtcmlnaHRcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LWNlbnRlclxcQG0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtcmlnaHRcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LWNlbnRlclxcQGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtcmlnaHRcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuLnVrLXRleHQtdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtYmFzZWxpbmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG4vKiBXcmFwIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG4udWstdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG4udWstdGV4dC10cnVuY2F0ZSB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAyICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHtcbiAgbWF4LXdpZHRoOiAwOyB9XG5cbi8qXG4gKiAxLiBXcmFwIGxvbmcgd29yZHMgb250byB0aGUgbmV4dCBsaW5lIGFuZCBicmVhayB0aGVtIGlmIHRoZXkgYXJlIHRvbyBsb25nIHRvIGZpdFxuICogMi4gTGVnYWN5IGB3b3JkLXdyYXBgIGFzIGZhbGxiYWNrIGZvciBgb3ZlcmZsb3ctd3JhcGBcbiAqIDMuIEFkZCBhIGh5cGhlbiB3aGVyZSB0aGUgd29yZCBicmVha3NcbiAqIDQuIEZpeCBgb3ZlcmZsb3ctd3JhcGAgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGggdGFibGUgY2VsbHMgaW4gQ2hyb21lLCBPcGVyYSwgSUUxMSBhbmQgRWRnZVxuICogICAgTXVzdCB1c2UgYGJyZWFrLWFsbGAgdG8gc3VwcG9ydCBJRTExIGFuZCBFZGdlXG4gKi9cbi51ay10ZXh0LWJyZWFrIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAvKiAyICovXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLyogMyAqL1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAtbW96LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87IH1cblxuLyogNCAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10ge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IDMwcHg7XG4gIC1tb3otY29sdW1uLWdhcDogMzBweDtcbiAgY29sdW1uLWdhcDogMzBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2NsYXNzKj0ndWstY29sdW1uLSddIHtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDQwcHg7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiA0MHB4O1xuICAgIGNvbHVtbi1nYXA6IDQwcHg7IH0gfVxuXG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10gaW1nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgLXdlYmtpdC1jb2x1bW4tcnVsZTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIC1tb3otY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBjb2x1bW4tcnVsZTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xuICAtbW96LWNvbHVtbi1nYXA6IDYwcHg7XG4gIGNvbHVtbi1nYXA6IDYwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA4MHB4O1xuICAgIC1tb3otY29sdW1uLWdhcDogODBweDtcbiAgICBjb2x1bW4tZ2FwOiA4MHB4OyB9IH1cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tMS0yIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICBjb2x1bW4tY291bnQ6IDI7IH1cblxuLnVrLWNvbHVtbi0xLTMge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gIGNvbHVtbi1jb3VudDogMzsgfVxuXG4udWstY29sdW1uLTEtNCB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgY29sdW1uLWNvdW50OiA0OyB9XG5cbi51ay1jb2x1bW4tMS01IHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICBjb2x1bW4tY291bnQ6IDU7IH1cblxuLnVrLWNvbHVtbi0xLTYge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcbiAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gIGNvbHVtbi1jb3VudDogNjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAcyB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC51ay1jb2x1bW4tMS0zXFxAcyB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAcyB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC51ay1jb2x1bW4tMS01XFxAcyB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC51ay1jb2x1bW4tMS02XFxAcyB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEBtIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgLnVrLWNvbHVtbi0xLTNcXEBtIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgLnVrLWNvbHVtbi0xLTRcXEBtIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgLnVrLWNvbHVtbi0xLTVcXEBtIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgLnVrLWNvbHVtbi0xLTZcXEBtIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNjtcbiAgICBjb2x1bW4tY291bnQ6IDY7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEBsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgLnVrLWNvbHVtbi0xLTNcXEBsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgLnVrLWNvbHVtbi0xLTRcXEBsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgLnVrLWNvbHVtbi0xLTVcXEBsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgLnVrLWNvbHVtbi0xLTZcXEBsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNjtcbiAgICBjb2x1bW4tY291bnQ6IDY7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstY29sdW1uLTEtMlxcQHhsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC51ay1jb2x1bW4tMS00XFxAeGwge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgIGNvbHVtbi1jb3VudDogNDsgfVxuICAudWstY29sdW1uLTEtNVxcQHhsIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gICAgY29sdW1uLWNvdW50OiA2OyB9IH1cblxuLyogTWFrZSBlbGVtZW50IHNwYW4gYWNyb3NzIGFsbCBjb2x1bW5zXG4gKiBEb2VzIG5vdCB3b3JrIGluIEZpcmVmb3ggeWV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tc3BhbiB7XG4gIC13ZWJraXQtY29sdW1uLXNwYW46IGFsbDtcbiAgLW1vei1jb2x1bW4tc3BhbjogYWxsO1xuICBjb2x1bW4tc3BhbjogYWxsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cbi51ay1jb3ZlciB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cbi51ay1jb3Zlci1jb250YWluZXIge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi51ay1iYWNrZ3JvdW5kLW11dGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDsgfVxuXG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtY292ZXIsXG4udWstYmFja2dyb3VuZC1jb250YWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4udWstYmFja2dyb3VuZC1jb3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4vKiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4udWstYmFja2dyb3VuZC10b3AtY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7IH1cblxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cblxuLnVrLWJhY2tncm91bmQtY2VudGVyLWNlbnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cblxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cblxuLnVrLWJhY2tncm91bmQtYm90dG9tLWNlbnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgfVxuXG4vKiBSZXBlYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIEF0dGFjaG1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9IH1cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEB4bCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtYmxlbmQtbXVsdGlwbHkge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGFya2VuIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1kb2RnZSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItYnVybiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNvZnQtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGlmZmVyZW5jZSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1odWUge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGh1ZTsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zYXR1cmF0aW9uIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1sdW1pbm9zaXR5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG5bY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuLnVrLWFsaWduLWNlbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuLnVrLWFsaWduLWxlZnQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstYWxpZ24tbGVmdFxcQHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstYWxpZ24tcmlnaHRcXEBtIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnVrLWFsaWduLWxlZnQsXG4gIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgLnVrLWFsaWduLWxlZnRcXEBtLFxuICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDsgfVxuICAudWstYWxpZ24tcmlnaHQsXG4gIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gIC51ay1hbGlnbi1yaWdodFxcQG0sXG4gIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAeGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGFuZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhbmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstcGFuZWw6OmJlZm9yZSxcbi51ay1wYW5lbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstcGFuZWwgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFNjcm9sbGFibGVcbiAqL1xuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IDE3MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICByZXNpemU6IGJvdGg7IH1cblxuLyogQ2xlYXJmaXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuLyogMiAqL1xuLnVrLWNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiBGbG9hdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cbi51ay1mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVrLWZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIE92ZXJmb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEVuYWJsZSBzY3JvbGxiYXJzIGlmIGNvbnRlbnQgaXMgY2xpcHBlZFxuICovXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLnVrLW92ZXJmbG93LWF1dG8gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogUmVzaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1yZXNpemUge1xuICByZXNpemU6IGJvdGg7IH1cblxuLnVrLXJlc2l6ZS12ZXJ0aWNhbCB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZGlzcGxheS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLnVrLWRpc3BsYXktaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuLnVrLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqIDUuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuW2NsYXNzKj0ndWstaW5saW5lJ10ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVrLWlubGluZS1jbGlwIHtcbiAgLyogNSAqL1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1oZWlnaHQnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIE9ubHkgd29ya3MgaWYgcGFyZW50IGVsZW1lbnQgaGFzIGEgaGVpZ2h0IHNldFxuICovXG4udWstaGVpZ2h0LTEtMSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKlxuICogVXNlZnVsIHRvIGNyZWF0ZSBpbWFnZSB0ZWFzZXJzXG4gKi9cbi51ay1oZWlnaHQtdmlld3BvcnQge1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG4udWstaGVpZ2h0LXNtYWxsIHtcbiAgaGVpZ2h0OiAxNTBweDsgfVxuXG4udWstaGVpZ2h0LW1lZGl1bSB7XG4gIGhlaWdodDogMzAwcHg7IH1cblxuLnVrLWhlaWdodC1sYXJnZSB7XG4gIGhlaWdodDogNDUwcHg7IH1cblxuLnVrLWhlaWdodC1tYXgtc21hbGwge1xuICBtYXgtaGVpZ2h0OiAxNTBweDsgfVxuXG4udWstaGVpZ2h0LW1heC1tZWRpdW0ge1xuICBtYXgtaGVpZ2h0OiAzMDBweDsgfVxuXG4udWstaGVpZ2h0LW1heC1sYXJnZSB7XG4gIG1heC1oZWlnaHQ6IDQ1MHB4OyB9XG5cbi8qIFJlc3BvbnNpdmUgb2JqZWN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuLnVrLXByZXNlcnZlLXdpZHRoLFxuLnVrLXByZXNlcnZlLXdpZHRoIGF1ZGlvLFxuLnVrLXByZXNlcnZlLXdpZHRoIGNhbnZhcyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBpbWcsXG4udWstcHJlc2VydmUtd2lkdGggc3ZnLFxuLnVrLXByZXNlcnZlLXdpZHRoIHZpZGVvIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAvKiAyICovXG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gIC8qIDEgKi9cbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLyogMiAqL1xuICB3aWR0aDogYXV0bztcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogQm9yZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ib3JkZXItY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi51ay1ib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4vKlxuICogRml4IGBvdmVyZmxvdzogaGlkZGVuYCB0byBiZSBpZ25vcmVkIHdpdGggYm9yZGVyLXJhZGl1cyBhbmQgQ1NTIHRyYW5zZm9ybXMgaW4gV2Via2l0XG4gKi9cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJveC1zaGFkb3ctc21hbGwge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1tZWRpdW0ge1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnVrLWJveC1zaGFkb3ctbGFyZ2Uge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7XG4gIGJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cbltjbGFzcyo9J3VrLWJveC1zaGFkb3ctaG92ZXInXSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZS1pbi1vdXQ7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItc21hbGw6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1tZWRpdW06aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cblxuLyogQm94LXNoYWRvdyBib3R0b21cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvbi5cbiAqIDIuIFNldCBzdHlsZVxuICogMy4gQmx1ciBkb2Vzbid0IHdvcmsgb24gcHNldWRvIGVsZW1lbnRzIHdpdGggbmVnYXRpdmUgYHotaW5kZXhgIGluIEVkZ2UuXG4gKiAgICBTb2x2ZWQgYnkgdXNpbmcgYGJlZm9yZWAgYW5kIGFkZCBwb3NpdGlvbiBjb250ZXh0IHRvIGNoaWxkIGVsZW1lbnRzLlxuICovXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkgb3IgKC13ZWJraXQtZmlsdGVyOiBibHVyKDApKSB7XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgZmlsdGVyOiBibHVyKDIwcHgpOyB9XG4gIC8qIDMgKi9cbiAgLnVrLWJveC1zaGFkb3ctYm90dG9tID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLyogRHJvcCBjYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiA0LjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLyogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1sZWFkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBQbGFjZSBlbGVtZW50IGluIHRleHQgZmxvd1xuICogMi4gTmV2ZXIgYnJlYWsgaW50byBhIG5ldyBsaW5lXG4gKiAzLiBHZXQgYSBzdHJpbmcgYmFjayB3aXRoIGFzIG1hbnkgcmVwZWF0aW5nIGNoYXJhY3RlcnMgdG8gZmlsbCB0aGUgY29udGFpbmVyXG4gKiA0LiBQcmV2ZW50IHdyYXBwaW5nLiBPdmVyZmxvd2luZyBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyXG4gKi9cbi51ay1sZWFkZXItZmlsbDo6YWZ0ZXIge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDA7XG4gIC8qIDMgKi9cbiAgY29udGVudDogYXR0cihkYXRhLWZpbGwpO1xuICAvKiA0ICovXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuLnVrLWxlYWRlci1maWxsLnVrLWxlYWRlci1oaWRlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogUGFzcyBmaWxsIGNoYXJhY3RlciB0byBKUyAqL1xuLnZhci1sZWFkZXItZmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIi5cIjsgfVxuXG4vKiBMb2dvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cbi51ay1sb2dvIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIlllc2V2YSBPbmVcIjtcbiAgY29sb3I6ICM2NjY7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVrLWxvZ28taW52ZXJzZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAyLiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuLyogMSAqL1xuLnVrLXN2Zyxcbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7IH1cblxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cbi51ay1zdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4vKiBEaXNhYmxlZCBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBOZWVkZWQgaWYgbW92aW5nIG92ZXIgZWxlbWVudHMgd2l0aCBoYXZlIHRoZWlyIG93biBjdXJzb3Igb24gaG92ZXIsIGUuZy4gbGlua3Mgb3IgYnV0dG9uc1xuICogMi4gRml4IGRyYWdnaW5nIG92ZXIgaWZyYW1lc1xuICovXG4udWstZHJhZyxcbi51ay1kcmFnICoge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogMiAqL1xuLnVrLWRyYWcgaWZyYW1lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENyZWF0ZSBhIGJveC1zaGFkb3cgd2hlbiBkcmFnZ2luZyBhIGZpbGUgb3ZlciB0aGUgdXBsb2FkIGFyZWFcbiAqL1xuLnVrLWRyYWdvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjMpOyB9XG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ibGVuZC1tdWx0aXBseSB7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuXG4udWstYmxlbmQtc2NyZWVuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuXG4udWstYmxlbmQtb3ZlcmxheSB7XG4gIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG5cbi51ay1ibGVuZC1kYXJrZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogZGFya2VuOyB9XG5cbi51ay1ibGVuZC1saWdodGVuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cblxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG5cbi51ay1ibGVuZC1jb2xvci1idXJuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cblxuLnVrLWJsZW5kLWhhcmQtbGlnaHQge1xuICBtaXgtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuXG4udWstYmxlbmQtc29mdC1saWdodCB7XG4gIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG5cbi51ay1ibGVuZC1kaWZmZXJlbmNlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cblxuLnVrLWJsZW5kLWV4Y2x1c2lvbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cblxuLnVrLWJsZW5kLWh1ZSB7XG4gIG1peC1ibGVuZC1tb2RlOiBodWU7IH1cblxuLnVrLWJsZW5kLXNhdHVyYXRpb24ge1xuICBtaXgtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuXG4udWstYmxlbmQtY29sb3Ige1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cblxuLnVrLWJsZW5kLWx1bWlub3NpdHkge1xuICBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG4vKiBUcmFuc2Zvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNmb3JtLWNlbnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtbGVmdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWNlbnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsgfVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWNlbnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyB9XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi51ay1mbGV4LWlubGluZSB7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWxpZ24gaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBIb3Jpem9udGFsXG4gKi9cbi51ay1mbGV4LWxlZnQge1xuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC1jZW50ZXIge1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi51ay1mbGV4LXJpZ2h0IHtcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLnVrLWZsZXgtYmV0d2VlbiB7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnVrLWZsZXgtYXJvdW5kIHtcbiAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstZmxleC1sZWZ0XFxAcyB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQHMge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAcyB7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEBzIHtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEBzIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudWstZmxleC1sZWZ0XFxAbSB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQG0ge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbSB7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEBtIHtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEBtIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbCB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHhsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAeGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAeGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAeGwge1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQHhsIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuLnVrLWZsZXgtc3RyZXRjaCB7XG4gIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4udWstZmxleC10b3Age1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi51ay1mbGV4LW1pZGRsZSB7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4udWstZmxleC1ib3R0b20ge1xuICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qIERpcmVjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleC1yb3cge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi51ay1mbGV4LXJvdy1yZXZlcnNlIHtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4udWstZmxleC1jb2x1bW4ge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4LW5vd3JhcCB7XG4gIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLnVrLWZsZXgtd3JhcCB7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG4udWstZmxleC13cmFwLXN0cmV0Y2gge1xuICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2g7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuXG4udWstZmxleC13cmFwLXRvcCB7XG4gIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC13cmFwLW1pZGRsZSB7XG4gIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi51ay1mbGV4LXdyYXAtYm90dG9tIHtcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQ7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7XG4gIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHtcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlO1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG4udWstZmxleC1maXJzdCB7XG4gIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgLXdlYmtpdC1vcmRlcjogLTE7XG4gIG9yZGVyOiAtMTsgfVxuXG4udWstZmxleC1sYXN0IHtcbiAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgb3JkZXI6IDk5OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBzIHtcbiAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEBzIHtcbiAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBtIHtcbiAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEBtIHtcbiAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAbCB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAbCB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAeGwge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQHhsIHtcbiAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG4udWstZmxleC1ub25lIHtcbiAgLW1zLWZsZXg6IG5vbmU7XG4gIC13ZWJraXQtZmxleDogbm9uZTtcbiAgZmxleDogbm9uZTsgfVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cbi51ay1mbGV4LWF1dG8ge1xuICAtbXMtZmxleDogYXV0bztcbiAgLXdlYmtpdC1mbGV4OiBhdXRvO1xuICBmbGV4OiBhdXRvOyB9XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG4udWstZmxleC0xIHtcbiAgLW1zLWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgZmxleDogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay1tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbiogKyAudWstbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiogKyAudWstbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuKiArIC51ay1tYXJnaW4tbWVkaXVtIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuICAqICsgLnVrLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG5cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7XG4gIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweDsgfVxuICAqICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tcmVtb3ZlIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdG9wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZyB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiA0MHB4OyB9IH1cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhZGRpbmctc21hbGwge1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nLWxhcmdlIHtcbiAgcGFkZGluZzogMzBweDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBhZGRpbmctbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDcwcHg7IH0gfVxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhZGRpbmctcmVtb3ZlIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLypcbiAqIENlbnRlclxuICogMS4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lciAoTm90IHdvcmtpbmcgaW4gRmlyZWZveClcbiAqIDIuIEZpeCB0ZXh0IHdyYXBwaW5nIGZvciBGaXJlZm94XG4gKi9cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMiAqL1xuICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQsXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7XG4gIHRvcDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHtcbiAgei1pbmRleDogMTsgfVxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gIG1hcmdpbjogMTVweDsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAxNXB4KSwgY2FsYygtNTAlIC0gMTVweCkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAxNXB4KSwgY2FsYygtNTAlIC0gMTVweCkpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCxcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC01MCUgLSAxNXB4KSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC01MCUgLSAxNXB4KSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwJSAtIDE1cHgpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwJSAtIDE1cHgpKTsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICBtYXJnaW46IDMwcHg7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTUwJSAtIDMwcHgpLCBjYWxjKC01MCUgLSAzMHB4KSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTUwJSAtIDMwcHgpLCBjYWxjKC01MCUgLSAzMHB4KSk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCxcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNTAlIC0gMzBweCkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNTAlIC0gMzBweCkpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwJSAtIDMwcHgpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwJSAtIDMwcHgpKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVXNpbmcgbXVsdGlwbGUgc2VsZWN0b3JzIHRvIGV4Y2x1ZGUgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYFxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYFxuICogICAgICAgSnVzdCBwdXQgdGhlIHRyYW5zaXRpb24gaW4gYW4gZXh0cmEgYGRpdmBcbiAqL1xuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7IH1cblxuLypcbiAqIEZhZGVcbiAqL1xuLnVrLXRyYW5zaXRpb24tZmFkZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqIE5vdGU6IFVzaW5nIGBzY2FsZTNkYCBmb3IgYmV0dGVyIGltYWdlIHJlbmRlcmluZ1xuICovXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKTsgfVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Age1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cblxuLyogSG92ZXIgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogT3BhY2l0eSBtb2RpZmllclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuN3M7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5baGlkZGVuXSxcbi51ay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstaGlkZGVuXFxAcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnVrLWhpZGRlblxcQG0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstaGlkZGVuXFxAbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWhpZGRlblxcQHhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxuICogVmlzaWJsZVxuICovXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC51ay12aXNpYmxlXFxAcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnVrLXZpc2libGVcXEBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC51ay12aXNpYmxlXFxAbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAudWstdmlzaWJsZVxcQHhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4vKiBIb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIaWRkZW4gKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaGlkZGVuLWhvdmVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIEludmlzaWJsZSAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIC51ay1pbnZpc2libGUtaG92ZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBoYXMgbGltaXRlZCBhY2N1cmFjeSwgZS5nLiBhIHRvdWNoIHNjcmVlbi5cbiAqIFdvcmtzIG9uIG1vYmlsZSBicm93c2VyczogU2FmYXJpLCBDaHJvbWUgYW5kIEFuZHJvaWQgYnJvd3NlclxuICovXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAudWstaGlkZGVuLXRvdWNoIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBpcyBhY2N1cmF0ZSwgZS5nLiBtb3VzZS5cbiAqIDEuIEZhbGxiYWNrIGZvciBJRTExIGFuZCBGaXJlZm94LCBiZWNhdXNlIGBwb2ludGVyYCBpcyBub3Qgc3VwcG9ydGVkXG4gKiAyLiBSZXNldCBpZiBzdXBwb3J0ZWRcbiAqL1xuLyogMSAqL1xuLnVrLWhpZGRlbi1ub3RvdWNoIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gIC51ay1oaWRkZW4tbm90b3VjaCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cbi51ay1saWdodCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSksIC51ay1vdmVybGF5LXByaW1hcnkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEsIC51ay1vdmVybGF5LXByaW1hcnkgYSxcbiAgLnVrLWxpZ2h0IC51ay1saW5rLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmssIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluaywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluayB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgOm5vdChwcmUpID4gY29kZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBjb2RlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGNvZGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBjb2RlLCAudWstb3ZlcmxheS1wcmltYXJ5IDpub3QocHJlKSA+IGNvZGUsXG4gIC51ay1saWdodCA6bm90KHByZSkgPiBrYmQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4ga2JkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4ga2JkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4ga2JkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIDpub3QocHJlKSA+IGtiZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSA6bm90KHByZSkgPiBrYmQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBrYmQsIC51ay1vdmVybGF5LXByaW1hcnkgOm5vdChwcmUpID4ga2JkLFxuICAudWstbGlnaHQgOm5vdChwcmUpID4gc2FtcCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gc2FtcCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBzYW1wLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IHNhbXAsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBzYW1wLCAudWstb3ZlcmxheS1wcmltYXJ5IDpub3QocHJlKSA+IHNhbXAge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IGVtLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGVtLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgZW0sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgZW0sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBlbSwgLnVrLW92ZXJsYXktcHJpbWFyeSBlbSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IGgxLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaDEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaDEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMSwgLnVrLW92ZXJsYXktcHJpbWFyeSBoMSwgLnVrLWxpZ2h0IC51ay1oMSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgxLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgxLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaDEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgxLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oMSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oMSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaDEsXG4gIC51ay1saWdodCBoMiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGgyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGgyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDIsIC51ay1vdmVybGF5LXByaW1hcnkgaDIsIC51ay1saWdodCAudWstaDIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWgyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oMiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaDIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWgyLFxuICAudWstbGlnaHQgaDMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoMywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoMywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgzLCAudWstb3ZlcmxheS1wcmltYXJ5IGgzLCAudWstbGlnaHQgLnVrLWgzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oMyxcbiAgLnVrLWxpZ2h0IGg0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaDQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaDQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNCwgLnVrLW92ZXJsYXktcHJpbWFyeSBoNCwgLnVrLWxpZ2h0IC51ay1oNCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaDQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oNCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oNCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaDQsXG4gIC51ay1saWdodCBoNSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg1LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg1LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGg1LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg1LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGg1LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDUsIC51ay1vdmVybGF5LXByaW1hcnkgaDUsIC51ay1saWdodCAudWstaDUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg1LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg1LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWg1LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oNSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaDUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWg1LFxuICAudWstbGlnaHQgaDYsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg2LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBoNiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoNiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg2LCAudWstb3ZlcmxheS1wcmltYXJ5IGg2LCAudWstbGlnaHQgLnVrLWg2LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDYsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDYsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDYsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg2LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg2LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oNiB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IGhyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBociwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaHIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaHIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaHIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBociwgLnVrLW92ZXJsYXktcHJpbWFyeSBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCBhLnVrLWxpbmstbXV0ZWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLW11dGVkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstbXV0ZWQsIC51ay1vdmVybGF5LXByaW1hcnkgYS51ay1saW5rLW11dGVkLFxuICAudWstbGlnaHQgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1tdXRlZCBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkIGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1tdXRlZCBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLW11dGVkIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gIC51ay1saWdodCAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1tdXRlZCBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGEudWstbGluay10ZXh0OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IGEudWstbGluay10ZXh0OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWxpbmstdGV4dCBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQgYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLXRleHQgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay10ZXh0IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsXG4gIC51ay1saWdodCAudWstaGVhZGluZy1saW5lID4gOmFmdGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOmFmdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstZGl2aWRlci1pY29uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb24sIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiklMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuICAudWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbiAgLnVrLWxpZ2h0IC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tbGluaywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWxpbmsge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1saW5rOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWljb24tbGluazpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbms6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgLnVrLWxpZ2h0IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluaywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1idXR0b246aG92ZXIsXG4gIC51ay1saWdodCAudWstaWNvbi1idXR0b246Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWJ1dHRvbjpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xKTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWlucHV0LFxuICAudWstbGlnaHQgLnVrLXNlbGVjdCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3QsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWxlY3QsXG4gIC51ay1saWdodCAudWstdGV4dGFyZWEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyB9XG4gICAgLnVrLWxpZ2h0IC51ay1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQ6Zm9jdXMsXG4gICAgLnVrLWxpZ2h0IC51ay1zZWxlY3Q6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VsZWN0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VsZWN0OmZvY3VzLFxuICAgIC51ay1saWdodCAudWstdGV4dGFyZWE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7IH1cbiAgLnVrLWxpZ2h0IC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1yYWRpbywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW8sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW8sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW8sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW8sXG4gIC51ay1saWdodCAudWstY2hlY2tib3gsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3gsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3gsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW86Y2hlY2tlZCxcbiAgLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgLnVrLWxpZ2h0IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC51ay1saWdodCAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhZGlvOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAudWstbGlnaHQgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gIC51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLnVrLWxpZ2h0IC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gIC51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXRleHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC51ay1saWdodCAudWstY2xvc2UsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jbG9zZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2UsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstY2xvc2U6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jbG9zZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNsb3NlOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWNsb3NlOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXRvdG9wLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3AsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3AsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10b3RvcCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3AsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10b3RvcCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXRvdG9wOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3A6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10b3RvcDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay10b3RvcDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay10b3RvcDphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLWJhZGdlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2UsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2UsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2UsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAudWstbGlnaHQgLnVrLWJhZGdlOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1iYWRnZTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1iYWRnZTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstbGFiZWwsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sYWJlbCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sYWJlbCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGFiZWwsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGFiZWwsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstYXJ0aWNsZS1tZXRhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYXJ0aWNsZS1tZXRhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYXJ0aWNsZS1tZXRhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYXJ0aWNsZS1tZXRhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWFydGljbGUtbWV0YSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1hcnRpY2xlLW1ldGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWFydGljbGUtbWV0YSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnVrLWxpZ2h0IC51ay1zZWFyY2gtdG9nZ2xlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlM0UlM0MlMkZwb2x5bGluZSUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAudWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAudWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci1pdGVtLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLWl0ZW0sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItaXRlbSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1pdGVtLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1pdGVtLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItaXRlbSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsXG4gIC51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4gIC51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC51ay1saWdodCAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10YWIgPiAqID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFiID4gKiA+IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFiID4gKiA+IGE6aG92ZXIsXG4gIC51ay1saWdodCAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWstbGlnaHQgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC51ay1saWdodCAudWstc2xpZGVuYXYsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXYsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXYsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNsaWRlbmF2IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4gIC51ay1saWdodCAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNsaWRlbmF2OmhvdmVyLFxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAudWstbGlnaHQgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAudWstbGlnaHQgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gIC51ay1saWdodCAudWstaWNvbm5hdiA+ICogPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gKiA+ICosIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb25uYXYgPiAqID4gKiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAudWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+IDpob3ZlcixcbiAgLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAqID4gOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbm5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstdGV4dC1sZWFkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1sZWFkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbGVhZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LWxlYWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHQtbGVhZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLXRleHQtbWV0YSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbWV0YSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbWV0YSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbWV0YSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tZXRhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10ZXh0LW1ldGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnVrLWxpZ2h0IC51ay10ZXh0LW11dGVkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tdXRlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1tdXRlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstdGV4dC1wcmltYXJ5LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LXByaW1hcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50OyB9XG4gIC51ay1saWdodCAudWstY29sdW1uLWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAtd2Via2l0LWNvbHVtbi1ydWxlLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgLW1vei1jb2x1bW4tcnVsZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGNvbHVtbi1ydWxlLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLnVrLWxpZ2h0IC51ay1sb2dvLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nbyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAudWstbGlnaHQgLnVrLWxvZ286aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvOmhvdmVyLFxuICAudWstbGlnaHQgLnVrLWxvZ286Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbzpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC51ay1saWdodCAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWstbGlnaHQgLnVrLWxvZ28taW52ZXJzZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28taW52ZXJzZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28taW52ZXJzZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvLWludmVyc2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nby1pbnZlcnNlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvLWludmVyc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4vKiBIZWxwZXJzICovXG50ZXh0YXJlYSxcbmlucHV0LnRleHQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmlucHV0LWNoZWNrYm94IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qIFdvcmRQcmVzcyAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi8gfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjM2MzYzNjO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogN3B4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDdweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDtcbiAgLyogQWJvdmUgV1AgdG9vbGJhci4gKi8gfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMS41ZW07IH1cblxuLmFsaWduY2VudGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ieXBvc3RhdXRob3IgLnVrLWNvbW1lbnQtYXZhdGFyIHtcbiAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLndwLWNhcHRpb24sXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmN1c3RvbS1sb2dvLWxpbmsgLmN1c3RvbS1sb2dvIHtcbiAgbWF4LWhlaWdodDogNTBweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmNvbW1lbnQtZWRpdC1saW5rIC51ay1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDJweDsgfVxuXG4uc2lkZWJhciAud2lkZ2V0IHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2lkZWJhciAud2lkZ2V0IHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDcuNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuc2lkZWJhciAud2lkZ2V0IHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjsgfVxuXG4uc2lkZWJhciAud2lkZ2V0IC50YWdjbG91ZCAudGFnLWNsb3VkLWxpbmsge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuI2NvbnRlbnQgLnBvc3QtY29udGVudCxcbiNjb250ZW50IC5wYWdlLWNvbnRlbnQge1xuICBmb250LXNpemU6IDE4cHg7IH1cbiAgI2NvbnRlbnQgLnBvc3QtY29udGVudCBhLFxuICAjY29udGVudCAucGFnZS1jb250ZW50IGEge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDJkMmQyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjI1cyBlYXNlLWluLW91dDsgfVxuICAjY29udGVudCAucG9zdC1jb250ZW50IGE6aG92ZXIsICNjb250ZW50IC5wb3N0LWNvbnRlbnQgYTpmb2N1cywgI2NvbnRlbnQgLnBvc3QtY29udGVudCBhOmFjdGl2ZSxcbiAgI2NvbnRlbnQgLnBhZ2UtY29udGVudCBhOmhvdmVyLFxuICAjY29udGVudCAucGFnZS1jb250ZW50IGE6Zm9jdXMsXG4gICNjb250ZW50IC5wYWdlLWNvbnRlbnQgYTphY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzMzM7IH1cblxuLyogVGhlbWUgc3BlY2lhbCBjbGFzc2VzLiAqL1xuLnRtLXBvc3QtdGl0bGUge1xuICB0ZXh0LXNoYWRvdzogMHB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMzKTsgfVxuXG4udG0tZXhjZXJwdCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi50bS10ZXh0LXhzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OyB9XG4iLCIvLyBQVCBTYW5zIFJlZ3VsYXJcbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJQVCBTYW5zXCI7XG5cdHNyYzogdXJsKFwiYXNzZXRzL2ZvbnRzL1BUX1NhbnMtV2ViLVJlZ3VsYXIudHRmXCIpLFxuXHR1cmwoXCJhc3NldHMvZm9udHMvUFRfU2Fucy1XZWItUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gUFQgU2FucyBJdGFsaWNcbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJQVCBTYW5zXCI7XG5cdHNyYzogdXJsKFwiYXNzZXRzL2ZvbnRzL1BUX1NhbnMtV2ViLUl0YWxpYy50dGZcIiksXG5cdHVybChcImFzc2V0cy9mb250cy9QVF9TYW5zLVdlYi1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIFBUIFNhbnMgQm9sZFxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIlBUIFNhbnNcIjtcblx0c3JjOiB1cmwoXCJhc3NldHMvZm9udHMvUFRfU2Fucy1XZWItQm9sZC50dGZcIiksXG5cdHVybChcImFzc2V0cy9mb250cy9QVF9TYW5zLVdlYi1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBZZXNldmEgT25lXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwiWWVzZXZhIE9uZVwiO1xuXHRzcmM6IHVybChcImFzc2V0cy9mb250cy9ZZXNldmFPbmUtUmVndWxhci50dGZcIiksXG5cdHVybChcImFzc2V0cy9mb250cy9ZZXNldmFPbmUtUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLWJvZHktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHRtbCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1ib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYm9keS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWJvZHktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJvZHktbGluZS1oZWlnaHQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJGJhc2UtYm9keS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1ib2R5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJvZHkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmVzIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG5hLFxuLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmsoKTt9XG59XG5cbmE6aG92ZXIsXG4udWstbGluazpob3ZlciB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuLyogMSAqL1xuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qIDIgKi9cbmIsXG5zdHJvbmcgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb25zb2xhcyBoYXMgYSBiZXR0ZXIgYmFzZWxpbmUgaW4gcnVubmluZyB0ZXh0IGNvbXBhcmVkIHRvIGBDb3VyaWVyYFxuICogMy4gU3R5bGVcbiAqL1xuXG46bm90KHByZSkgPiBjb2RlLFxuOm5vdChwcmUpID4ga2JkLFxuOm5vdChwcmUpID4gc2FtcCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5O1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGJhc2UtY29kZS1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWNvZGUoKTt9XG59XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuXG5lbSB7IGNvbG9yOiAkYmFzZS1lbS1jb2xvcjsgfVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cblxuaW5zIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1pbnMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtaW5zLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIE1hcmtcbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1tYXJrLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLW1hcmstY29sb3I7XG59XG5cbi8qXG4gKiBRdW90ZVxuICovXG5cbnEgeyBmb250LXN0eWxlOiAkYmFzZS1xdW90ZS1mb250LXN0eWxlOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7IGZvbnQtc2l6ZTogJGJhc2Utc21hbGwtZm9udC1zaXplOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHsgdG9wOiAtMC41ZW07IH1cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBlbWJlZGRlZCBjb250ZW50IGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAyLiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNiB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRiYXNlLWhlYWRpbmctY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWJhc2UtaGVhZGluZygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgYW5kIGhlaWdodCBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBTdHlsZVxuICovXG5cbmhyLCAudWstaHIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCB9XG5cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDtcbiAgICBmb250LXN0eWxlOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7IG1hcmdpbi10b3A6ICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBPdmVycmlkZSBVQVxuICovXG5cbnByZSB7XG4gICAgZm9udDogJGJhc2UtcHJlLWZvbnQtc2l6ZSB1bnF1b3RlKFwiL1wiKSAkYmFzZS1wcmUtbGluZS1oZWlnaHQgJGJhc2UtcHJlLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkYmFzZS1wcmUtY29sb3I7XG4gICAgLW1vei10YWItc2l6ZTogNDtcbiAgICB0YWItc2l6ZTogNDtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtcHJlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1wcmUoKTt9XG59XG5cbnByZSBjb2RlIHsgZm9udC1mYW1pbHk6ICRiYXNlLXByZS1mb250LWZhbWlseTsgfVxuXG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2Utc2VsZWN0aW9uLWNvbG9yO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5cbi8qIEhUTUw1IGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLyogMSAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8qIDIgKi9cbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUsIC8qIDEgKi9cbltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIFByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGZvciB0b3VjaHNjcmVlbiBpbnRlcmFjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTW9zdCBicm93c2VycyBwcmV2ZW50IHRoZSAzMDBtcyBkZWxheSBhdXRvbWF0aWNhbGx5IGZvciBzaXRlcyB0aGF0IHVzZSB0aGUgYHdpZHRoPWRldmljZS13aWR0aGAgcHJvcGVydHkuXG4gKiBGb3IgU2FmYXJpIG9uIGlPUyA5LjMrLCBJRSAxMSBhbmQgRWRnZSBvbiBkZXNrdG9wcyBhbmQgSUUgMTEgb24gV2luZG93cyBQaG9uZSA4LjEgaXQgbXVzdCBiZSBhcHBsaWVkIG1hbnVhbGx5LlxuICovXG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7IHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG5cbi52YXItbWVkaWEtczpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtc21hbGx9JzsgfVxuLnZhci1tZWRpYS1tOmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnZhci1tZWRpYS1sOmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1sYXJnZX0nOyB9XG4udmFyLW1lZGlhLXhsOmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXhsYXJnZX0nOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIi8vIEdsb2JhbHNcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZjtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMzMzM7XG5cbi8vIEJveCBzaGFkb3dzXG4kZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMDgpO1xuXG4vLyBGb250c1xuJGdsb2JhbC1mb250LWZhbWlseTogXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiBcIlllc2V2YSBPbmVcIjtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMDtcblxuLy8gRm9udCBzaXppbmdcbiRnbG9iYWwteHhsYXJnZS1mb250LXNpemU6IDIuNjI1cmVtO1xuJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplOiAycmVtO1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbTtcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogMS4yNXJlbTtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtO1xuXG4vLyBMaW5rc1xuJGdsb2JhbC1saW5rLWNvbG9yOiAjM2MzYzNjO1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAjMDAwO1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbi8vIEJ1dHRvblxuJGJ1dHRvbi1mb250LXNpemU6IDEycHg7XG5cbi8vIE92ZXJsYXlcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjQ1KTtcbiIsIiRnbG9iYWwtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZjhmOGY4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogIzFlODdmMCAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjMzJkMjk2ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICNmYWEwNWEgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAjZjA1MDZlICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogNDBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogNzBweCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZTogMi42MjVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMjIyICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2Utc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYWRnZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLW1hcmstY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcbiRiYXNlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiA0MHB4ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRidXR0b24tbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6IDU1cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS10b3A6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6ICRjYXJkLWJhZGdlLXRvcCAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZ3V0dGVyOiA3MHB4ICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlcjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAxMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbWF4LXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogMTYwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb3VudGRvd24taXRlbS1saW5lLWhlaWdodDogNzBweCAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiA0cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06IDZyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAzcmVtICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0td2lkdGg6IDE2cHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taGVpZ2h0OiAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXotaW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4kZHJvcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMTUlKSAhZGVmYXVsdDtcbiRmb3JtLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXhzbWFsbDogNDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6IDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdpZHRoOiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06IDMuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LW06IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiA0cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtczogNnJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtczogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LXRvcDogdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogMC45ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAwLjZlbSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGljb24taW1hZ2Utc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRpY29uLWxpbmstY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6IGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tc2l6ZTogMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LW5lc3RlZC1wYWRkaW5nLWxlZnQ6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC13aWR0aDogKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWhlaWdodDogJGxpc3QtYnVsbGV0LXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1hcmdpbi1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAxNDBweCAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFya2VyLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXZlcnRpY2FsOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4tdmVydGljYWwteHM6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi1ob3Jpem9udGFsOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi12ZXJ0aWNhbC14cyAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246IDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6IDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWNhcHRpb24tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2FwdGlvbi1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAzMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi1ib3R0b206IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06IDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdG9vbHRpcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJHRvdG9wLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zY2FsZTogMS4xICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246IDAuN3MgIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6IDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1jb250ZW50OiAnLicgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGxvZ28tZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbG9nby1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbDogNjQwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW06IDk2MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2U6IDEyMDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhsYXJnZTogMTYwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1tZWRpdW0gLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bS1tYXg6ICgkYnJlYWtwb2ludC1sYXJnZSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbGFyZ2UtbWF4OiAoJGJyZWFrcG9pbnQteGxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogMCAyOHB4IDUwcHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiR3aWR0aC1zbWFsbC13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC14eGxhcmdlLXdpZHRoOiA3NTBweCAhZGVmYXVsdDsiLCJAbWl4aW4gaG9vay1iYXNlLWJvZHkoKSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKSB7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIGgxIHJlc3BvbnNpdmUgc2l6aW5nLlxuQG1peGluIGhvb2stYmFzZS1oMSgpIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZSAvIDEuNzU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUgLyAxLjU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZSAvIDEuMjU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIH1cbn1cblxuLy8gaDIgcmVzcG9uc2l2ZSBzaXppbmcuXG5AbWl4aW4gaG9vay1iYXNlLWgyKCkge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplIC8gMS43NTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgICBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZSAvIDEuNTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplIC8gMS4yNTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgfVxufVxuXG4vLyBoMyByZXNwb25zaXZlIHNpemluZy5cbkBtaXhpbiBob29rLWJhc2UtaDMoKSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemUgLyAxLjc1O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplIC8gMS41O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemUgLyAxLjI1O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuICAgICAgICBmb250LXNpemU6ICRiYXNlLWgzLWZvbnQtc2l6ZTtcbiAgICB9XG59XG4iLCIvLyBIZWFkaW5nc1xuJGJhc2UtaDEtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplO1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMjtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbTtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplO1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6IDEuMztcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAxLjVyZW07XG4kYmFzZS1oMy1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplO1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6IDEuNDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplO1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6IDEuNDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogMS40O1xuJGJhc2UtaDYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAxLjQ7XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIExpbmtcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaW5rc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmstbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saW5rLXJlc2V0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaW5rXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1tdXRlZCxcbi51ay1saW5rLW11dGVkIGEge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQoKTt9XG59XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cblxuYS51ay1saW5rLXRleHQ6bm90KDpob3ZlciksXG4udWstbGluay10ZXh0IGE6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dCkpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dCgpO31cbn1cblxuYS51ay1saW5rLXRleHQ6aG92ZXIsXG4udWstbGluay10ZXh0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQtaG92ZXIoKTt9XG59XG5cblxuLyogUmVzZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBpbnZlcnNlIGNvbXBvbmVudFxuICovXG5cbmEudWstbGluay1yZXNldCxcbmEudWstbGluay1yZXNldDpob3Zlcixcbi51ay1saW5rLXJlc2V0IGEsXG4udWstbGluay1yZXNldCBhOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXJlc2V0KSkge0BpbmNsdWRlIGhvb2stbGluay1yZXNldCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saW5rLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlYWRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBoZWFkaW5nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhlYWRpbmctcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctaGVyb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1saW5lYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgIDMuNzVyZW0gIWRlZmF1bHQ7IC8vIDU0cHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1zOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAvLyAxMjhweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1idWxsZXQtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDAuOWVtICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgMC42ZW0gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFByaW1hcnlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXByaW1hcnkoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBIZXJvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1oZXJvKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1zO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW07XG4gICAgfVxuXG59XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWRpdmlkZXIoKTt9XG59XG5cblxuLyogQnVsbGV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG4gKiAxLiBVc2luZyBgaW5saW5lLWJsb2NrYCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWdubWVudFxuICogMi4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGhlYWRpbmctYnVsbGV0LXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBoZWlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0O1xuICAgIGJvcmRlci1sZWZ0OiAkaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1idWxsZXQoKTt9XG59XG5cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEV4dHJhIG1hcmt1cCBpcyBuZWVkZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnblxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gOmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGhlYWRpbmctbGluZS1oZWlnaHR9IC8gMikpJyk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAyMDAwcHg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlIHtcbiAgICByaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG4udWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGl2aWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRpdmlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGl2aWRlci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci1zbWFsbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcblxuJGRpdmlkZXItc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cblxuW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7IG1hcmdpbi10b3A6ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkZGl2aWRlci1pY29uLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24oKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRkaXZpZGVyLWljb24tbGluZS10b3A7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSAtICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgYm9yZGVyLWJvdHRvbTogJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICAgIHJpZ2h0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBsZWZ0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpO31cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBjaGlsZCBoZWlnaHQsIGNhdXNlZCBieSBgaW5saW5lLWJsb2NrYFxuICovXG5cbi51ay1kaXZpZGVyLXNtYWxsIHsgbGluZS1oZWlnaHQ6IDA7IH1cblxuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGRpdmlkZXItc21hbGwtd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6ICRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItc21hbGwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIE1peGluXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgbWl4aW5zIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFNWR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldyl7XG5cbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRyZXBsYWNlLXNyYywgXCIjXCIsIFwiJTIzXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChxdW90ZSgkcmVwbGFjZS1zcmMpKTtcbn0iLCIvLyBOYW1lOiAgICAgICAgICAgIExpc3Rcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpc3RgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGlzdC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zdHJpcGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRsaXN0LWJ1bGxldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpc3QtYnVsbGV0LXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWxpc3QgPiBsaTo6YmVmb3JlLFxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1saXN0ID4gbGk6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1saXN0ID4gbGkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIE5lc3RlZCBsaXN0c1xuICovXG5cbi51ay1saXN0IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbi51ay1saXN0ID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+IGxpID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1tYXJnaW4tdG9wOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1saXN0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kOiAkbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogQnVsbGV0XG4gKi9cblxuLnVrLWxpc3QtYnVsbGV0ID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IHVucXVvdGUoJ2NhbGMoI3skbGlzdC1idWxsZXQtd2lkdGh9ICsgI3skbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0fSknKTtcbn1cblxuLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRsaXN0LWJ1bGxldC13aWR0aDtcbiAgICBoZWlnaHQ6ICRsaXN0LWJ1bGxldC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlLCBcIiMwMDBcIiwgJGxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1saXN0LWJ1bGxldCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3QtbGFyZ2UgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWxhcmdlID4gbGkgPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGkge1xuICAgIHBhZGRpbmc6ICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stbGlzdC1zdHJpcGVkKCk7fVxufVxuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGVzY3JpcHRpb24gbGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGFibGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFibGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFibGUtbWlkZGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtanVzdGlmeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNocmlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1yZXNwb25zaXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuXG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBSb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc21hbGwoKTt9XG59XG5cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblxuLyogQ2VsbCBzaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNocmluayB7IHdpZHRoOiAxcHg7IH1cbi51ay10YWJsZS1leHBhbmQgeyBtaW4td2lkdGg6ICR0YWJsZS1leHBhbmQtbWluLXdpZHRoOyB9XG5cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG5cbi51ay10YWJsZS1saW5rIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay10YWJsZS1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEgeyBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLXRvcDogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLWJvdHRvbTogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogNy4gUmVxdWlyZWQgZm9yIGBidXR0b25gLlxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA2LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogNyAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLnVrLWljb24gW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm0gUmFuZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0aGUgcmFuZ2UgaW5wdXQgdHlwZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXJhbmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMikgKiAtMSk7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogVHJhY2tcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLyogMSAqL1xuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbi51ay10ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHsgcGFkZGluZzogMDsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1mb2N1cy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tZm9jdXMoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbi51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4udWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbi51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstZm9ybS1zbWFsbCB7IGZvbnQtc2l6ZTogJGZvcm0tc21hbGwtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstZm9ybS1sYXJnZSB7IGZvbnQtc2l6ZTogJGZvcm0tbGFyZ2UtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1saW5lLWhlaWdodDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXJyb3JcbiAqL1xuXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kYW5nZXIoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMgIHtcbiAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogQmxhbmtcbiAqL1xuXG4udWstZm9ybS1ibGFuayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuaykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmsoKTt9XG59XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmstZm9jdXMoKTt9XG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cblxuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgteHNtYWxsOyB9XG5cbnNlbGVjdC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAoJGZvcm0td2lkdGgteHNtYWxsICsgMjVweCk7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgtc21hbGw7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHsgd2lkdGg6ICRmb3JtLXdpZHRoLW1lZGl1bTsgfVxuXG4udWstZm9ybS13aWR0aC1sYXJnZSB7IHdpZHRoOiAkZm9ybS13aWR0aC1sYXJnZTsgfVxuXG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IE9ubHkgd29ya3MgaW4gQ2hyb21lLCBTYWZhcmksIE9wZXJhIGFuZCBFZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1yYWRpby1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1yYWRpby1tYXJnaW4tdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWZvY3VzKCk7fVxufVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG5cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvbnNcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpO31cbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogTGVnZW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbGVnZW5kIHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250LXNpemU6ICRmb3JtLWxlZ2VuZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sZWdlbmQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxlZ2VuZCgpO31cbn1cblxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgbGVmdDogMDtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDQgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiA1ICovXG4gICAgZm9udC1zaXplOiA1MDBweDtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mb3JtLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGFiZWwoKTt9XG59XG5cblxuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN0YWNrZWRcbiAqL1xuXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbn1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC8qIEJlaGF2ZSBsaWtlIGB1ay1mb3JtLXN0YWNrZWRgICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMgeyBtYXJnaW4tbGVmdDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDsgfVxuXG4gICAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzLXRleHQgeyBwYWRkaW5nLXRvcDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOyB9XG5cbn1cblxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNldCB3aWR0aFxuICogMy4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1mb3JtLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGZvcm0taWNvbi13aWR0aDtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiA0ICovXG4gICAgY29sb3I6ICRmb3JtLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBJbnB1dCBwYWRkaW5nXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSArIC51ay1pbnB1dCB7IHBhZGRpbmctbGVmdDogJGZvcm0taWNvbi13aWR0aDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCArIC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGg7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnV0dG9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgYnV0dG9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJ1dHRvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1idXR0b24tZ3JvdXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYnV0dG9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1sYXJnZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBTdHlsZVxuICogNy4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDguIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiA5LiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1idXR0b24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDYgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA3ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOCAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1idXR0b24oKTt9XG59XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgICAvKiA4ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZm9jdXMoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1idXR0b24tc21hbGwge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNtYWxsKCk7fVxufVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1sYXJnZSgpO31cbn1cblxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXh0XG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLXRleHQge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogTGlua1xuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1saW5rKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxpbmsoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVudCBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1idXR0b24tZ3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbiIsIkBtaXhpbiBob29rLWJ1dHRvbigpIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IC4zcyBlYXNlLW91dDtcbiAgICB9XG59XG5cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cbiIsIiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtbGluay1jb2xvcjtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxJSk7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3I7XG5cbiRidXR0b24tdGV4dC1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yO1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3I7XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlY3Rpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIGxheW91dCBzZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VjdGlvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zZWN0aW9uLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW1lZGlhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1vdmVybGFwYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBNYWtlIGl0IHdvcmsgd2l0aCBgMTAwdmhgIGFuZCBoZWlnaHQgaW4gZ2VuZXJhbFxuICovXG5cbi51ay1zZWN0aW9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24pKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXNlY3Rpb246OmJlZm9yZSxcbi51ay1zZWN0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXNlY3Rpb246OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zZWN0aW9uID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogWFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24teHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbi1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLypcbiAqIFhMYXJnZVxuICovXG5cbi51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbi14bGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstc2VjdGlvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIE11dGVkXG4gKi9cblxuLnVrLXNlY3Rpb24tbXV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW11dGVkKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1zZWN0aW9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1wcmltYXJ5KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstc2VjdGlvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIEluZGljYXRlIHRoYXQgYW4gaW1hZ2Ugb3IgdmlkZW8gaXMgdXNlZCBhcyBiYWNrZ3JvdW5kXG4gKi9cblxuLnVrLXNlY3Rpb24tbWVkaWEge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW1lZGlhKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1tZWRpYSgpO31cbn1cblxuLyogT3ZlcmxhcCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNlcnZlZCBtb2RpZmllciB0byBtYWtlIGEgc2VjdGlvbiBvdmVybGFwIGFub3RoZXIgc2VjdGlvbiB3aXRoIGFuIGJvcmRlciBpbWFnZVxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuLnVrLXNlY3Rpb24tb3ZlcmxhcCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tb3ZlcmxhcCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tb3ZlcmxhcCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW1lZGlhKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbnRhaW5lci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEJveCBzaXppbmcgaGFzIHRvIGJlIGBjb250ZW50LWJveGAgc28gdGhlIG1heC13aWR0aCBpcyBhbHdheXMgdGhlIHNhbWUgYW5kXG4gKiAgICB1bmFmZmVjdGVkIGJ5IHRoZSBwYWRkaW5nIG9uIGRpZmZlcmVudCBicmVha3BvaW50cy4gSXQncyBpbXBvcnRhbnQgZm9yIHRoZSBzaXplIG1vZGlmaWVycy5cbiAqL1xuXG4udWstY29udGFpbmVyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNvbnRhaW5lcjo6YmVmb3JlLFxuLnVrLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jb250YWluZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb250YWluZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbnRhaW5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stY29udGFpbmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgR3JpZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHJlc3BvbnNpdmUsIGZsdWlkIGFuZCBuZXN0YWJsZSBncmlkc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWdyaWRgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZ3JpZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtY29sbGFwc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hdGNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWNvbGxhcHNlYFxuLy9cbi8vIFN1Yi1tb2RpZmllcjogICAgYHVrLWdyaWQtaXRlbS1tYXRjaGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0c1xuICovXG5cbi51ay1ncmlkIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cblxuLnVrLWdyaWQgPiAqIHsgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAgIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0geyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBDb2xsYXBzZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1ncmlkLWNvbGxhcHNlID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbC1sKTtcbiAgICAgICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMS4gV3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGgsIGF0IGxlYXN0IDEwMCUuIE9ubHkgaWYgbm8gY2xhc3MgZnJvbSB0aGUgV2lkdGggY29tcG9uZW50IGlzIHNldC5cbiAqIDMuIEV4cGFuZCB3aWR0aCBldmVuIGlmIGxhcmdlciB0aGFuIDEwMCUsIGUuZy4gYmVjYXVzZSBvZiBuZWdhdGl2ZSBtYXJnaW4gKE5lZWRlZCBmb3IgbmVzdGVkIGdyaWRzKVxuICovXG5cbi51ay1ncmlkLW1hdGNoID4gKixcbi51ay1ncmlkLWl0ZW0tbWF0Y2gge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVrLWdyaWQtbWF0Y2ggPiAqID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgLW1zLWZsZXg6IGF1dG87XG4gICAgLXdlYmtpdC1mbGV4OiBhdXRvO1xuICAgIGZsZXg6IGF1dG87XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1taXNjKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuIiwiLy8gTmFtZTogICAgICAgICAgICBUaWxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGlsZWQgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10aWxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRpbGUteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNlY29uZGFyeWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRpbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlKSkge0BpbmNsdWRlIGhvb2stdGlsZSgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstdGlsZTo6YmVmb3JlLFxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstdGlsZTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstdGlsZS14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay10aWxlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay10aWxlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stdGlsZS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstdGlsZS1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXRpbGUtbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXRpbGUtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtc2Vjb25kYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGlsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aWxlKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDYXJkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYm94ZWQgY29udGVudCBjb250YWluZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2FyZGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jYXJkLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1tZWRpYS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtYmFkZ2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY2FyZC1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbGFyZ2VgXG4vL1xuLy8gVXNlczogICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNhcmQtYmFkZ2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG5cbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG5cbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQpKSB7QGluY2x1ZGUgaG9vay1jYXJkKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJvZHkoKTt9XG59XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZm9vdGVyKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jYXJkLWJvZHk6OmJlZm9yZSxcbi51ay1jYXJkLWJvZHk6OmFmdGVyLFxuLnVrLWNhcmQtaGVhZGVyOjpiZWZvcmUsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjpiZWZvcmUsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYSgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtdG9wLFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1sZWZ0LFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1yaWdodCAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXRvcCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtdG9wKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtYm90dG9tKCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWxlZnQoKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXRpdGxlKCk7fVxufVxuXG5cbi8qIEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRjYXJkLWJhZGdlLXRvcDtcbiAgICByaWdodDogJGNhcmQtYmFkZ2UtcmlnaHQ7XG4gICAgei1pbmRleDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1jYXJkLWJhZGdlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWhvdmVyOm5vdCgudWstY2FyZC1kZWZhdWx0KTpub3QoLnVrLWNhcmQtcHJpbWFyeSk6bm90KC51ay1jYXJkLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdCgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1jYXJkLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7IH1cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1taXNjKSkge0BpbmNsdWRlIGhvb2stY2FyZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1jbG9zZSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1jbG9zZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWNsb3NlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTcGlubmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBsb2FkaW5nIHNwaW5uZXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zcGlubmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7IC8vIE1pbnVzIHN0cm9rZSB3aWR0aCB0byBwcmV2ZW50IG92ZXJmbG93IGNsaXBwaW5nXG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjRzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc3Bpbm5lciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXIpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyKCk7fVxufVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zcGlubmVyID4gKiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxufVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cblxuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBzdHJva2Utd2lkdGg6ICRzcGlubmVyLXN0cm9rZS13aWR0aDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlOyB9XG4gICAgNTAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2UvNDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb3RvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGljb24gdG8gc2Nyb2xsIGJhY2sgdG8gdG9wXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG90b3BgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvdG9wLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvdG9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXRvdG9wIHtcbiAgICBwYWRkaW5nOiAkdG90b3AtcGFkZGluZztcbiAgICBjb2xvcjogJHRvdG9wLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcCkpIHtAaW5jbHVkZSBob29rLXRvdG9wKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdG90b3A6aG92ZXIsXG4udWstdG90b3A6Zm9jdXMge1xuICAgIGNvbG9yOiAkdG90b3AtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgY29sb3I6ICR0b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRvdG9wLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG90b3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmtlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbWFya2VyIGljb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJrZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmtlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJG1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1tYXJrZXIge1xuICAgIHBhZGRpbmc6ICRtYXJrZXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbWFya2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtYXJrZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW1hcmtlcjpob3Zlcixcbi51ay1tYXJrZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlci1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmtlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGVydFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFsZXJ0IG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxlcnRgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstYWxlcnQtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYWxlcnQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhbGVydC1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcblxuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZy1yaWdodCAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydCkpIHtAaW5jbHVkZSBob29rLWFsZXJ0KCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstYWxlcnQgeyBtYXJnaW4tdG9wOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRhbGVydC1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyICsgRm9jdXNcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6aG92ZXIsXG4udWstYWxlcnQtY2xvc2U6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWFsZXJ0LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYWxlcnQtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1hbGVydC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxlcnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhZGdlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIGJhZGdlc1xuXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWRnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFkZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRiYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBDZW50ZXIgY2hpbGQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWJhZGdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGJhZGdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhZGdlLXNpemU7XG4gICAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmctdmVydGljYWwgJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstYmFkZ2U6aG92ZXIsXG4udWstYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhZGdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGFiZWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGluZGljYXRlIGltcG9ydGFudCBub3Rlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxhYmVsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxhYmVsLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZy12ZXJ0aWNhbCAkbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWxhYmVsKCk7fVxufVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbGFiZWwtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWxhYmVsLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtbWlzYykpIHtAaW5jbHVkZSBob29rLWxhYmVsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgT3ZlcmxheVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvbnRlbnQgYXJlYXMgb3ZlcmxheWluZyBhbiBpbWFnZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW92ZXJsYXlgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb3ZlcmxheS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLW92ZXJsYXktZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJsYXktcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcblxuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAkb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsICRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1pY29uKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1pY29uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW92ZXJsYXktcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1taXNjKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBcnRpY2xlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYXJ0aWNsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hcnRpY2xlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFydGljbGUtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hcnRpY2xlLW1ldGFgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFydGljbGUtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1hcnRpY2xlOjpiZWZvcmUsXG4udWstYXJ0aWNsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1hcnRpY2xlOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAkYXJ0aWNsZS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1ldGEoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29tbWVudFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5lc3RlZCBjb21tZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbW1lbnRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29tbWVudC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1tZXRhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1hdmF0YXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWxpc3RgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29tbWVudC1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50KCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYm9keSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYm9keSgpO31cbn1cblxuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWhlYWRlcigpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNvbW1lbnQtYm9keTo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jb21tZW50LWJvZHk6OmFmdGVyLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1tZXRhIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY29tbWVudC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1ldGEoKTt9XG59XG5cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYXZhdGFyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1hdmF0YXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWF2YXRhcigpO31cbn1cblxuXG4vKiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICAgIG1hcmdpbjogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wIDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1YikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWIoKTt9XG59XG5cbi8qIFRhYmxldCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgeyBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW07IH1cblxufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtcHJpbWFyeSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VhcmNoXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGhlIHNlYXJjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlYXJjaGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zZWFyY2gtaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtdG9nZ2xlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLXNlYXJjaC1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXNlYXJjaC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLW5hdmJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gUmVzZXQgYGZvcm1gXG4gKi9cblxuLnVrLXNlYXJjaCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiBJbnB1dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiA1LiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICogNy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA4LiBUYWtlIHRoZSBmdWxsIGNvbnRhaW5lciB3aWR0aFxuICogOS4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWlucHV0IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDcgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDggKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA5ICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkc2VhcmNoLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtaW5wdXQoKTt9XG59XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmBcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA3LiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuXG4gKi9cblxuLnVrLXNlYXJjaC1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA2LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogNyAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guIFJlcXVpcmVkIGZvciBgYnV0dG9uYC5cbiAqL1xuXG4udWstc2VhcmNoLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWljb246Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBhYm92ZSBpbnB1dFxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBOYXZiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLW5hdmJhciB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbmF2YmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1uYXZiYXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG5cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWxhcmdlIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2Utd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtbGFyZ2UtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24geyB3aWR0aDogJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBjb2xvcjogJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LXBhcmVudC1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldFxuICogMS4gUHJlcGFyZSBsaXN0c1xuICogMi4gUHJlcGFyZSBsaW5rc1xuICogMy4gUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4vKiAxICovXG4udWstbmF2LFxuLnVrLW5hdiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW5hdiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogMyAqL1xuLnVrLW5hdiBsaSA+IGE6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cblxuLnVrLW5hdiA+IGxpID4gYSB7IHBhZGRpbmc6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBTdWJsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZXZlbCAyXG4gKiBgdWxgIG5lZWRlZCBmb3IgaGlnaGVyIHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIHBhZGRpbmdcbiAqL1xuXG51bC51ay1uYXYtc3ViIHtcbiAgICBwYWRkaW5nOiAkbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbCAwICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsICRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zdWIpKSB7QGluY2x1ZGUgaG9vay1uYXYtc3ViKCk7fVxufVxuXG4vKlxuICogTGV2ZWwgMyBhbmQgZGVlcGVyXG4gKi9cblxuLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtc3ViIGEgeyBwYWRkaW5nOiAkbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsIDA7IH1cblxuXG4vKiBQYXJlbnQgaWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6ICRuYXYtcGFyZW50LWljb24td2lkdGg7XG4gICAgaGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLWhlaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLW5hdi1wYXJlbnQtaWNvbigpO31cbn1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRuYXYtaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1oZWFkZXIoKTt9XG59XG5cbi51ay1uYXYtaGVhZGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXRvcDogJG5hdi1oZWFkZXItbWFyZ2luLXRvcDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWRpdmlkZXIge1xuICAgIG1hcmdpbjogJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbCAkbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogUHJpbWFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAkbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIFN1Ymxpc3RzICovXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1Yixcbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViIHVsIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyICAqL1xuLnVrLW5hdi1jZW50ZXIudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2YmFyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBuYXZpZ2F0aW9uIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZiYXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2YmFyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWl0ZW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN1YnRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3BiYXJgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duYCArIE1vZGlmaWVyc1xuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1ncmlkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdmJhci10cmFuc3BhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdGlja3lgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tc3RhY2tgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBjZW50ZXIgbmF2YmFyIGdyb3VwXG4gKi9cblxuLnVrLW5hdmJhciB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItY29udGFpbmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmJlZm9yZSxcbi51ay1uYXZiYXItY29udGFpbmVyID4gOjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4vLyAyLiBbY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyJ10sXG4udWstbmF2YmFyLWNlbnRlcixcbi51ay1uYXZiYXItY2VudGVyLWxlZnQgPiAqLFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgPiAqLCB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDMuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIHRoZSBjZW50ZXJlZCBzZWN0aW9uIGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgbmF2YmFyXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuXG4udWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMiAqL1xuICAgIHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwO1xufVxuXG4vKiAzICovXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItdG9nZ2xlIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHsgcmlnaHQ6IDEwMCU7IH1cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHsgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLWl0ZW0sXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItdG9nZ2xlIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5cbi8qIE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0c1xuICovXG5cbi51ay1uYXZiYXItbmF2IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKlxuICogSXRlbXNcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMi4gRGltZW5zaW9uc1xuICogMy4gU3R5bGVcbiAqIDQuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSwgICAgLy8gTmF2IGl0ZW1cbi51ay1uYXZiYXItaXRlbSwgICAgICAgICAgICAvLyBDb250ZW50IGl0ZW1cbi51ay1uYXZiYXItdG9nZ2xlIHsgICAgICAgICAvLyBDbGlja2FibGUgaXRlbVxuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAkbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgZm9udC1zaXplOiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTtcbiAgICAvKiA0ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTmF2IGl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICogQXBwbHkgaG92ZXIgc3R5bGUgYWxzbyB0byBmb2N1cyBzdGF0ZSBhbmQgaWYgZHJvcGRvd24gaXMgb3BlbmVkXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1pdGVtIHtcbiAgICBjb2xvcjogJG5hdmJhci1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1pdGVtKCk7fVxufVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlKCk7fVxufVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEljb25cbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG46aG92ZXIgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uLFxuOmZvY3VzID4gLnVrLW5hdmJhci10b2dnbGUtaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdWJ0aXRsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdWJ0aXRsZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCk7fVxufVxuXG4udWstbmF2YmFyLXN0aWNreSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdGlja3kpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItc3RpY2t5KCk7fVxufVxuXG5cbi8qIERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1kcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjsgfVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG5cbi8qIEd1dHRlciBIb3Jpem9udGFsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogR3V0dGVyIFZlcnRpY2FsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIFN0YWNrICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBXaWR0aCBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMjpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAyKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDMpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTQ6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogNCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNTpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA1KTsgfVxuXG4vKlxuICogRHJvcGJhciBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKTt9XG59XG5cblxuLyogRHJvcGRvd24gTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyKCk7fVxufVxuXG4vKlxuICogU2xpZGUgbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3BiYXItei1pbmRleDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbiIsIiRuYXZiYXItYmFja2dyb3VuZDogI2ZmZjtcbiIsIkBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKSB7XG4gICAgJiA+IC51ay1jb250YWluZXJ7XG4gICAgICAgIC51ay1uYXZiYXItbGVmdHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIH1cbiAgICAgICAgLnVrLW5hdmJhci1yaWdodHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdHNcbiAqL1xuXG4udWstc3VibmF2IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAtICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1sZWZ0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJyZWFkY3J1bWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGJyZWFkY3J1bWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJyZWFkY3J1bWJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdHNcbiAqL1xuXG4udWstYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iKCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqIHtcbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RzXG4gKi9cblxuLnVrLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1wYWdpbmF0aW9uID4gKiA+IDpob3Zlcixcbi51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUYWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHRhYmJlZCBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFiYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRhYi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1yaWdodGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0c1xuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdCkpIHtAaW5jbHVkZSBob29rLXRhYi1sZWZ0KCk7fVxufVxuXG4udWstdGFiLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0KCk7fVxufVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdC1pdGVtKCk7fVxufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZW5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByZXZpb3VzL25leHQgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlbmF2LWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zbGlkZW5hdi1wcmV2aW91c2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LW5leHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlbmF2LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERvdG5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRvdG5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1kb3RuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRG90bmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0c1xuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2KSkge0BpbmNsdWRlIGhvb2stZG90bmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB3aWR0aDogJGRvdG5hdi1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJGRvdG5hdi1pdGVtLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAvKiAxICovXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstZG90bmF2ID4gKiA+IDpob3Zlcixcbi51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1kb3RuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1kb3RuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRvdG5hdigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBBY2NvcmRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhY2NvcmRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWNjb3JkaW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFjY29yZGlvbi10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjY29yZGlvbi1jb250ZW50YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZSgpO31cbn1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWNvbnRlbnQpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tY29udGVudCgpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OmJlZm9yZSxcbi51ay1hY2NvcmRpb24tY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbiAudWstYWNjb3JkaW9uLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBwb3NpdGlvbiBhbnkgZWxlbWVudCBuZXh0IHRvIGFueSBvdGhlciBlbGVtZW50LlxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3BgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcC10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Atc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICovXG5cbi51ay1kcm9wIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkcm9wLXdpZHRoO1xufVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3AtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcC1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wLXN0YWNrIC51ay1kcm9wLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3AtbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRyb3Bkb3duIG1lbnVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGRvd25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstZHJvcGRvd24tbmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3Bkb3duLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ncmlkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tbmF2IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wZG93bi10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLXN0YWNrIC51ay1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jYXB0aW9uYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1vdXRzaWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2UtZnVsbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1tb2RhbC1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mdWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtbGlnaHRib3hgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbW9kYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuXG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4tdmVydGljYWwteHM6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJG1vZGFsLWRpYWxvZy1tYXJnaW4tdmVydGljYWwteHMgIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWNhcHRpb24tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZy1sZWZ0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1vZGFsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstbW9kYWwudWstb3BlbiB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1tb2RhbC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgY2FwdGlvbiwgc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi12ZXJ0aWNhbCBhdXRvO1xuICAgIHdpZHRoOiAkbW9kYWwtZGlhbG9nLXdpZHRoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kO1xuICAgIC8qIDQgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXIsIHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1kaWFsb2cpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1kaWFsb2coKTt9XG59XG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXZlcnRpY2FsLXhzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi12ZXJ0aWNhbC14cztcbiAgICB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG5cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7IHdpZHRoOiAkbW9kYWwtY29udGFpbmVyLXdpZHRoOyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG5cbi8qIDEgKi9cbi51ay1tb2RhbC1mdWxsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZnVsbCgpO31cbn1cblxuXG4vKiBMaWdodGJveCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1saWdodGJveCB7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC45KTsgfVxuXG4udWstbW9kYWwtbGlnaHRib3ggLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luLWxlZnQ6ICRtb2RhbC1kaWFsb2ctbWFyZ2luLWhvcml6b250YWw7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbW9kYWwtZGlhbG9nLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1ib2R5KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtYm9keSgpO31cbn1cblxuLnVrLW1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtaGVhZGVyKCk7fVxufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1tb2RhbC1ib2R5OjpiZWZvcmUsXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjpiZWZvcmUsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1tb2RhbC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC10aXRsZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLXRpdGxlKCk7fVxufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQ6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLypcbiAqIE91dHNpZGVcbiAqL1xuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJG1vZGFsLWNhcHRpb24tbWFyZ2luLXRvcDtcbiAgICBjb2xvcjogJG1vZGFsLWNhcHRpb24tY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2FwdGlvbigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbW9kYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdGlja3lcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG1ha2UgZWxlbWVudHMgc3RpY2t5IGluIHRoZSB2aWV3cG9ydFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN0aWNreWBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zdGlja3ktZml4ZWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdGlja3ktei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc29sdmUgZnJhbWUgcmF0ZSBpc3N1ZXMgb24gZGV2aWNlcyB3aXRoIGxvd2VyIGZyYW1lIHJhdGVzIGJ5IGZvcmNpbmcgaGFyZHdhcmUgYWNjZWxlcmF0aW9uXG4gKi9cblxuLnVrLXN0aWNreS1maXhlZCB7XG4gICAgei1pbmRleDogJHN0aWNreS16LWluZGV4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIEZhc3RlciBhbmltYXRpb25zXG4gKi9cblxuLnVrLXN0aWNreVtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb247XG59XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgT2ZmLWNhbnZhc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIG9mZi1jYW52YXMgc2lkZWJhclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW9mZmNhbnZhc2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1vZmZjYW52YXMtYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250ZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXBhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb2ZmY2FudmFzLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW9mZmNhbnZhcy1mbGlwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWJhci1hbmltYXRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcmV2ZWFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLW92ZXJsYXlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb2ZmY2FudmFzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBCYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKiA0LiBUcmFuc2Zvcm1cbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwgJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWJhcikpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1iYXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTtcbiAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tICRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLyogRmxpcCBtb2RpZmllciAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuLypcbiAqIFJldmVhbCBBbmltYXRpb25cbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2xpcCB0aGUgYmFyXG4gKiAzLiBBbmltYXRpb25cbiAqIDQuIFJlc2V0IHRyYW5zZm9ybVxuICovXG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW9mZmNhbnZhcy1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbiAgICB0b3A6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtY2xvc2UoKTt9XG59XG5cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5IHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIC8qIDIgKi9cbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBNYXNrIHRoZSB3aG9sZSBwYWdlXG4gKiAyLiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgLyogMSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1vdmVybGF5KCk7fVxufVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsYmFyIHdoZW4gdGhlIGNvbnRlbnQgaXMgc2xpZGUtb3V0XG4gKiBIYXMgdG8gYmUgb24gdGhlIGBodG1sYCBlbGVtZW50IHRvbyB0byBtYWtlIGl0IHdvcmsgb24gdGhlIGBib2R5YFxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qXG4gKiBQcmV2ZW50IGFsbCBzY3JvbGxiYXJzIGlmIG92ZXJsYXkgaXMgdXNlZFxuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyLW92ZXJsYXkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogTm90ZTogSlMgc2V0cyBhIGZpeGVkIHdpZHRoIGFuZCBoZWlnaHQgc28gdGhlIHBhZ2UgY2FuIHNsaWRlLW91dCB3aXRob3V0IHNocmlua2luZ1xuICogMS4gU21vb3RoIHNjcm9sbGluZ1xuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIC51ay1vZmZjYW52YXMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8qIERpc2FibGUgc2Nyb2xsaW5nIGlmIG92ZXJsYXkgbW9kZSAqL1xuLnVrLW9mZmNhbnZhcy1vdmVybGF5IC51ay1vZmZjYW52YXMtY29udGVudCB7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4vKlxuICogQWN0aXZhdGUgc2xpZGUtb3V0IGFuaW1hdGlvblxuICovXG5cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICA6bm90KC51ay1vZmZjYW52YXMtZmxpcCkgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwID4gLnVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1taXNjKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTd2l0Y2hlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbmF2aWdhdGUgdGhyb3VnaCBkaWZmZXJlbnQgY29udGVudCBwYW5lc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN3aXRjaGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3dpdGNoZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdHNcbiAqL1xuXG4udWstc3dpdGNoZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zd2l0Y2hlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3dpdGNoZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25uYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1pY29ubmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvbm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdHNcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdikpIHtAaW5jbHVkZSBob29rLWljb25uYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWljb25uYXYgPiAqID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiA6aG92ZXIsXG4udWstaWNvbm5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstaWNvbm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kaWNvbm5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstaWNvbm5hdi12ZXJ0aWNhbCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWljb25uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdigpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBOb3RpZmljYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ub3RpZmljYXRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbm90aWZpY2F0aW9uLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbi16LWluZGV4O1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24pKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24oKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKCRub3RpZmljYXRpb24td2lkdGggLyAtMik7XG59XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbi8qIE1lc3NhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCk7fVxufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpO31cbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvb2x0aXBcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0b29sdGlwc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvb2x0aXBgXG4vL1xuLy8gTW9kaWZpZXJzICAgICAgICBgdWstdG9vbHRpcC10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b29sdGlwLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG9vbHRpcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFBvc2l0aW9uXG4gKiAzLiBEaW1lbnNpb25zXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay10b29sdGlwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICR0b29sdGlwLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbCAkdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXApKSB7QGluY2x1ZGUgaG9vay10b29sdGlwKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLXRvb2x0aXAtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICR0b29sdGlwLW1hcmdpbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXAtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG9vbHRpcCgpe31cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGxhY2Vob2xkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwbGFjZWhvbGRlciBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBsYWNlaG9sZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsICRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wbGFjZWhvbGRlciB7IG1hcmdpbi10b3A6ICRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wbGFjZWhvbGRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBsYWNlaG9sZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wbGFjZWhvbGRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQcm9ncmVzc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByb2dyZXNzIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wcm9ncmVzc2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gUmVtb3ZlIGJvcmRlcnMgaW4gRmlyZWZveCBhbmQgRWRnZVxuICogNC4gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHByb2dyZXNzIGNvbnRhaW5lciBpbiBGaXJlZm94LCBJRTExIGFuZCBFZGdlXG4gKiA1LiBTdHlsZVxuICovXG5cbi51ay1wcm9ncmVzcyB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgIC8qIDUgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXByb2dyZXNzIHsgbWFyZ2luLXRvcDogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIGFuaW1hdGVkIGNpcmNsZXMgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBjb250YWluZXJcbiAqIDIuIFJlbW92ZSBwcm9ncmVzcyBiYXIgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gRmlyZWZveFxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7IHdpZHRoOiAwOyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBiYXJcbiAqIDEuIFJlbW92ZSByaWdodCBib3JkZXIgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtbWlzYykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU29ydGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzb3J0YWJsZSBncmlkcyBhbmQgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zb3J0YWJsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zb3J0YWJsZS1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtcGxhY2Vob2xkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1oYW5kbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc29ydGFibGUtZW1wdHlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZHJhZ2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU29ydGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZSgpO31cbn1cblxuLypcbiAqIERlYWN0aXZhdGUgYnJvd3NlciB0b3VjaCBhY3Rpb25zIGluIElFMTFcbiAqL1xuXG4udWstc29ydGFibGUgPiAqIHsgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi8qXG4gKiBEZWFjdGl2YXRlIHBvaW50ZXItZXZlbnRzIG9uIFNWR3MgaW4gU2FmYXJpXG4gKi9cblxuLnVrLXNvcnRhYmxlIHN2ZyB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc29ydGFibGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBEcmFnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLWRyYWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6ICRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXggIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZHJhZykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLWRyYWcoKTt9XG59XG5cblxuLyogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6ICRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCk7fVxufVxuXG5cbi8qIEVtcHR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLWVtcHR5IHtcbiAgICBtaW4taGVpZ2h0OiAkc29ydGFibGUtZW1wdHktaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1lbXB0eSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLWVtcHR5KCk7fVxufVxuXG5cbi8qIEhhbmRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhvdmVyICovXG4udWstc29ydGFibGUtaGFuZGxlOmhvdmVyIHsgY3Vyc29yOiBtb3ZlOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdW50ZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvdW50ZG93biB0aW1lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3VudGRvd25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY291bnRkb3duLW51bWJlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1zZXBhcmF0b3JgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tbGFiZWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvdW50ZG93bi1pdGVtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDcwcHggIWRlZmF1bHQ7XG5cbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgLy8gNjRweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7IC8vIDk2cHhcblxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIDE2cHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3VudGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIG51bWJlcnMgYW5kIHNlcGFyYXRvcnMgdmVydGljYWxseVxuICovXG5cbi51ay1jb3VudGRvd24tbnVtYmVyLFxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIC8qIDEgKi9cbiAgICBsaW5lLWhlaWdodDogJGNvdW50ZG93bi1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1pdGVtKCk7fVxufVxuXG5cbi8qIE51bWJlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1udW1iZXIoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBTZXBhcmF0b3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1zZXBhcmF0b3IpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLWxhYmVsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1taXNjKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Iga2V5ZnJhbWUgYW5pbWF0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFuaW1hdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFuaW1hdGlvbi10b2dnbGVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstaG92ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5cbi8qIEFuaW1hdGlvbnMgZm9yIHNjcm9sbHNweVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1mYWRlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhZGUtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhZGUtZHVyYXRpb247XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyO1xufVxuXG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7XG59XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7XG59XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtO1xufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNoYWtlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2hha2U7XG59XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLWZhc3Qge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247XG59XG5cblxuLyogRW5hYmxlIGFuaW1hdGlvbiBvbmx5IG9uIGhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogRmlyZWZveCBhbmQgSUUgbmVlZHMgdGhpcyBiZWNhdXNlIGFuaW1hdGlvbnMgYXJlIG5vdCB0cmlnZ2VyZWQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBkaXNwbGF5IGBub25lYCBhbmQgYGJsb2NrYFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogbm9uZTtcbn1cblxuXG4vKiBLZXlmcmFtZXMgdXNlZCBieSBhbmltYXRpb24gY2xhc3Nlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Age1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b21cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXRvcC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gTWVkaXVtXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBEb3duXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc2hha2Uge1xuICAgIDAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAxMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgICAzMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICAgIDQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICA3MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICA5MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYW5pbWF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbmltYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFdpZHRoXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Igd2lkdGhzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2hpbGQtd2lkdGgtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXdpZHRoLSpgXG4vL1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR3aWR0aC1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC14eGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNoaWxkLXdpZHRoJ10gPiAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS0yID4gKiB7IHdpZHRoOiA1MCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICogeyB3aWR0aDogMjUlOyB9XG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7IHdpZHRoOiAyMCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4udWstY2hpbGQtd2lkdGgtYXV0byA+ICogeyB3aWR0aDogYXV0bzsgfVxuXG4vKlxuICogICAgSW5zdGVhZCBvZiAwLCAxcHggaXMgbmVlZGVkIHRvIG1ha2UgY2VsbCB3cmFwIGludG8gbmV4dCByb3cgaWYgcHJlZGVjZXNzb3IgaXMgMTAwJSB3aWRlXG4gKiAgICBhbmQgdGhlIGdyaWQgZ3V0dGVyIGlzIDAgcGl4ZWxzIHdpZGVcbiAqL1xuXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuLypcbiAqIDEuIE1ha2UgYHdpZHRoOiAxcHhgIHdvcmssIGJlY2F1c2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjIGZsZXggaXRlbXMgd29u4oCZdCBzaHJpbmtcbiAqICAgIGJlbG93IHRoZWlyIG1pbmltdW0gY29udGVudCBzaXplLiBUbyBjaGFuZ2UgdGhpcywgc2V0IHRoZSBtaW4td2lkdGguXG4gKiAgICBPbmx5IG5lZWRlZCBmb3IgRmlyZWZveC4gQWxsIG90aGVyIGJyb3dzZXJzIGlnbm9yZSB0aGlzLlxuICpcbiAqIDIuIGB3aWR0aGAgaXMgaWdub3JlZCB3aGVuIHdyYXBwaW5nIGZsZXggaXRlbXMgaW4gU2FmYXJpXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzExLW1pbi1hbmQtbWF4LXNpemUtZGVjbGFyYXRpb25zLWFyZS1pZ25vcmVkLXdoZW4td3JhcHBpbmctZmxleC1pdGVtc1xuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAwO1xuICAgIC8qIDIgKi9cbiAgICBmbGV4LWJhc2lzOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHMgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbSA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQG0gPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHhsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAeGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gKiB7IHdpZHRoOiAxcHg7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGBtYXgtd2lkdGhgIGlzIG5lZWRlZCBmb3IgdGhlIHBpeGVsLWJhc2VkIGNsYXNzZXNcbiAqL1xuXG5bY2xhc3MqPSd1ay13aWR0aCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogSGFsdmVzICovXG4udWstd2lkdGgtMS0yIHsgd2lkdGg6IDUwJTsgfVxuXG4vKiBUaGlyZHMgKi9cbi51ay13aWR0aC0xLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstd2lkdGgtMi0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4vKiBRdWFydGVycyAqL1xuLnVrLXdpZHRoLTEtNCB7IHdpZHRoOiAyNSU7IH1cbi51ay13aWR0aC0zLTQgeyB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7IHdpZHRoOiAyMCU7IH1cbi51ay13aWR0aC0yLTUgeyB3aWR0aDogNDAlOyB9XG4udWstd2lkdGgtMy01IHsgd2lkdGg6IDYwJTsgfVxuLnVrLXdpZHRoLTQtNSB7IHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuLnVrLXdpZHRoLTUtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuLyogUGl4ZWwgKi9cbi51ay13aWR0aC1zbWFsbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbi51ay13aWR0aC1tZWRpdW0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuLnVrLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLXhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteHhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gICAgd2lkdGg6IDFweDtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleC1iYXNpczogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBzIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBzIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBzIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBzIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHMgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHMgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHMgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHMgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAcyB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBzIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbSB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbSB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbSB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBtIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBtIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBtIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBtIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQG0geyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQG0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQG0geyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHhsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEB4bCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEB4bCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAeGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAeGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHhsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEB4bCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAeGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEB4bCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAeGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAeGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2std2lkdGgtbWlzYykpIHtAaW5jbHVkZSBob29rLXdpZHRoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRleHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGV4dC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWJvbGQgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbG93ZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBBZGQgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzXG4gKiA0LiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgLW1zLWh5cGhlbnM6IGF1dG87XG4gICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgIGh5cGhlbnM6IGF1dG87XG59XG5cbi8qIDQgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb2x1bW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0IGNvbHVtbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb2x1bW4tKmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb2x1bW4tc3BhbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jb2x1bW4tZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29sdW1uLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10ge1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXI7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjtcbiAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIFtjbGFzcyo9J3VrLWNvbHVtbi0nXSB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXItbDtcbiAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sO1xuICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sO1xuICAgIH1cblxufVxuXG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSBpbWcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRG91YmxlIHRoZSBjb2x1bW4gZ2FwXG4gKi9cblxuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAtd2Via2l0LWNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAtbW96LWNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICBjb2x1bW4tcnVsZTogJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGggc29saWQgJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyICogMik7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbiAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyLWwgKiAyKTtcbiAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgICAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tMS0yIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG59XG5cbi51ay1jb2x1bW4tMS0zIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tY291bnQ6IDM7XG59XG5cbi51ay1jb2x1bW4tMS00IHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG59XG5cbi51ay1jb2x1bW4tMS01IHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICBjb2x1bW4tY291bnQ6IDU7XG59XG5cbi51ay1jb2x1bW4tMS02IHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNjtcbiAgICBjb2x1bW4tY291bnQ6IDY7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAcyB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS0zXFxAcyB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS00XFxAcyB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS01XFxAcyB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICAgICAgY29sdW1uLWNvdW50OiA1O1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS02XFxAcyB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNjtcbiAgICAgICAgY29sdW1uLWNvdW50OiA2O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbSB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS0zXFxAbSB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS00XFxAbSB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS01XFxAbSB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICAgICAgY29sdW1uLWNvdW50OiA1O1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS02XFxAbSB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNjtcbiAgICAgICAgY29sdW1uLWNvdW50OiA2O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTNcXEBsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEBsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTVcXEBsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTZcXEBsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHhsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS00XFxAeGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNVxcQHhsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNjtcbiAgICAgICAgY29sdW1uLWNvdW50OiA2O1xuICAgIH1cbn1cblxuXG4vKiBNYWtlIGVsZW1lbnQgc3BhbiBhY3Jvc3MgYWxsIGNvbHVtbnNcbiAqIERvZXMgbm90IHdvcmsgaW4gRmlyZWZveCB5ZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLXNwYW4ge1xuICAgIC13ZWJraXQtY29sdW1uLXNwYW46IGFsbDtcbiAgICAtbW96LWNvbHVtbi1zcGFuOiBhbGw7XG4gICAgY29sdW1uLXNwYW46IGFsbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb2x1bW4tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbHVtbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBsZXQgZW1iZWRkZWQgY29udGVudCBjb3ZlciB0aGVpciBjb250YWluZXIgaW4gYSBjZW50ZXJlZCBwb3NpdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdmVyYFxuLy9cbi8vIFN1Yi1vYmplY3Q6ICAgICAgYHVrLWNvdmVyLWNvbnRhaW5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLnVrLWNvdmVyIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cblxuLnVrLWNvdmVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3Zlci1taXNjKSkge0BpbmNsdWRlIGhvb2stY292ZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY292ZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhY2tncm91bmRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhY2tncm91bmQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWRlZmF1bHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtcHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtc2Vjb25kYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7IH1cblxuXG4vKiBTaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtY292ZXIsXG4udWstYmFja2dyb3VuZC1jb250YWluIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG5cbi8qIFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtdG9wLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgfVxuXG5cbi8qIFJlcGVhdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLW5vcmVwZWF0IHsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG5cbi8qIEF0dGFjaG1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IH1cblxuLypcbiAqIEV4Y2x1ZGUgdG91Y2ggZGV2aWNlcyBiZWNhdXNlIGBmaXhlZGAgZG9lc24ndCB3b3JrIG9uIGlPUyBhbmQgQW5kcm9pZFxuICovXG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWJhY2tncm91bmQtZml4ZWQgeyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgfVxufVxuXG5cbi8qIEltYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHMgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbSB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQGwgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHhsIHtiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtbXVsdGlwbHkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zY3JlZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtb3ZlcmxheSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGFya2VuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWxpZ2h0ZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWRvZGdlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItYnVybiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaGFyZC1saWdodCB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc29mdC1saWdodCB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGlmZmVyZW5jZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtZXhjbHVzaW9uIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWh1ZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zYXR1cmF0aW9uIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvciB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWx1bWlub3NpdHkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWNrZ3JvdW5kLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYWNrZ3JvdW5kLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxpZ25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGFsaWduIGVtYmVkZGVkIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGlnbi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tY2VudGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbltjbGFzcyo9J3VrLWFsaWduJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7XG59XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHsgbWFyZ2luLXRvcDogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKi9cblxuLnVrLWFsaWduLWNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogTGVmdC9SaWdodFxuICovXG5cbi51ay1hbGlnbi1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4udWstYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tbGVmdCxcbiAgICAudWstYWxpZ24tbGVmdFxcQHMsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7IG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1hbGlnbi1yaWdodCxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBzLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0sXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7IG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGlnbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxpZ24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxpZ24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFV0aWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGNvbGxlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYW5lbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2xlYXJmaXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mbG9hdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmZsb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc2l6ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzcGxheS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5saW5lLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc3BvbnNpdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlLXdpZHRoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm9yZGVyLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3BjYXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sb2dvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3ZnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYmxlbmQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLW9yaWdpbi0qYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDE3MHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWlnaHQtc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbWVkaXVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcblxuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcblxuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuJyAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuJGxvZ28tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJhZ292ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1wYW5lbDo6YmVmb3JlLFxuLnVrLXBhbmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXBhbmVsOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGFuZWwgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKlxuICogU2Nyb2xsYWJsZVxuICovXG5cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgICBoZWlnaHQ6ICRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcmVzaXplOiBib3RoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYW5lbC1zY3JvbGxhYmxlKSkge0BpbmNsdWRlIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpO31cbn1cblxuXG4vKiBDbGVhcmZpeFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4vKiAyICovXG4udWstY2xlYXJmaXg6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG5cbi51ay1mbG9hdC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi51ay1mbG9hdC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7IG1heC13aWR0aDogMTAwJTsgfVxuXG5cbi8qIE92ZXJmb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKi9cblxuLnVrLW92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnVrLW92ZXJmbG93LWF1dG8gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcmVzaXplIHsgcmVzaXplOiBib3RoOyB9XG4udWstcmVzaXplLXZlcnRpY2FsIHsgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzcGxheS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZSB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqIDUuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi51ay1pbmxpbmUtY2xpcCB7XG4gICAgLyogNSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogSGVpZ2h0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstaGVpZ2h0J10geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuXG4udWstaGVpZ2h0LTEtMSB7IGhlaWdodDogMTAwJTsgfVxuXG4vKlxuICogVXNlZnVsIHRvIGNyZWF0ZSBpbWFnZSB0ZWFzZXJzXG4gKi9cblxuLnVrLWhlaWdodC12aWV3cG9ydCB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qXG4gKiBQaXhlbFxuICogVXNlZnVsIGZvciBgb3ZlcmZsb3c6IGF1dG9gXG4gKi9cblxuLnVrLWhlaWdodC1zbWFsbCB7IGhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWVkaXVtIHsgaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbGFyZ2UgeyBoZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cbi51ay1oZWlnaHQtbWF4LXNtYWxsIHsgbWF4LWhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LW1lZGl1bSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbGFyZ2UgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgb2JqZWN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG5cbi51ay1wcmVzZXJ2ZS13aWR0aCxcbi51ay1wcmVzZXJ2ZS13aWR0aCBhdWRpbyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBjYW52YXMsXG4udWstcHJlc2VydmUtd2lkdGggaW1nLFxuLnVrLXByZXNlcnZlLXdpZHRoIHN2Zyxcbi51ay1wcmVzZXJ2ZS13aWR0aCB2aWRlbyB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIENvcnJlY3RzIGBtYXgtd2lkdGhgIGFuZCBgbWF4LWhlaWdodGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkXG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogYXV0bztcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5cbi8qIEJvcmRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3JkZXItY2lyY2xlIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4udWstYm9yZGVyLXJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czsgfVxuXG4vKlxuICogRml4IGBvdmVyZmxvdzogaGlkZGVuYCB0byBiZSBpZ25vcmVkIHdpdGggYm9yZGVyLXJhZGl1cyBhbmQgQ1NTIHRyYW5zZm9ybXMgaW4gV2Via2l0XG4gKi9cblxuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuXG4vKiBCb3gtc2hhZG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJveC1zaGFkb3ctc21hbGwgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy14bGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLWJveC1zaGFkb3ctaG92ZXInXSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93ICRib3gtc2hhZG93LWR1cmF0aW9uIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJveC1zaGFkb3ctZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG59XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXNtYWxsOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1tZWRpdW06aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXIteGxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJveC1zaGFkb3cgYm90dG9tXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvbi5cbiAqIDIuIFNldCBzdHlsZVxuICogMy4gQmx1ciBkb2Vzbid0IHdvcmsgb24gcHNldWRvIGVsZW1lbnRzIHdpdGggbmVnYXRpdmUgYHotaW5kZXhgIGluIEVkZ2UuXG4gKiAgICBTb2x2ZWQgYnkgdXNpbmcgYGJlZm9yZWAgYW5kIGFkZCBwb3NpdGlvbiBjb250ZXh0IHRvIGNoaWxkIGVsZW1lbnRzLlxuICovXG5cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSBvciAoLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCkpIHtcblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgLyogMSAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogKC0kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8qIDIgKi9cbiAgICAgICAgaGVpZ2h0OiAkYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ7XG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJveC1zaGFkb3ctYm90dG9tKSkge0BpbmNsdWRlIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKTt9XG4gICAgfVxuXG4gICAgLyogMyAqL1xuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxufVxuXG5cbi8qIERyb3AgY2FwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3BjYXAtbWFyZ2luLXJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogJGRyb3BjYXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2stZHJvcGNhcCgpO31cbn1cblxuXG4vKiBMZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGVhZGVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gUGxhY2UgZWxlbWVudCBpbiB0ZXh0IGZsb3dcbiAqIDIuIE5ldmVyIGJyZWFrIGludG8gYSBuZXcgbGluZVxuICogMy4gR2V0IGEgc3RyaW5nIGJhY2sgd2l0aCBhcyBtYW55IHJlcGVhdGluZyBjaGFyYWN0ZXJzIHRvIGZpbGwgdGhlIGNvbnRhaW5lclxuICogNC4gUHJldmVudCB3cmFwcGluZy4gT3ZlcmZsb3dpbmcgY2hhcmFjdGVycyB3aWxsIGJlIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lclxuICovXG5cbi51ay1sZWFkZXItZmlsbDo6YWZ0ZXIge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgLyogMyAqL1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1maWxsKTtcbiAgICAvKiA0ICovXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbGVhZGVyKCk7fVxufVxuXG4vKlxuICogSGlkZSBpZiBtZWRpYSBkb2VzIG5vdCBtYXRjaFxuICovXG5cbi51ay1sZWFkZXItZmlsbC51ay1sZWFkZXItaGlkZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFBhc3MgZmlsbCBjaGFyYWN0ZXIgdG8gSlMgKi9cbi52YXItbGVhZGVyLWZpbGw6YmVmb3JlIHsgY29udGVudDogJGxlYWRlci1maWxsLWNvbnRlbnQ7IH1cblxuXG4vKiBMb2dvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbG9nbyB7XG4gICAgZm9udC1zaXplOiAkbG9nby1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRsb2dvLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkbG9nby1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvKSkge0BpbmNsdWRlIGhvb2stbG9nbygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWxvZ286aG92ZXIsXG4udWstbG9nbzpmb2N1cyB7XG4gICAgY29sb3I6ICRsb2dvLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxvZ28taG92ZXIoKTt9XG59XG5cbi51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi8qIDEgKi9cbi51ay1zdmcsXG4vKiAyICovXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cblxuLyogVHJhbnNmb3JtIE9yaWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWxlZnQge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1sZWZ0IHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1yaWdodCB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1jZW50ZXIge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLXJpZ2h0IHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay11dGlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay11dGlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1sZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG4iLCJAbWl4aW4gaG9vay1sb2dvKCkge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi51ay1mbGV4LWlubGluZSB7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG5cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQge1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnVrLWZsZXgtY2VudGVyIHtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtcmlnaHQge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnVrLWZsZXgtYmV0d2VlbiB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi51ay1mbGV4LWFyb3VuZCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtY2VudGVyXFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtcmlnaHRcXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHMge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHMge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC51ay1mbGV4LWNlbnRlclxcQG0ge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAudWstZmxleC1hcm91bmRcXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC51ay1mbGV4LWNlbnRlclxcQGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAudWstZmxleC1hcm91bmRcXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAeGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAudWstZmxleC1jZW50ZXJcXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAeGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbn1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtc3RyZXRjaCB7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnVrLWZsZXgtdG9wIHtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnVrLWZsZXgtbWlkZGxlIHtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udWstZmxleC1ib3R0b20ge1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG5cbi8qIERpcmVjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXJvdyB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi51ay1mbGV4LXJvdy1yZXZlcnNlIHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLnVrLWZsZXgtY29sdW1uIHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2Uge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1ub3dyYXAge1xuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4udWstZmxleC13cmFwIHtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbn1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC13cmFwLXN0cmV0Y2gge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaDtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbn1cblxuLnVrLWZsZXgtd3JhcC10b3Age1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi51ay1mbGV4LXdyYXAtbWlkZGxlIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51ay1mbGV4LXdyYXAtYm90dG9tIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udWstZmxleC13cmFwLWJldHdlZW4ge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnVrLWZsZXgtd3JhcC1hcm91bmQge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuXG4udWstZmxleC1maXJzdCB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgIG9yZGVyOiAtMTtcbn1cblxuLnVrLWZsZXgtbGFzdCB7XG4gICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgIG9yZGVyOiA5OTtcbn1cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHMge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtbGFzdFxcQHMge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgICAgICBvcmRlcjogOTk7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgICAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWxhc3RcXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgICAgICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgICAgICAgb3JkZXI6IDk5O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgICAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWxhc3RcXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgICAgICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgICAgICAgb3JkZXI6IDk5O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEB4bCB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICAudWstZmxleC1sYXN0XFxAeGwge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogOTk7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IDk5O1xuICAgICAgICBvcmRlcjogOTk7XG4gICAgfVxuXG59XG5cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cblxuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuXG4udWstZmxleC1ub25lIHtcbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbn1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG5cbi51ay1mbGV4LWF1dG8ge1xuICAgIC1tcy1mbGV4OiBhdXRvO1xuICAgIC13ZWJraXQtZmxleDogYXV0bztcbiAgICBmbGV4OiBhdXRvO1xufVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHtcbiAgICAtbXMtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgZmxleDogMTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mbGV4LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mbGV4LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZsZXgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmdpblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIG1hcmdpbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJnaW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1zbWFsbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLW1lZGl1bS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4teGxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tcmVtb3ZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tYXV0by0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJnaW4tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1yZW1vdmUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtdG9wIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICogeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBBdXRvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHsgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tbGVmdCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJnaW4tbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmdpbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFkZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHBhZGRpbmdcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYWRkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctcmVtb3ZlLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhZGRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1zbWFsbCB7IHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXBhZGRpbmc7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXJlbW92ZSB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7IHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20geyBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFkZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFkZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBwb3NpdGlvbiBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yZWxhdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXotaW5kZXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNvdmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbWVkaXVtYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10geyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEVkZ2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCBpcyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLiAqL1xuLnVrLXBvc2l0aW9uLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyIChOb3Qgd29ya2luZyBpbiBGaXJlZm94KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgZm9yIEZpcmVmb3hcbiAqL1xuXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCVcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCxcbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQge1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHsgbGVmdDogMDsgfVxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7IHRvcDogMDsgfVxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyBib3R0b206IDA7IH1cblxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWFic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHsgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLXotaW5kZXggeyB6LWluZGV4OiAxOyB9XG5cblxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstcG9zaXRpb24tc21hbGwgeyBtYXJnaW46ICRwb3NpdGlvbi1zbWFsbC1tYXJnaW47IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSh1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59KScpLCB1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59KScpKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59KScpLCB1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59KScpKTtcbn1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkodW5xdW90ZSgnY2FsYygtNTAlIC0gI3skcG9zaXRpb24tc21hbGwtbWFyZ2lufSknKSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHVucXVvdGUoJ2NhbGMoLTUwJSAtICN7JHBvc2l0aW9uLXNtYWxsLW1hcmdpbn0pJykpO1xufVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCh1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59KScpKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodW5xdW90ZSgnY2FsYygtNTAlIC0gI3skcG9zaXRpb24tc21hbGwtbWFyZ2lufSknKSk7XG59XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4udWstcG9zaXRpb24tbWVkaXVtIHsgbWFyZ2luOiAkcG9zaXRpb24tbWVkaXVtLW1hcmdpbjsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSh1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufSknKSwgdW5xdW90ZSgnY2FsYygtNTAlIC0gI3skcG9zaXRpb24tbWVkaXVtLW1hcmdpbn0pJykpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHVucXVvdGUoJ2NhbGMoLTUwJSAtICN7JHBvc2l0aW9uLW1lZGl1bS1tYXJnaW59KScpLCB1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufSknKSk7XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyLWxlZnQsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkodW5xdW90ZSgnY2FsYygtNTAlIC0gI3skcG9zaXRpb24tbWVkaXVtLW1hcmdpbn0pJykpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufSknKSk7XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgodW5xdW90ZSgnY2FsYygtNTAlIC0gI3skcG9zaXRpb24tbWVkaXVtLW1hcmdpbn0pJykpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh1bnF1b3RlKCdjYWxjKC01MCUgLSAjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufSknKSk7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcG9zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBvc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRyYW5zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0cmFuc2l0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRyYW5zaXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10cmFuc2l0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tb3BhcXVlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjNzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zY2FsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMC43cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBVc2luZyBtdWx0aXBsZSBzZWxlY3RvcnMgdG8gZXhjbHVkZSBgdWstdHJhbnNpdGlvbi10b2dnbGVgXG4gKiBOb3RlOiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIHdpdGggYHVrLXBvc3Rpb24tY2VudGVyLSpgIGNsYXNzZXMgYmVjYXVzZSB0aGV5IGFsc28gdXNlIGB0cmFuc2Zvcm1gXG4gKiAgICAgICBKdXN0IHB1dCB0aGUgdHJhbnNpdGlvbiBpbiBhbiBleHRyYSBgZGl2YFxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbn1cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1mYWRlIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1mYWRlJ10geyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICogTm90ZTogVXNpbmcgYHNjYWxlM2RgIGZvciBiZXR0ZXIgaW1hZ2UgcmVuZGVyaW5nXG4gKi9cblxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUsMSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHsgb3BhY2l0eTogMDsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Age1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG59XG5cbi8qIEhvdmVyICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLXNsb3cgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdHJhbnNpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stdHJhbnNpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFZpc2liaWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHNob3cgb3IgaGlkZSBjb250ZW50IG9uIGJyZWFrcG9pbnRzLCBob3ZlciBvciB0b3VjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhpZGRlbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdmlzaWJsZS10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4taG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtdG91Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGUtbm90b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRkZW5cbiAqIGBoaWRkZW5gIGF0dHJpYnV0ZSBhbHNvIHNldCBoZXJlIHRvIG1ha2UgaXQgc3Ryb25nZXJcbiAqL1xuXG5baGlkZGVuXSxcbi51ay1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhpZGRlblxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oaWRkZW5cXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cblxuLyogSG92ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIaWRkZW4gKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaGlkZGVuLWhvdmVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIEludmlzaWJsZSAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCgudWstaG92ZXIpIC51ay1pbnZpc2libGUtaG92ZXIgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFRvdWNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cblxuLyogMSAqL1xuLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXZpc2liaWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXZpc2liaWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJbnZlcnNlXG4vLyBEZXNjcmlwdGlvbjogICAgIEludmVyc2UgY29tcG9uZW50IHN0eWxlIGZvciBsaWdodCBvciBkYXJrIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kYXJrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEludmVyc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLypcbiAqIEltcGxlbWVudGVkIGNsYXNzIGRlcGVuZHMgb24gdGhlIGdlbmVyYWwgdGhlbWUgY29sb3JcbiAqIGB1ay1saWdodGAgaXMgZm9yIGxpZ2h0IGNvbG9ycyBvbiBkYXJrIGJhY2tncm91bmRzXG4gKiBgdWstZGFya2AgaXMgb3IgZGFyayBjb2xvcnMgb24gbGlnaHQgYmFja2dyb3VuZHNcbiAqL1xuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGxpZ2h0KSB7IC51ay1saWdodCB7IEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGRhcmspIHsgLnVrLWRhcmsgeyBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCl7XG5cbiAgICAudWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbkBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKXtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlICB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWFydGljbGUtbWV0YSAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe31cbkBtaXhpbiBob29rLWJhZGdlKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpe1xuXG4gICAgLnVrLWJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhZGdlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJhZGdlOmhvdmVyLFxuICAgIC51ay1iYWRnZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFzZS1jb2RlKCl7fVxuQG1peGluIGhvb2stYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2stYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWJhc2UtaDUoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2stYmFzZS1ocigpe31cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZSgpe31cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe31cbkBtaXhpbiBob29rLWJhc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCl7XG5cbiAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2xvcjtcblxuICAgIC8vIEJhc2VcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICBhLFxuICAgIC51ay1saW5rICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rKCk7fVxuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgLnVrLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIENvZGVcbiAgICAvL1xuXG4gICAgOm5vdChwcmUpID4gY29kZSxcbiAgICA6bm90KHByZSkgPiBrYmQsXG4gICAgOm5vdChwcmUpID4gc2FtcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1jb2RlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRW1waGFzaXplXG4gICAgLy9cblxuICAgIGVtIHsgY29sb3I6ICRpbnZlcnNlLWJhc2UtZW0tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gSGVhZGluZ3NcbiAgICAvL1xuXG4gICAgaDEsIC51ay1oMSxcbiAgICBoMiwgLnVrLWgyLFxuICAgIGgzLCAudWstaDMsXG4gICAgaDQsIC51ay1oNCxcbiAgICBoNSwgLnVrLWg1LFxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpO31cbiAgICB9XG5cbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMSgpO31cbiAgICB9XG5cbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMigpO31cbiAgICB9XG5cbiAgICBoMywgLnVrLWgzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMygpO31cbiAgICB9XG5cbiAgICBoNCwgLnVrLWg0IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNCgpO31cbiAgICB9XG5cbiAgICBoNSwgLnVrLWg1IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNSgpO31cbiAgICB9XG5cbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJsb2NrcXVvdGVzXG4gICAgLy9cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpO31cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVzXG4gICAgLy9cblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtYmFzZS1oci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaHIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpe1xuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cblxuICAgIC51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jYXJkKCl7fVxuQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbkBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuQG1peGluIGhvb2stY2FyZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1taXNjKCl7fVxuQG1peGluIGhvb2stY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCl7XG5cbiAgICAudWstY2xvc2Uge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZSgpO31cbiAgICB9XG5cbiAgICAudWstY2xvc2U6aG92ZXIsXG4gICAgLnVrLWNsb3NlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpe1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAgICAgLW1vei1jb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAgICAgY29sdW1uLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb21tZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9XG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKCRyZXBsYWNlLXNyYyk7XG59XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCl7XG5cbiAgICAudWstZGl2aWRlci1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbiAgICAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZG90bmF2KCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKXtcblxuICAgIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtKCl7fVxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7fVxuQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4gICAgLnVrLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAudWstdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXJhZGlvLFxuICAgIC51ay1jaGVja2JveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpbygpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIENoZWNrZWRcbiAgICAudWstcmFkaW86Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy8gTGFiZWxcbiAgICAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCl7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1saW5lID4gOmJlZm9yZSxcbiAgICAudWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKXtcblxuICAgIGEudWstbGluay1tdXRlZCxcbiAgICAudWstbGluay1tdXRlZCBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLW11dGVkOmhvdmVyLFxuICAgIC51ay1saW5rLW11dGVkIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgICAudWstbGluay10ZXh0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKXtcblxuICAgIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxuICAgIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpe1xuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmhvdmVyLFxuICAgIC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgICAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQnV0dG9uXG4gICAgLy9cblxuICAgIC51ay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjpob3ZlcixcbiAgICAudWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKXtcblxuICAgIC51ay10b3RvcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3ApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDpob3ZlcixcbiAgICAudWstdG90b3A6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpe1xuXG4gICAgLnVrLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxhYmVsLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKXtcblxuICAgIC8vXG4gICAgLy8gSW5wdXRcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1pbnB1dCB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtY29sb3I7IH1cblxuICAgIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbiAgICAvL1xuICAgIC8vIEljb25cbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24geyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFN0eWxlIG1vZGlmaWVyXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxuICAgIH1cbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFRvZ2dsZVxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKXtcblxuICAgIC8vXG4gICAgLy8gUGFyZW50IGljb24gbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpe1xuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgICAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKXtcblxuICAgIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQaWxsXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpc2FibGVkXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCl7XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpe1xuXG4gICAgLnVrLXRhYiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAqID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAqID4gYTpob3ZlcixcbiAgICAudWstdGFiID4gKiA+IGE6Zm9jdXN7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zbGlkZW5hdigpe1xuXG4gICAgLnVrLXNsaWRlbmF2IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmhvdmVyLFxuICAgIC51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRleHQoKXtcblxuICAgIC51ay10ZXh0LWxlYWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LWxlYWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tZXRhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCl7XG5cbiAgICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAgIC51ay1kcm9wY2FwIHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZHJvcGNhcCgpO31cbiAgICB9XG5cbiAgICAudWstbGVhZGVyLWZpbGwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvOmhvdmVyLFxuICAgIC51ay1sb2dvOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogaW5saW5lOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UoKXtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZ3JpZCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXZiYXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtcGFnaW5hdGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zbGlkZW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb25uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRleHQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpO1xufVxuQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWxhYmVsKCl7fVxuQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbkBtaXhpbiBob29rLWxpbmstbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7fVxuQG1peGluIGhvb2stbGlzdC1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCgpe31cbkBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuQG1peGluIGhvb2stbWFya2VyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuQG1peGluIGhvb2stbmF2LXN1Yigpe31cbkBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbkBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbkBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbkBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW92ZXJsYXAoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe31cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay10YWItbGVmdCgpe31cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbkBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbkBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYmxlKCl7fVxuQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWJsZSgpe1xuXG4gICAgLnVrLXRhYmxlIHRoIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtY2FwdGlvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbiAgICAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtaG92ZXIgPiB0cjpob3ZlcixcbiAgICAudWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2stdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpe31cbkBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbG9nbygpe31cbkBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbkBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbkBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQcmludFxuLy8gRGVzY3JpcHRpb246ICAgICBPcHRpbWl6ZSBwYWdlIGZvciBwcmludGluZ1xuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlXG4vL1xuLy8gTW9kaWZpY2F0aW9uczogICBSZW1vdmVkIGxpbmsgYGhyZWZgIGFuZCBgdGl0bGVgIHJlbGF0ZWQgcnVsZXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuXG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJpbnQpKSB7QGluY2x1ZGUgaG9vay1wcmludCgpO31cblxufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByaW50KCl7fVxuIiwiLyogSGVscGVycyAqL1xuXG4vLyBJcGhvbmUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSBicm9rZW4gc3R5bGluZyBmaXguXG50ZXh0YXJlYSxcbmlucHV0LnRleHQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmlucHV0LWNoZWNrYm94IHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi8qIFdvcmRQcmVzcyAqL1xuXG4vLyBBY2Nlc2ViaWxpdHlcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLyogTWFueSBzY3JlZW4gcmVhZGVyIGFuZCBicm93c2VyIGNvbWJpbmF0aW9ucyBhbm5vdW5jZSBicm9rZW4gd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuICovXG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtYmFja2dyb3VuZDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRnbG9iYWwtbGluay1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA3cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdG9wOiA3cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwOyAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG5cbi8vIEFsaWdubWVudHNcbi5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBQb3N0IGF1dGhvclxuLmJ5cG9zdGF1dGhvcntcbiAgICAudWstY29tbWVudC1hdmF0YXJ7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIC4yNSk7XG4gICAgfVxufVxuXG4vLyBJbWFnZSBhbmQgZ2FsbGVyeSBjYXB0aW9uc1xuLndwLWNhcHRpb24sXG4uZ2FsbGVyeS1jYXB0aW9ue1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ud3AtY2FwdGlvbi10ZXh0e1xuICAgIGNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW47XG59XG5cbi8vIFN0aWNreSBwb3N0XG4uc3RpY2t5e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gQ3VzdG9tIGxvZ29cbi5jdXN0b20tbG9nby1saW5re1xuICAgIC5jdXN0b20tbG9nb3tcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4vLyBDb21tZW50IGVkaXQgbGlua1xuLmNvbW1lbnQtZWRpdC1saW5rIHtcbiAgICAudWstaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgfVxufVxuXG4vLyBTaWRlYmFyIHVsIGxpIHRhZ3Ncbi5zaWRlYmFyIC53aWRnZXQgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtc21hbGwtZ3V0dGVyIC8gMjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogJGdsb2JhbC1mb250LXNpemUgLyAyO1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIFNpZGViYXIgdGFnIGNsb3VkIHdpZGdldFxuLnNpZGViYXIgLndpZGdldCAudGFnY2xvdWQge1xuXG4gICAgLnRhZy1jbG91ZC1saW5rIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxufVxuXG4vLyBDb250ZW50XG4jY29udGVudCAucG9zdC1jb250ZW50LFxuI2NvbnRlbnQgLnBhZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpOztcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIGE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICB9XG59XG5cbi8qIFRoZW1lIHNwZWNpYWwgY2xhc3Nlcy4gKi9cbi50bS1wb3N0LXRpdGxlIHtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMzMpO1xufVxuXG4udG0tZXhjZXJwdCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAvIDM7XG59XG5cbi50bS10ZXh0LXhzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG4iXX0= */
