@charset "UTF-8";
/* 
 Libraries 
---------------------------*/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
@import url("https://fonts.googleapis.com/css?family=Oswald:700|Montserrat:600,700");
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and 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 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

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

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

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

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

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

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

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

input,
textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

label {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/*! HiDPI v2.0.1 | MIT License | git.io/hidpi */
/* @import './bower_components/themify/themify'; */
/* 
 Helpers 
---------------------------*/
/* @import 'sprite';  // Import sprite if gulp-spriting is used */
/* 
 Helpers 
---------------------------*/
/*

$colors: (
  pelorous: #399dc1,
  bondi-blue: #0084b4,
  spindle: #c0deed,
  catskill-white: #f5f8fa,
  );

*/
/* @font-face {
  font-family: 'Ampersand';
  src: local('Baskerville-Italic'), local('GoudyOldStyleT-Italic'), local('Palatino-Italic'), local('Garamond-Italic');
  unicode-range: U+26;
} */
@font-face {
  font-family: 'cooperelevations-book';
  src: url("cooperelevations-book.woff2") format("woff2"), url("cooperelevations-book.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'cooperelevations-bold';
  src: url("cooperelevations-bold.woff2") format("woff2"), url("cooperelevations-bold.woff") format("woff");
  font-weight: bold;
  font-style: normal; }

/* 1.5 Perfect Fifth */
/* 
 Reset and base files 
---------------------------*/
html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

h1,
h2,
h3,
h4,
h5,
h6,
ul,
li,
p,
blockquote {
  padding: 0;
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  display: block; }

li {
  list-style: none; }

input,
textarea,
button {
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none; }
  input:hover, input:active, input:focus,
  textarea:hover,
  textarea:active,
  textarea:focus,
  button:hover,
  button:active,
  button:focus {
    outline: none; }

embed,
iframe,
img,
object,
video {
  max-width: 100%; }

table {
  width: 100%;
  table-layout: fixed; }

dt,
dd {
  display: inline; }

dd + dt:before {
  white-space: pre;
  content: '\A'; }

dd + dd:before {
  content: ', '; }

figure {
  max-width: 100%;
  margin: auto; }
  figure > img {
    display: block;
    max-width: inherit; }

p + *,
* + blockquote,
* + p {
  margin-top: 1.4rem; }

h2 + p {
  margin-top: 0.7rem; }

h2 + figure {
  margin-top: 1.4rem; }

article ul,
article ol {
  padding-left: 2rem; }

article li + li {
  margin-top: 0.35rem; }

article ul li {
  list-style-type: disc; }

article ol li {
  list-style-type: decimal; }

/* 
 Layouts 
---------------------------*/
/* 
 Objects 
---------------------------*/
html {
  font-size: 100%;
  line-height: 1.4;
  font-family: "cooperelevations-book", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 300;
  text-rendering: optimizeLegibility;
  font-variant-ligatures: common-ligatures;
  /*discretionary-ligatures historical-ligatures;*/ }
  @media all and (min-width: 640px) {
    html {
      font-size: 112.5%; } }
  @media all and (min-width: 1100px) {
    html {
      font-size: 125%; } }
  @media all and (min-width: 1400px) {
    html {
      font-size: 137.5%; } }

h1 {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  color: #1352B7; }

h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
  color: #231F20; }

h1 {
  font-size: 4rem;
  line-height: 1.3; }

h2 {
  font-size: 2rem;
  line-height: 1.3; }

h3 {
  font-size: 1rem;
  line-height: 1.3; }

h4 {
  font-size: 1rem;
  line-height: 1.3; }

h5 {
  font-size: 1rem;
  line-height: 1.3; }

h6 {
  font-size: 1rem;
  line-height: 1.3; }

code {
  font-size: 2rem;
  line-height: 1.3; }

strong {
  font-weight: 600; }

em {
  font-style: italic; }

pre, code {
  white-space: pre;
  tab-size: 2;
  font-size: .8444rem;
  line-height: 1.26rem;
  padding-bottom: 1.4rem; }

/*@import 'objects/buttons';*/
/*
Google Material Design
---------------------------*/
/*@import './node_modules/@material/elevation/mixins';*/
/*@import './node_modules/@material/ripple/mixins';*/
/* 
 Components 
---------------------------*/
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center; }
  .fa-li.fa-lg {
    left: -1.85714em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: ""; }

.fa-music:before {
  content: ""; }

.fa-search:before {
  content: ""; }

.fa-envelope-o:before {
  content: ""; }

.fa-heart:before {
  content: ""; }

.fa-star:before {
  content: ""; }

.fa-star-o:before {
  content: ""; }

.fa-user:before {
  content: ""; }

.fa-film:before {
  content: ""; }

.fa-th-large:before {
  content: ""; }

.fa-th:before {
  content: ""; }

.fa-th-list:before {
  content: ""; }

.fa-check:before {
  content: ""; }

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: ""; }

.fa-search-plus:before {
  content: ""; }

.fa-search-minus:before {
  content: ""; }

.fa-power-off:before {
  content: ""; }

.fa-signal:before {
  content: ""; }

.fa-gear:before,
.fa-cog:before {
  content: ""; }

.fa-trash-o:before {
  content: ""; }

.fa-home:before {
  content: ""; }

.fa-file-o:before {
  content: ""; }

.fa-clock-o:before {
  content: ""; }

.fa-road:before {
  content: ""; }

.fa-download:before {
  content: ""; }

.fa-arrow-circle-o-down:before {
  content: ""; }

.fa-arrow-circle-o-up:before {
  content: ""; }

.fa-inbox:before {
  content: ""; }

.fa-play-circle-o:before {
  content: ""; }

.fa-rotate-right:before,
.fa-repeat:before {
  content: ""; }

.fa-refresh:before {
  content: ""; }

.fa-list-alt:before {
  content: ""; }

.fa-lock:before {
  content: ""; }

.fa-flag:before {
  content: ""; }

.fa-headphones:before {
  content: ""; }

.fa-volume-off:before {
  content: ""; }

.fa-volume-down:before {
  content: ""; }

.fa-volume-up:before {
  content: ""; }

.fa-qrcode:before {
  content: ""; }

.fa-barcode:before {
  content: ""; }

.fa-tag:before {
  content: ""; }

.fa-tags:before {
  content: ""; }

.fa-book:before {
  content: ""; }

.fa-bookmark:before {
  content: ""; }

.fa-print:before {
  content: ""; }

.fa-camera:before {
  content: ""; }

.fa-font:before {
  content: ""; }

.fa-bold:before {
  content: ""; }

.fa-italic:before {
  content: ""; }

.fa-text-height:before {
  content: ""; }

.fa-text-width:before {
  content: ""; }

.fa-align-left:before {
  content: ""; }

.fa-align-center:before {
  content: ""; }

.fa-align-right:before {
  content: ""; }

.fa-align-justify:before {
  content: ""; }

.fa-list:before {
  content: ""; }

.fa-dedent:before,
.fa-outdent:before {
  content: ""; }

.fa-indent:before {
  content: ""; }

.fa-video-camera:before {
  content: ""; }

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: ""; }

.fa-pencil:before {
  content: ""; }

.fa-map-marker:before {
  content: ""; }

.fa-adjust:before {
  content: ""; }

.fa-tint:before {
  content: ""; }

.fa-edit:before,
.fa-pencil-square-o:before {
  content: ""; }

.fa-share-square-o:before {
  content: ""; }

.fa-check-square-o:before {
  content: ""; }

.fa-arrows:before {
  content: ""; }

.fa-step-backward:before {
  content: ""; }

.fa-fast-backward:before {
  content: ""; }

.fa-backward:before {
  content: ""; }

.fa-play:before {
  content: ""; }

.fa-pause:before {
  content: ""; }

.fa-stop:before {
  content: ""; }

.fa-forward:before {
  content: ""; }

.fa-fast-forward:before {
  content: ""; }

.fa-step-forward:before {
  content: ""; }

.fa-eject:before {
  content: ""; }

.fa-chevron-left:before {
  content: ""; }

.fa-chevron-right:before {
  content: ""; }

.fa-plus-circle:before {
  content: ""; }

.fa-minus-circle:before {
  content: ""; }

.fa-times-circle:before {
  content: ""; }

.fa-check-circle:before {
  content: ""; }

.fa-question-circle:before {
  content: ""; }

.fa-info-circle:before {
  content: ""; }

.fa-crosshairs:before {
  content: ""; }

.fa-times-circle-o:before {
  content: ""; }

.fa-check-circle-o:before {
  content: ""; }

.fa-ban:before {
  content: ""; }

.fa-arrow-left:before {
  content: ""; }

.fa-arrow-right:before {
  content: ""; }

.fa-arrow-up:before {
  content: ""; }

.fa-arrow-down:before {
  content: ""; }

.fa-mail-forward:before,
.fa-share:before {
  content: ""; }

.fa-expand:before {
  content: ""; }

.fa-compress:before {
  content: ""; }

.fa-plus:before {
  content: ""; }

.fa-minus:before {
  content: ""; }

.fa-asterisk:before {
  content: ""; }

.fa-exclamation-circle:before {
  content: ""; }

.fa-gift:before {
  content: ""; }

.fa-leaf:before {
  content: ""; }

.fa-fire:before {
  content: ""; }

.fa-eye:before {
  content: ""; }

.fa-eye-slash:before {
  content: ""; }

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: ""; }

.fa-plane:before {
  content: ""; }

.fa-calendar:before {
  content: ""; }

.fa-random:before {
  content: ""; }

.fa-comment:before {
  content: ""; }

.fa-magnet:before {
  content: ""; }

.fa-chevron-up:before {
  content: ""; }

.fa-chevron-down:before {
  content: ""; }

.fa-retweet:before {
  content: ""; }

.fa-shopping-cart:before {
  content: ""; }

.fa-folder:before {
  content: ""; }

.fa-folder-open:before {
  content: ""; }

.fa-arrows-v:before {
  content: ""; }

.fa-arrows-h:before {
  content: ""; }

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: ""; }

.fa-twitter-square:before {
  content: ""; }

.fa-facebook-square:before {
  content: ""; }

.fa-camera-retro:before {
  content: ""; }

.fa-key:before {
  content: ""; }

.fa-gears:before,
.fa-cogs:before {
  content: ""; }

.fa-comments:before {
  content: ""; }

.fa-thumbs-o-up:before {
  content: ""; }

.fa-thumbs-o-down:before {
  content: ""; }

.fa-star-half:before {
  content: ""; }

.fa-heart-o:before {
  content: ""; }

.fa-sign-out:before {
  content: ""; }

.fa-linkedin-square:before {
  content: ""; }

.fa-thumb-tack:before {
  content: ""; }

.fa-external-link:before {
  content: ""; }

.fa-sign-in:before {
  content: ""; }

.fa-trophy:before {
  content: ""; }

.fa-github-square:before {
  content: ""; }

.fa-upload:before {
  content: ""; }

.fa-lemon-o:before {
  content: ""; }

.fa-phone:before {
  content: ""; }

.fa-square-o:before {
  content: ""; }

.fa-bookmark-o:before {
  content: ""; }

.fa-phone-square:before {
  content: ""; }

.fa-twitter:before {
  content: ""; }

.fa-facebook-f:before,
.fa-facebook:before {
  content: ""; }

.fa-github:before {
  content: ""; }

.fa-unlock:before {
  content: ""; }

.fa-credit-card:before {
  content: ""; }

.fa-feed:before,
.fa-rss:before {
  content: ""; }

.fa-hdd-o:before {
  content: ""; }

.fa-bullhorn:before {
  content: ""; }

.fa-bell:before {
  content: ""; }

.fa-certificate:before {
  content: ""; }

.fa-hand-o-right:before {
  content: ""; }

.fa-hand-o-left:before {
  content: ""; }

.fa-hand-o-up:before {
  content: ""; }

.fa-hand-o-down:before {
  content: ""; }

.fa-arrow-circle-left:before {
  content: ""; }

.fa-arrow-circle-right:before {
  content: ""; }

.fa-arrow-circle-up:before {
  content: ""; }

.fa-arrow-circle-down:before {
  content: ""; }

.fa-globe:before {
  content: ""; }

.fa-wrench:before {
  content: ""; }

.fa-tasks:before {
  content: ""; }

.fa-filter:before {
  content: ""; }

.fa-briefcase:before {
  content: ""; }

.fa-arrows-alt:before {
  content: ""; }

.fa-group:before,
.fa-users:before {
  content: ""; }

.fa-chain:before,
.fa-link:before {
  content: ""; }

.fa-cloud:before {
  content: ""; }

.fa-flask:before {
  content: ""; }

.fa-cut:before,
.fa-scissors:before {
  content: ""; }

.fa-copy:before,
.fa-files-o:before {
  content: ""; }

.fa-paperclip:before {
  content: ""; }

.fa-save:before,
.fa-floppy-o:before {
  content: ""; }

.fa-square:before {
  content: ""; }

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: ""; }

.fa-list-ul:before {
  content: ""; }

.fa-list-ol:before {
  content: ""; }

.fa-strikethrough:before {
  content: ""; }

.fa-underline:before {
  content: ""; }

.fa-table:before {
  content: ""; }

.fa-magic:before {
  content: ""; }

.fa-truck:before {
  content: ""; }

.fa-pinterest:before {
  content: ""; }

.fa-pinterest-square:before {
  content: ""; }

.fa-google-plus-square:before {
  content: ""; }

.fa-google-plus:before {
  content: ""; }

.fa-money:before {
  content: ""; }

.fa-caret-down:before {
  content: ""; }

.fa-caret-up:before {
  content: ""; }

.fa-caret-left:before {
  content: ""; }

.fa-caret-right:before {
  content: ""; }

.fa-columns:before {
  content: ""; }

.fa-unsorted:before,
.fa-sort:before {
  content: ""; }

.fa-sort-down:before,
.fa-sort-desc:before {
  content: ""; }

.fa-sort-up:before,
.fa-sort-asc:before {
  content: ""; }

.fa-envelope:before {
  content: ""; }

.fa-linkedin:before {
  content: ""; }

.fa-rotate-left:before,
.fa-undo:before {
  content: ""; }

.fa-legal:before,
.fa-gavel:before {
  content: ""; }

.fa-dashboard:before,
.fa-tachometer:before {
  content: ""; }

.fa-comment-o:before {
  content: ""; }

.fa-comments-o:before {
  content: ""; }

.fa-flash:before,
.fa-bolt:before {
  content: ""; }

.fa-sitemap:before {
  content: ""; }

.fa-umbrella:before {
  content: ""; }

.fa-paste:before,
.fa-clipboard:before {
  content: ""; }

.fa-lightbulb-o:before {
  content: ""; }

.fa-exchange:before {
  content: ""; }

.fa-cloud-download:before {
  content: ""; }

.fa-cloud-upload:before {
  content: ""; }

.fa-user-md:before {
  content: ""; }

.fa-stethoscope:before {
  content: ""; }

.fa-suitcase:before {
  content: ""; }

.fa-bell-o:before {
  content: ""; }

.fa-coffee:before {
  content: ""; }

.fa-cutlery:before {
  content: ""; }

.fa-file-text-o:before {
  content: ""; }

.fa-building-o:before {
  content: ""; }

.fa-hospital-o:before {
  content: ""; }

.fa-ambulance:before {
  content: ""; }

.fa-medkit:before {
  content: ""; }

.fa-fighter-jet:before {
  content: ""; }

.fa-beer:before {
  content: ""; }

.fa-h-square:before {
  content: ""; }

.fa-plus-square:before {
  content: ""; }

.fa-angle-double-left:before {
  content: ""; }

.fa-angle-double-right:before {
  content: ""; }

.fa-angle-double-up:before {
  content: ""; }

.fa-angle-double-down:before {
  content: ""; }

.fa-angle-left:before {
  content: ""; }

.fa-angle-right:before {
  content: ""; }

.fa-angle-up:before {
  content: ""; }

.fa-angle-down:before {
  content: ""; }

.fa-desktop:before {
  content: ""; }

.fa-laptop:before {
  content: ""; }

.fa-tablet:before {
  content: ""; }

.fa-mobile-phone:before,
.fa-mobile:before {
  content: ""; }

.fa-circle-o:before {
  content: ""; }

.fa-quote-left:before {
  content: ""; }

.fa-quote-right:before {
  content: ""; }

.fa-spinner:before {
  content: ""; }

.fa-circle:before {
  content: ""; }

.fa-mail-reply:before,
.fa-reply:before {
  content: ""; }

.fa-github-alt:before {
  content: ""; }

.fa-folder-o:before {
  content: ""; }

.fa-folder-open-o:before {
  content: ""; }

.fa-smile-o:before {
  content: ""; }

.fa-frown-o:before {
  content: ""; }

.fa-meh-o:before {
  content: ""; }

.fa-gamepad:before {
  content: ""; }

.fa-keyboard-o:before {
  content: ""; }

.fa-flag-o:before {
  content: ""; }

.fa-flag-checkered:before {
  content: ""; }

.fa-terminal:before {
  content: ""; }

.fa-code:before {
  content: ""; }

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: ""; }

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: ""; }

.fa-location-arrow:before {
  content: ""; }

.fa-crop:before {
  content: ""; }

.fa-code-fork:before {
  content: ""; }

.fa-unlink:before,
.fa-chain-broken:before {
  content: ""; }

.fa-question:before {
  content: ""; }

.fa-info:before {
  content: ""; }

.fa-exclamation:before {
  content: ""; }

.fa-superscript:before {
  content: ""; }

.fa-subscript:before {
  content: ""; }

.fa-eraser:before {
  content: ""; }

.fa-puzzle-piece:before {
  content: ""; }

.fa-microphone:before {
  content: ""; }

.fa-microphone-slash:before {
  content: ""; }

.fa-shield:before {
  content: ""; }

.fa-calendar-o:before {
  content: ""; }

.fa-fire-extinguisher:before {
  content: ""; }

.fa-rocket:before {
  content: ""; }

.fa-maxcdn:before {
  content: ""; }

.fa-chevron-circle-left:before {
  content: ""; }

.fa-chevron-circle-right:before {
  content: ""; }

.fa-chevron-circle-up:before {
  content: ""; }

.fa-chevron-circle-down:before {
  content: ""; }

.fa-html5:before {
  content: ""; }

.fa-css3:before {
  content: ""; }

.fa-anchor:before {
  content: ""; }

.fa-unlock-alt:before {
  content: ""; }

.fa-bullseye:before {
  content: ""; }

.fa-ellipsis-h:before {
  content: ""; }

.fa-ellipsis-v:before {
  content: ""; }

.fa-rss-square:before {
  content: ""; }

.fa-play-circle:before {
  content: ""; }

.fa-ticket:before {
  content: ""; }

.fa-minus-square:before {
  content: ""; }

.fa-minus-square-o:before {
  content: ""; }

.fa-level-up:before {
  content: ""; }

.fa-level-down:before {
  content: ""; }

.fa-check-square:before {
  content: ""; }

.fa-pencil-square:before {
  content: ""; }

.fa-external-link-square:before {
  content: ""; }

.fa-share-square:before {
  content: ""; }

.fa-compass:before {
  content: ""; }

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: ""; }

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: ""; }

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: ""; }

.fa-euro:before,
.fa-eur:before {
  content: ""; }

.fa-gbp:before {
  content: ""; }

.fa-dollar:before,
.fa-usd:before {
  content: ""; }

.fa-rupee:before,
.fa-inr:before {
  content: ""; }

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: ""; }

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: ""; }

.fa-won:before,
.fa-krw:before {
  content: ""; }

.fa-bitcoin:before,
.fa-btc:before {
  content: ""; }

.fa-file:before {
  content: ""; }

.fa-file-text:before {
  content: ""; }

.fa-sort-alpha-asc:before {
  content: ""; }

.fa-sort-alpha-desc:before {
  content: ""; }

.fa-sort-amount-asc:before {
  content: ""; }

.fa-sort-amount-desc:before {
  content: ""; }

.fa-sort-numeric-asc:before {
  content: ""; }

.fa-sort-numeric-desc:before {
  content: ""; }

.fa-thumbs-up:before {
  content: ""; }

.fa-thumbs-down:before {
  content: ""; }

.fa-youtube-square:before {
  content: ""; }

.fa-youtube:before {
  content: ""; }

.fa-xing:before {
  content: ""; }

.fa-xing-square:before {
  content: ""; }

.fa-youtube-play:before {
  content: ""; }

.fa-dropbox:before {
  content: ""; }

.fa-stack-overflow:before {
  content: ""; }

.fa-instagram:before {
  content: ""; }

.fa-flickr:before {
  content: ""; }

.fa-adn:before {
  content: ""; }

.fa-bitbucket:before {
  content: ""; }

.fa-bitbucket-square:before {
  content: ""; }

.fa-tumblr:before {
  content: ""; }

.fa-tumblr-square:before {
  content: ""; }

.fa-long-arrow-down:before {
  content: ""; }

.fa-long-arrow-up:before {
  content: ""; }

.fa-long-arrow-left:before {
  content: ""; }

.fa-long-arrow-right:before {
  content: ""; }

.fa-apple:before {
  content: ""; }

.fa-windows:before {
  content: ""; }

.fa-android:before {
  content: ""; }

.fa-linux:before {
  content: ""; }

.fa-dribbble:before {
  content: ""; }

.fa-skype:before {
  content: ""; }

.fa-foursquare:before {
  content: ""; }

.fa-trello:before {
  content: ""; }

.fa-female:before {
  content: ""; }

.fa-male:before {
  content: ""; }

.fa-gittip:before,
.fa-gratipay:before {
  content: ""; }

.fa-sun-o:before {
  content: ""; }

.fa-moon-o:before {
  content: ""; }

.fa-archive:before {
  content: ""; }

.fa-bug:before {
  content: ""; }

.fa-vk:before {
  content: ""; }

.fa-weibo:before {
  content: ""; }

.fa-renren:before {
  content: ""; }

.fa-pagelines:before {
  content: ""; }

.fa-stack-exchange:before {
  content: ""; }

.fa-arrow-circle-o-right:before {
  content: ""; }

.fa-arrow-circle-o-left:before {
  content: ""; }

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: ""; }

.fa-dot-circle-o:before {
  content: ""; }

.fa-wheelchair:before {
  content: ""; }

.fa-vimeo-square:before {
  content: ""; }

.fa-turkish-lira:before,
.fa-try:before {
  content: ""; }

.fa-plus-square-o:before {
  content: ""; }

.fa-space-shuttle:before {
  content: ""; }

.fa-slack:before {
  content: ""; }

.fa-envelope-square:before {
  content: ""; }

.fa-wordpress:before {
  content: ""; }

.fa-openid:before {
  content: ""; }

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: ""; }

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: ""; }

.fa-yahoo:before {
  content: ""; }

.fa-google:before {
  content: ""; }

.fa-reddit:before {
  content: ""; }

.fa-reddit-square:before {
  content: ""; }

.fa-stumbleupon-circle:before {
  content: ""; }

.fa-stumbleupon:before {
  content: ""; }

.fa-delicious:before {
  content: ""; }

.fa-digg:before {
  content: ""; }

.fa-pied-piper-pp:before {
  content: ""; }

.fa-pied-piper-alt:before {
  content: ""; }

.fa-drupal:before {
  content: ""; }

.fa-joomla:before {
  content: ""; }

.fa-language:before {
  content: ""; }

.fa-fax:before {
  content: ""; }

.fa-building:before {
  content: ""; }

.fa-child:before {
  content: ""; }

.fa-paw:before {
  content: ""; }

.fa-spoon:before {
  content: ""; }

.fa-cube:before {
  content: ""; }

.fa-cubes:before {
  content: ""; }

.fa-behance:before {
  content: ""; }

.fa-behance-square:before {
  content: ""; }

.fa-steam:before {
  content: ""; }

.fa-steam-square:before {
  content: ""; }

.fa-recycle:before {
  content: ""; }

.fa-automobile:before,
.fa-car:before {
  content: ""; }

.fa-cab:before,
.fa-taxi:before {
  content: ""; }

.fa-tree:before {
  content: ""; }

.fa-spotify:before {
  content: ""; }

.fa-deviantart:before {
  content: ""; }

.fa-soundcloud:before {
  content: ""; }

.fa-database:before {
  content: ""; }

.fa-file-pdf-o:before {
  content: ""; }

.fa-file-word-o:before {
  content: ""; }

.fa-file-excel-o:before {
  content: ""; }

.fa-file-powerpoint-o:before {
  content: ""; }

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: ""; }

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: ""; }

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: ""; }

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: ""; }

.fa-file-code-o:before {
  content: ""; }

.fa-vine:before {
  content: ""; }

.fa-codepen:before {
  content: ""; }

.fa-jsfiddle:before {
  content: ""; }

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: ""; }

.fa-circle-o-notch:before {
  content: ""; }

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: ""; }

.fa-ge:before,
.fa-empire:before {
  content: ""; }

.fa-git-square:before {
  content: ""; }

.fa-git:before {
  content: ""; }

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: ""; }

.fa-tencent-weibo:before {
  content: ""; }

.fa-qq:before {
  content: ""; }

.fa-wechat:before,
.fa-weixin:before {
  content: ""; }

.fa-send:before,
.fa-paper-plane:before {
  content: ""; }

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: ""; }

.fa-history:before {
  content: ""; }

.fa-circle-thin:before {
  content: ""; }

.fa-header:before {
  content: ""; }

.fa-paragraph:before {
  content: ""; }

.fa-sliders:before {
  content: ""; }

.fa-share-alt:before {
  content: ""; }

.fa-share-alt-square:before {
  content: ""; }

.fa-bomb:before {
  content: ""; }

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: ""; }

.fa-tty:before {
  content: ""; }

.fa-binoculars:before {
  content: ""; }

.fa-plug:before {
  content: ""; }

.fa-slideshare:before {
  content: ""; }

.fa-twitch:before {
  content: ""; }

.fa-yelp:before {
  content: ""; }

.fa-newspaper-o:before {
  content: ""; }

.fa-wifi:before {
  content: ""; }

.fa-calculator:before {
  content: ""; }

.fa-paypal:before {
  content: ""; }

.fa-google-wallet:before {
  content: ""; }

.fa-cc-visa:before {
  content: ""; }

.fa-cc-mastercard:before {
  content: ""; }

.fa-cc-discover:before {
  content: ""; }

.fa-cc-amex:before {
  content: ""; }

.fa-cc-paypal:before {
  content: ""; }

.fa-cc-stripe:before {
  content: ""; }

.fa-bell-slash:before {
  content: ""; }

.fa-bell-slash-o:before {
  content: ""; }

.fa-trash:before {
  content: ""; }

.fa-copyright:before {
  content: ""; }

.fa-at:before {
  content: ""; }

.fa-eyedropper:before {
  content: ""; }

.fa-paint-brush:before {
  content: ""; }

.fa-birthday-cake:before {
  content: ""; }

.fa-area-chart:before {
  content: ""; }

.fa-pie-chart:before {
  content: ""; }

.fa-line-chart:before {
  content: ""; }

.fa-lastfm:before {
  content: ""; }

.fa-lastfm-square:before {
  content: ""; }

.fa-toggle-off:before {
  content: ""; }

.fa-toggle-on:before {
  content: ""; }

.fa-bicycle:before {
  content: ""; }

.fa-bus:before {
  content: ""; }

.fa-ioxhost:before {
  content: ""; }

.fa-angellist:before {
  content: ""; }

.fa-cc:before {
  content: ""; }

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: ""; }

.fa-meanpath:before {
  content: ""; }

.fa-buysellads:before {
  content: ""; }

.fa-connectdevelop:before {
  content: ""; }

.fa-dashcube:before {
  content: ""; }

.fa-forumbee:before {
  content: ""; }

.fa-leanpub:before {
  content: ""; }

.fa-sellsy:before {
  content: ""; }

.fa-shirtsinbulk:before {
  content: ""; }

.fa-simplybuilt:before {
  content: ""; }

.fa-skyatlas:before {
  content: ""; }

.fa-cart-plus:before {
  content: ""; }

.fa-cart-arrow-down:before {
  content: ""; }

.fa-diamond:before {
  content: ""; }

.fa-ship:before {
  content: ""; }

.fa-user-secret:before {
  content: ""; }

.fa-motorcycle:before {
  content: ""; }

.fa-street-view:before {
  content: ""; }

.fa-heartbeat:before {
  content: ""; }

.fa-venus:before {
  content: ""; }

.fa-mars:before {
  content: ""; }

.fa-mercury:before {
  content: ""; }

.fa-intersex:before,
.fa-transgender:before {
  content: ""; }

.fa-transgender-alt:before {
  content: ""; }

.fa-venus-double:before {
  content: ""; }

.fa-mars-double:before {
  content: ""; }

.fa-venus-mars:before {
  content: ""; }

.fa-mars-stroke:before {
  content: ""; }

.fa-mars-stroke-v:before {
  content: ""; }

.fa-mars-stroke-h:before {
  content: ""; }

.fa-neuter:before {
  content: ""; }

.fa-genderless:before {
  content: ""; }

.fa-facebook-official:before {
  content: ""; }

.fa-pinterest-p:before {
  content: ""; }

.fa-whatsapp:before {
  content: ""; }

.fa-server:before {
  content: ""; }

.fa-user-plus:before {
  content: ""; }

.fa-user-times:before {
  content: ""; }

.fa-hotel:before,
.fa-bed:before {
  content: ""; }

.fa-viacoin:before {
  content: ""; }

.fa-train:before {
  content: ""; }

.fa-subway:before {
  content: ""; }

.fa-medium:before {
  content: ""; }

.fa-yc:before,
.fa-y-combinator:before {
  content: ""; }

.fa-optin-monster:before {
  content: ""; }

.fa-opencart:before {
  content: ""; }

.fa-expeditedssl:before {
  content: ""; }

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: ""; }

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: ""; }

.fa-battery-2:before,
.fa-battery-half:before {
  content: ""; }

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: ""; }

.fa-battery-0:before,
.fa-battery-empty:before {
  content: ""; }

.fa-mouse-pointer:before {
  content: ""; }

.fa-i-cursor:before {
  content: ""; }

.fa-object-group:before {
  content: ""; }

.fa-object-ungroup:before {
  content: ""; }

.fa-sticky-note:before {
  content: ""; }

.fa-sticky-note-o:before {
  content: ""; }

.fa-cc-jcb:before {
  content: ""; }

.fa-cc-diners-club:before {
  content: ""; }

.fa-clone:before {
  content: ""; }

.fa-balance-scale:before {
  content: ""; }

.fa-hourglass-o:before {
  content: ""; }

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: ""; }

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: ""; }

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: ""; }

.fa-hourglass:before {
  content: ""; }

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: ""; }

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: ""; }

.fa-hand-scissors-o:before {
  content: ""; }

.fa-hand-lizard-o:before {
  content: ""; }

.fa-hand-spock-o:before {
  content: ""; }

.fa-hand-pointer-o:before {
  content: ""; }

.fa-hand-peace-o:before {
  content: ""; }

.fa-trademark:before {
  content: ""; }

.fa-registered:before {
  content: ""; }

.fa-creative-commons:before {
  content: ""; }

.fa-gg:before {
  content: ""; }

.fa-gg-circle:before {
  content: ""; }

.fa-tripadvisor:before {
  content: ""; }

.fa-odnoklassniki:before {
  content: ""; }

.fa-odnoklassniki-square:before {
  content: ""; }

.fa-get-pocket:before {
  content: ""; }

.fa-wikipedia-w:before {
  content: ""; }

.fa-safari:before {
  content: ""; }

.fa-chrome:before {
  content: ""; }

.fa-firefox:before {
  content: ""; }

.fa-opera:before {
  content: ""; }

.fa-internet-explorer:before {
  content: ""; }

.fa-tv:before,
.fa-television:before {
  content: ""; }

.fa-contao:before {
  content: ""; }

.fa-500px:before {
  content: ""; }

.fa-amazon:before {
  content: ""; }

.fa-calendar-plus-o:before {
  content: ""; }

.fa-calendar-minus-o:before {
  content: ""; }

.fa-calendar-times-o:before {
  content: ""; }

.fa-calendar-check-o:before {
  content: ""; }

.fa-industry:before {
  content: ""; }

.fa-map-pin:before {
  content: ""; }

.fa-map-signs:before {
  content: ""; }

.fa-map-o:before {
  content: ""; }

.fa-map:before {
  content: ""; }

.fa-commenting:before {
  content: ""; }

.fa-commenting-o:before {
  content: ""; }

.fa-houzz:before {
  content: ""; }

.fa-vimeo:before {
  content: ""; }

.fa-black-tie:before {
  content: ""; }

.fa-fonticons:before {
  content: ""; }

.fa-reddit-alien:before {
  content: ""; }

.fa-edge:before {
  content: ""; }

.fa-credit-card-alt:before {
  content: ""; }

.fa-codiepie:before {
  content: ""; }

.fa-modx:before {
  content: ""; }

.fa-fort-awesome:before {
  content: ""; }

.fa-usb:before {
  content: ""; }

.fa-product-hunt:before {
  content: ""; }

.fa-mixcloud:before {
  content: ""; }

.fa-scribd:before {
  content: ""; }

.fa-pause-circle:before {
  content: ""; }

.fa-pause-circle-o:before {
  content: ""; }

.fa-stop-circle:before {
  content: ""; }

.fa-stop-circle-o:before {
  content: ""; }

.fa-shopping-bag:before {
  content: ""; }

.fa-shopping-basket:before {
  content: ""; }

.fa-hashtag:before {
  content: ""; }

.fa-bluetooth:before {
  content: ""; }

.fa-bluetooth-b:before {
  content: ""; }

.fa-percent:before {
  content: ""; }

.fa-gitlab:before {
  content: ""; }

.fa-wpbeginner:before {
  content: ""; }

.fa-wpforms:before {
  content: ""; }

.fa-envira:before {
  content: ""; }

.fa-universal-access:before {
  content: ""; }

.fa-wheelchair-alt:before {
  content: ""; }

.fa-question-circle-o:before {
  content: ""; }

.fa-blind:before {
  content: ""; }

.fa-audio-description:before {
  content: ""; }

.fa-volume-control-phone:before {
  content: ""; }

.fa-braille:before {
  content: ""; }

.fa-assistive-listening-systems:before {
  content: ""; }

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: ""; }

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: ""; }

.fa-glide:before {
  content: ""; }

.fa-glide-g:before {
  content: ""; }

.fa-signing:before,
.fa-sign-language:before {
  content: ""; }

.fa-low-vision:before {
  content: ""; }

.fa-viadeo:before {
  content: ""; }

.fa-viadeo-square:before {
  content: ""; }

.fa-snapchat:before {
  content: ""; }

.fa-snapchat-ghost:before {
  content: ""; }

.fa-snapchat-square:before {
  content: ""; }

.fa-pied-piper:before {
  content: ""; }

.fa-first-order:before {
  content: ""; }

.fa-yoast:before {
  content: ""; }

.fa-themeisle:before {
  content: ""; }

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: ""; }

.fa-fa:before,
.fa-font-awesome:before {
  content: ""; }

.fa-handshake-o:before {
  content: ""; }

.fa-envelope-open:before {
  content: ""; }

.fa-envelope-open-o:before {
  content: ""; }

.fa-linode:before {
  content: ""; }

.fa-address-book:before {
  content: ""; }

.fa-address-book-o:before {
  content: ""; }

.fa-vcard:before,
.fa-address-card:before {
  content: ""; }

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: ""; }

.fa-user-circle:before {
  content: ""; }

.fa-user-circle-o:before {
  content: ""; }

.fa-user-o:before {
  content: ""; }

.fa-id-badge:before {
  content: ""; }

.fa-drivers-license:before,
.fa-id-card:before {
  content: ""; }

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: ""; }

.fa-quora:before {
  content: ""; }

.fa-free-code-camp:before {
  content: ""; }

.fa-telegram:before {
  content: ""; }

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: ""; }

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: ""; }

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: ""; }

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: ""; }

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: ""; }

.fa-shower:before {
  content: ""; }

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: ""; }

.fa-podcast:before {
  content: ""; }

.fa-window-maximize:before {
  content: ""; }

.fa-window-minimize:before {
  content: ""; }

.fa-window-restore:before {
  content: ""; }

.fa-times-rectangle:before,
.fa-window-close:before {
  content: ""; }

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: ""; }

.fa-bandcamp:before {
  content: ""; }

.fa-grav:before {
  content: ""; }

.fa-etsy:before {
  content: ""; }

.fa-imdb:before {
  content: ""; }

.fa-ravelry:before {
  content: ""; }

.fa-eercast:before {
  content: ""; }

.fa-microchip:before {
  content: ""; }

.fa-snowflake-o:before {
  content: ""; }

.fa-superpowers:before {
  content: ""; }

.fa-wpexplorer:before {
  content: ""; }

.fa-meetup:before {
  content: ""; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/* Studio Voyager Seachest */
nav.dd {
  background-color: #231F20;
  padding: 1.4rem; }
  nav.dd ul {
    list-style: none;
    position: relative;
    width: 100%;
    text-transform: uppercase;
    /*display: none;*/
    /* Second Level Menu - hide */ }
    nav.dd ul a {
      color: #f4f4f4;
      transition: color 0.2s ease-out; }
      nav.dd ul a:focus {
        color: #686B6E; }
      nav.dd ul a:hover {
        color: #686B6E; }
    nav.dd ul a[href="#"]:focus {
      color: #f4f4f4; }
    nav.dd ul a + ul.sub-menu {
      padding: 0.5em 0 0 0.5em;
      /*color: color(off-white);*/ }
      nav.dd ul a + ul.sub-menu li:last-child {
        padding-bottom: 0.5em; }
    nav.dd ul:after {
      content: "";
      clear: both;
      display: block; }
    nav.dd ul li {
      float: left;
      width: 100%; }
      nav.dd ul li a {
        width: 100%;
        /*&:focus ~ ul {
                     display: block;
                }*/ }
      nav.dd ul li:hover > ul {
        display: block; }
    nav.dd ul ul {
      /*display: none;*/
      display: block;
      text-transform: initial;
      /* All items open for this site */ }
  @media all and (min-width: 40em) {
    nav.dd {
      background-color: initial;
      padding: 0;
      font-size: 0.75em; }
      nav.dd ul {
        display: flex;
        justify-content: flex-end;
        width: auto;
        /* second level items */ }
        nav.dd ul li {
          width: auto; }
          nav.dd ul li.current-menu-parent > a:hover, nav.dd ul li.current-menu-item > a:hover {
            color: #686B6E; }
        nav.dd ul a {
          color: #686B6E; }
          nav.dd ul a:focus {
            color: #686B6E; }
          nav.dd ul a:hover {
            color: #fff; }
        nav.dd ul a[href="#"] {
          position: relative; }
          nav.dd ul a[href="#"]:hover, nav.dd ul a[href="#"]:focus {
            color: #686B6E; }
          nav.dd ul a[href="#"]:after {
            content: "";
            position: absolute;
            top: 40%;
            right: -1em;
            width: 0;
            height: 0;
            border-left: 0.3em solid transparent;
            border-right: 0.3em solid transparent;
            border-top: 0.3em solid rgba(205, 206, 212, 0.5); }
        nav.dd ul a + ul.sub-menu {
          padding: 1em; }
        nav.dd ul ul,
        nav.dd ul .submenu {
          display: none;
          position: absolute;
          top: 100%;
          padding: 1em;
          background-color: #686B6E;
          box-shadow: 0.1em 0 0.33em #818588;
          font-weight: 400;
          z-index: 100; }
          nav.dd ul ul:before,
          nav.dd ul .submenu:before {
            content: "";
            position: absolute;
            top: -0.49em;
            left: 1em;
            width: 0;
            height: 0;
            border-left: 0.5em solid transparent;
            border-right: 0.5em solid transparent;
            border-bottom: 0.5em solid #686B6E; }
          nav.dd ul ul li,
          nav.dd ul .submenu li {
            float: none;
            position: relative;
            width: auto; }
          nav.dd ul ul ul,
          nav.dd ul .submenu ul {
            position: absolute;
            left: 100%;
            top: 0; }
          nav.dd ul ul a,
          nav.dd ul .submenu a {
            color: #f4f4f4; }
            nav.dd ul ul a:hover,
            nav.dd ul .submenu a:hover {
              color: #fff; }
      nav.dd > ul > li.current-menu-parent:after, nav.dd > ul > li.current-menu-item:after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background-color: #e8e9ec;
        background-color: #cdced4; } }

/* -------------------------------------------- */
/*  
    Hamburger menu icon
    Author: Tim Jensen
    Date: Nov 2016

    Based on icon animation design by Jesse Couch
    https://codepen.io/designcouch/pen/Atyop


    HTML:

    <a [icon placeholder element]>
      <span></span>
      <span></span>
      <span></span>
      <span></span>
    </a>

/* -------------------------------------------- */
/* Vars */
/* Icon */
.hm {
  width: 2em;
  height: 2em;
  position: relative;
  transform: rotate(0deg);
  transition: transform .5s ease-in-out;
  cursor: pointer;
  /* Icon Open */ }
  .hm span {
    display: block;
    position: absolute;
    left: 0.45em;
    height: 0.25em;
    width: 1.1em;
    background: #000;
    border-radius: 0.25em;
    opacity: 1;
    transform: rotate(0deg);
    transition: transform .25s ease-in-out, width .25s ease-in-out, left .25s ease-in-out; }
    .hm span:nth-child(1) {
      top: 0.4375em; }
    .hm span:nth-child(2), .hm span:nth-child(3) {
      top: 0.875em; }
    .hm span:nth-child(4) {
      top: 1.3125em; }
  .open.hm span:nth-child(1), .open.hm span:nth-child(4) {
    top: 0.875em;
    width: 0%;
    left: 50%; }
  .open.hm span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  .open.hm span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }

/*@import 'components/nav'; */
/* 
 Utilities 
---------------------------*/
/*@import 'utilities';*/
/* 
 Custom Interface 
---------------------------*/
:root {
  --header-width: 25vw; }

html,
body {
  height: 100%; }

body.no-scroll {
  overflow-y: hidden; }
  body.no-scroll div {
    z-index: -1; }

::selection {
  color: #231F20;
  background-color: #cdced4; }

* {
  font-size: 16px; }

a {
  color: #1352B7;
  transition: color 0.3s ease-out; }
  a:hover {
    color: #3375D3; }

fieldset {
  border: none; }
  fieldset input,
  fieldset textarea, fieldset select {
    width: 100%; }
    fieldset input + input,
    fieldset input + textarea,
    fieldset input + select,
    fieldset textarea + input,
    fieldset textarea + textarea,
    fieldset textarea + select, fieldset select + input,
    fieldset select + textarea,
    fieldset select + select {
      margin-top: 1em; }
  fieldset + fieldset {
    margin-top: 2em;
    padding-top: 2em;
    border-top: 1px solid #cdced4; }

input,
textarea {
  appearance: inherit;
  border: 1px solid #cdced4;
  height: 2.5em;
  padding: 0.2em 0.5em;
  transition: border 0.5s ease-out; }
  input:focus,
  textarea:focus {
    border: 1px solid #686B6E; }

select {
  margin: 0.25em 0 1em; }

textarea {
  min-height: 6em; }

input[type='submit'] {
  height: 3em; }

input[type='checkbox'] {
  -webkit-appearance: checkbox;
  width: auto;
  height: auto;
  margin: 0.25em 0.5em; }

/**+blockquote,
*+p,
*+figure {
    padding-top: 1em;
}*/
blockquote p {
  font-size: 1.5em; }

sup {
  font-size: 0.5em; }

sub {
  font-size: 0.4em; }

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul {
  max-width: 31.948rem; }

/* OBJECTS */
.o-btn {
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  background-color: #1352B7;
  color: #fff;
  transition: background-color 0.3s ease-out; }
  .o-btn:hover {
    background-color: #3375D3;
    color: #fff; }
  @media all and (min-width: 40em) {
    .o-btn {
      padding: 0.5em 1em; } }

.o-subhead {
  display: block;
  text-transform: uppercase;
  margin-bottom: 1em; }

/* COMPONENTS */
.c-header {
  display: flex;
  padding: 1em;
  background-color: #231F20;
  box-shadow: 0px 0px 0px 0px rgba(35, 31, 32, 0);
  z-index: 10;
  transition: all 0.5s ease-out; }
  @media all and (min-width: 40em) {
    .c-header {
      flex-direction: column-reverse;
      padding: 4em 2em; }
      .c-header .hm {
        display: none; } }
  .c-header.is-pinned {
    padding: 0em 5em;
    background-color: #fff;
    box-shadow: 0px 6px 15px -6px rgba(35, 31, 32, 0.67); }

.c-globalnav ul {
  display: flex;
  flex-direction: column; }

.c-globalnav a {
  display: inline-block;
  font-size: 0.9em;
  padding: 0.5em 0;
  text-decoration: none;
  text-transform: uppercase;
  /*@include ff(header);*/
  font-weight: 700;
  white-space: nowrap; }

@media all and (min-width: 40em) {
  .c-globalnav a {
    padding: 0.5em 1em; } }

.hm {
  text-indent: -9999px; }

.c-logo {
  width: 50vw;
  transition: all 0.3s ease-out; }
  @media all and (min-width: 40em) {
    .c-logo {
      width: 100%; } }

.is-pinned .c-logo {
  width: 4em;
  margin-bottom: -0.5em;
  padding-top: 0.5em; }
  .is-pinned .c-logo #logotype {
    display: none; }

[class*='c-section']:not([class*='c-section__']) {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff; }
  [class*='c-section']:not([class*='c-section__']) .o-subhead {
    color: #1352B7;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.5em; }
  @media all and (min-width: 40em) {
    [class*='c-section']:not([class*='c-section__']) {
      padding: 2em; } }

.c-section--welcome {
  position: relative;
  min-height: 100vh; }
  @media all and (min-width: 68.75em) {
    .c-section--welcome blockquote {
      width: 70%; } }
  .c-section--welcome h1 span {
    font-size: 1em;
    margin-bottom: 0.2em;
    padding: 0 0.1em;
    background-color: #FFDD15;
    color: #fff; }
  .c-section--welcome h3 {
    font-size: 1.5em;
    margin-top: 1em; }
  .c-section--welcome p {
    /*font-size: 1.2em !important;*/ }

.c-section--aboutus h2, .c-section--benefitstoyou h2 {
  color: #fff; }

.c-section--thanks {
  justify-content: flex-end !important;
  /*@include mappy-query(portrait-tablet) {
        padding-top: 5em;
    }*/ }

.c-section--benefitstoyou {
  position: relative;
  background-color: #231F20 !important;
  opacity: 0.99;
  color: #fff; }
  .c-section--benefitstoyou:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: inherit;
    background-image: url("../img/solar-panel-1393880.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.4;
    z-index: -1; }
    @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
      .c-section--benefitstoyou:before {
        background-image: url("../img/solar-panel-1393880@2x.jpg"); } }
  .c-section--benefitstoyou .o-subhead {
    color: #5b94ee !important; }

.c-section--aboutus {
  position: relative;
  background-color: #231F20 !important;
  opacity: 0.99;
  color: #fff; }
  .c-section--aboutus:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: inherit;
    background-image: url("../img/lawrence-walters-281468.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.2;
    z-index: -1; }
    @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
      .c-section--aboutus:before {
        background-image: url("../img/lawrence-walters-281468@2x.jpg"); } }
  .c-section--aboutus .o-subhead {
    color: #5b94ee !important; }

@media all and (min-width: 40em) {
  .c-section--whoweworkwith {
    flex-direction: row !important;
    align-items: flex-start !important; }
    .c-section--whoweworkwith .c-article {
      flex-basis: 44vw; }
    .c-section--whoweworkwith .c-bxSliderNav {
      /*float: right;*/ } }

@media all and (min-width: 68.75em) {
  .c-section--whoweworkwith .c-article {
    flex-basis: 30vw; } }

/*.c-section--pricing {
    position: relative;
    background-color: color(black) !important;
    opacity: 0.99;
    color: color(white);
    &:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        @include background-2x('../img/helloquence-61189', inherit, 'jpg', cover, center center, no-repeat);
        opacity: 0.2;
        z-index: -1;
    }
}*/
.c-freequote {
  color: #FFDD15 !important; }

.c-fancy-bullets {
  display: flex;
  flex-wrap: wrap;
  margin: 1em 0;
  padding: 0;
  /*max-width: calc(31.948rem + 7em);
    margin-left: -3.5em;*/ }
  .c-fancy-bullets li {
    list-style: none;
    flex-basis: 44%;
    margin: 1em 3%;
    text-align: center; }
    .c-fancy-bullets li i.fa {
      display: block;
      font-size: 3em;
      border-bottom: 1px solid #cdced4;
      padding-bottom: 0.25em;
      margin-bottom: 0.5em; }
  @media all and (min-width: 40em) {
    .c-fancy-bullets li {
      margin: 1em 0.25%;
      flex-basis: 24%; } }
  @media all and (min-width: 68.75em) {
    .c-fancy-bullets li {
      margin: 1em 0.5%;
      flex-basis: 18%; } }

.c-items {
  display: flex;
  flex-direction: column; }
  @media all and (min-width: 40em) {
    .c-items {
      flex-direction: row; } }

.c-item {
  position: relative;
  flex-basis: 33%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  min-height: 20em;
  margin: 1.25em 0.1em 0;
  background: linear-gradient(#09295b, #1352B7);
  color: #fff;
  border-bottom-left-radius: 0.25em;
  border-bottom-right-radius: 0.25em;
  box-shadow: 0px 5px 17px -5px rgba(35, 31, 32, 0.67);
  transition: margin 0.25s ease-out, box-shadow 0.25s ease-in-out; }
  .c-item:hover {
    margin: 0.75em 0.1em 0.5em;
    box-shadow: 0px 5px 10px -5px rgba(35, 31, 32, 0.47); }
  .c-item p {
    margin-top: 0; }
  .c-item .o-btn {
    width: 100%;
    text-align: center;
    padding: 1.5em 0;
    background-color: #1867e5;
    color: #fff; }
    .c-item .o-btn:hover {
      background-color: #4485ec; }

.c-item_title {
  font-family: "Oswald", sans-serif;
  color: #fff;
  padding: 2em 0 0;
  text-transform: uppercase; }

.c-item_description {
  padding: 0.5em 1em; }

.c-item_house {
  /*position: absolute;*/
  width: 100%;
  height: auto;
  /*top: 10%;*/ }

.c-item_pricetag {
  padding: 0;
  font-size: 2em;
  width: 100%;
  text-align: center;
  /*background-color: lighten(color(black),10%);*/
  color: #fff; }

:root {
  --clientcard-maxHeight: 36em; }

.c-clientcards {
  display: block;
  margin: 0;
  box-shadow: 2px 6px 17px -5px rgba(35, 31, 32, 0.67);
  background-color: #ededed; }
  @media all and (min-width: 40em) {
    .c-clientcards {
      min-height: var(--clientcard-maxHeight);
      max-height: var(--clientcard-maxHeight); } }

.c-clientcard {
  margin: 0; }
  .c-clientcard h3,
  .c-clientcard p {
    padding: 0 2rem; }
  .c-clientcard figure {
    height: 12em;
    overflow: hidden;
    margin-bottom: 2.5em; }
  @media all and (min-width: 40em) {
    .c-clientcard {
      min-height: var(--clientcard-maxHeight); } }

.bx-wrapper {
  position: relative; }
  .bx-wrapper .bx-viewport {
    overflow: hidden;
    max-height: var(--clientcard-maxHeight) !important; }
  .bx-wrapper .bx-controls {
    position: absolute;
    top: 10em;
    right: 1em; }
    .bx-wrapper .bx-controls .bx-controls-direction {
      display: flex; }

/* Couldn't get custom arrows working yet */
.c-bxSliderNav__arrow,
.bx-prev,
.bx-next {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  border-radius: 1.5em;
  /*border: 1px solid color(almost-white);*/
  background-color: #fff;
  box-shadow: 0px 3px 10px -4px rgba(35, 31, 32, 0.67);
  text-decoration: none;
  margin-right: 0.25em;
  overflow: hidden;
  text-indent: -6em;
  transition: background-color 0.5s ease-out; }
  .c-bxSliderNav__arrow:after,
  .bx-prev:after,
  .bx-next:after {
    margin-left: 11.6em;
    font-family: 'FontAwesome';
    content: "\f176"; }
  .c-bxSliderNav__arrow:hover,
  .bx-prev:hover,
  .bx-next:hover {
    background-color: #686B6E;
    color: #fff; }
  .c-bxSliderNav__arrow.left i, .c-bxSliderNav__arrow.bx-prev i,
  .bx-prev.left i,
  .bx-prev.bx-prev i,
  .bx-next.left i,
  .bx-next.bx-prev i {
    transform: rotate(45deg); }
  .c-bxSliderNav__arrow.right:after, .c-bxSliderNav__arrow.bx-next:after,
  .bx-prev.right:after,
  .bx-prev.bx-next:after,
  .bx-next.right:after,
  .bx-next.bx-next:after {
    content: "\f175"; }
  .c-bxSliderNav__arrow.right i, .c-bxSliderNav__arrow.bx-next i,
  .bx-prev.right i,
  .bx-prev.bx-next i,
  .bx-next.right i,
  .bx-next.bx-next i {
    transform: rotate(45deg); }
  @media all and (min-width: 40em) {
    .c-bxSliderNav__arrow.left, .c-bxSliderNav__arrow.bx-prev,
    .bx-prev.left,
    .bx-prev.bx-prev,
    .bx-next.left,
    .bx-next.bx-prev {
      margin-left: -2em; } }

.c-article {
  padding: 3em 1em 2em; }
  @media all and (min-width: 40em) {
    .c-article {
      padding: 2em; } }

.c-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 2em;
  padding: 1em 0;
  border-top: 1px solid #cdced4; }
  .c-footer article {
    text-align: center; }
  .c-footer * + p {
    margin: 0;
    padding: 0; }

.c-footer-logos {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; }
  .c-footer-logos p {
    flex-basis: 47%; }
  @media all and (min-width: 40em) {
    .c-footer-logos {
      flex-direction: row;
      flex-wrap: nowrap; } }

.c-sv {
  display: block;
  margin-top: 1em;
  text-transform: uppercase;
  text-decoration: none;
  font-family: 'Lato';
  font-weight: 900;
  text-align: center; }

/* LAYOUTS */
@media all and (min-width: 40em) {
  .l-global {
    margin-left: var(--header-width); } }

@media all and (min-width: 68.75em) {
  .l-global {
    --header-width: 20vw; } }

.l-header {
  height: 25vh;
  align-items: flex-end; }
  .l-header .hm {
    position: fixed;
    top: 1.6em;
    right: 1em;
    z-index: 200; }
  @media all and (min-width: 40em) {
    .l-header {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 100;
      align-items: center;
      justify-content: space-between;
      width: var(--header-width);
      height: 100vh;
      box-shadow: 5px 2px 20px 1px rgba(0, 0, 0, 0.2); } }

.l-globalnav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  /*align-self: flex-end;*/
  width: 100%;
  z-index: 200; }
  @media all and (min-width: 40em) {
    .l-globalnav {
      position: initial;
      top: auto;
      left: auto;
      width: auto;
      align-self: flex-start;
      display: block; } }
  .l-globalnav.open {
    display: block; }

@media all and (min-width: 40em) {
  [class*='l-section']:not([class*='l-section__']) {
    min-height: 70vh;
    justify-content: center; } }

@media all and (min-width: 40em) {
  .l-section--benefitstoyou {
    align-items: flex-end !important; } }

.l-section--welcome {
  height: 75vh; }
  @media all and (min-width: 40em) {
    .l-section--welcome {
      height: auto; } }

@media all and (min-width: 40em) {
  .l-footer {
    /*flex-direction: row;*/
    justify-content: space-between;
    margin: 3em 2em; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJsaWIvX2xpYi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9fc3VzeS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3MvX3N1c3ktcHJlZml4LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9fdmVyc2lvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L19zdS12YWxpZGF0ZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9fc3UtbWF0aC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9fcGFyc2Uuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvX3N5bnRheC1oZWxwZXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L19hcGkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvX3VucHJlZml4LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL21hcHB5LWJyZWFrcG9pbnRzL19tYXBweS1icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy90eXBpL3Njc3MvX3R5cGkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHlwaS9zY3NzL3R5L19taXhpbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHlwaS9zY3NzL3R5L19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHlwaS9zY3NzL3R5cGkvX3R5cGkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhci1zY2FsZS9zdHlsZXNoZWV0cy9fbW9kdWxhcnNjYWxlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL21vZHVsYXItc2NhbGUvc3R5bGVzaGVldHMvbW9kdWxhcnNjYWxlL192YXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL21vZHVsYXItc2NhbGUvc3R5bGVzaGVldHMvbW9kdWxhcnNjYWxlL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyLXNjYWxlL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZS9fcG93LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL21vZHVsYXItc2NhbGUvc3R5bGVzaGVldHMvbW9kdWxhcnNjYWxlL19zdHJpcC11bml0cy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyLXNjYWxlL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZS9fc29ydC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyLXNjYWxlL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZS9fcm91bmQtcHguc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhci1zY2FsZS9zdHlsZXNoZWV0cy9tb2R1bGFyc2NhbGUvX3RhcmdldC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyLXNjYWxlL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZS9fZnVuY3Rpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhci1zY2FsZS9zdHlsZXNoZWV0cy9tb2R1bGFyc2NhbGUvX3Jlc3BvbmQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW9kdWxhci1zY2FsZS9zdHlsZXNoZWV0cy9tb2R1bGFyc2NhbGUvX3N1Z2FyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2FkYXB0aXZlLXBsYWNlaG9sZGVycy9fYWRhcHRpdmUtcGxhY2Vob2xkZXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3Nhc3MtaGlkcGkvX2hpZHBpLnNjc3MiLCJoZWxwZXJzL19oZWxwZXJzLnNjc3MiLCJoZWxwZXJzL19mdW5jdGlvbnMuc2NzcyIsImhlbHBlcnMvX21peGlucy5zY3NzIiwiaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL190aGVtZXMuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJsYXlvdXRzL19zdXN5LnNjc3MiLCJsYXlvdXRzL19sYXlvdXRzLnNjc3MiLCJvYmplY3RzL190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL2ZvbnRhd2Vzb21lL2ZvbnQtYXdlc29tZS5zY3NzIiwiY29tcG9uZW50cy9mb250YXdlc29tZS9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL2ZvbnRhd2Vzb21lL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX3BhdGguc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX2NvcmUuc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX2xhcmdlci5zY3NzIiwiY29tcG9uZW50cy9mb250YXdlc29tZS9fZml4ZWQtd2lkdGguc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX2xpc3Quc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwiY29tcG9uZW50cy9mb250YXdlc29tZS9fYW5pbWF0ZWQuc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiY29tcG9uZW50cy9mb250YXdlc29tZS9fc3RhY2tlZC5zY3NzIiwiY29tcG9uZW50cy9mb250YXdlc29tZS9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvZm9udGF3ZXNvbWUvX3NjcmVlbi1yZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3NlYWNoZXN0LnNjc3MiLCJjb21wb25lbnRzL2Ryb3Bkb3duL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9faGFtYnVyZ2VyLnNjc3MiLCJfc2hhbWUuc2NzcyIsImN1c3RvbS9fY3VzdG9tLnNjc3MiLCJjdXN0b20vX2dsb2JhbC5zY3NzIiwiY3VzdG9tL19vYmplY3RzLnNjc3MiLCJjdXN0b20vX2NvbXBvbmVudHMuc2NzcyIsImN1c3RvbS9fbGF5b3V0cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFxuIExpYnJhcmllcyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0ICdsaWIvbGliJztcblxuLyogXG4gSGVscGVycyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0ICdoZWxwZXJzL2hlbHBlcnMnO1xuLyogQGltcG9ydCAnc3ByaXRlJzsgIC8vIEltcG9ydCBzcHJpdGUgaWYgZ3VscC1zcHJpdGluZyBpcyB1c2VkICovXG5cbi8qIFxuIEhlbHBlcnMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCAndmFyaWFibGVzL2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMvdGhlbWVzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcy9icmVha3BvaW50cyc7XG5cblxuLyogXG4gUmVzZXQgYW5kIGJhc2UgZmlsZXMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCAnYmFzZS9yZXNldCc7XG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuXG4vKiBcbiBMYXlvdXRzIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgJ2xheW91dHMvc3VzeSc7XG5AaW1wb3J0ICdsYXlvdXRzL2xheW91dHMnO1xuXG4vKiBcbiBPYmplY3RzIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCAnb2JqZWN0cy90eXBvZ3JhcGh5Jztcbi8qQGltcG9ydCAnb2JqZWN0cy9idXR0b25zJzsqL1xuXG4vKlxuR29vZ2xlIE1hdGVyaWFsIERlc2lnblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGltcG9ydCAnLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnMnOyovXG4vKkBpbXBvcnQgJy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yaXBwbGUvbWl4aW5zJzsqL1xuXG5cbi8qIFxuIENvbXBvbmVudHMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCAnY29tcG9uZW50cy9mb250YXdlc29tZS9mb250LWF3ZXNvbWUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFjaGVzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGFtYnVyZ2VyJztcbi8qQGltcG9ydCAnY29tcG9uZW50cy9uYXYnOyAqL1xuXG5cbi8qIFxuIFV0aWxpdGllcyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gLypAaW1wb3J0ICd1dGlsaXRpZXMnOyovXG5cbkBpbXBvcnQgJ3NoYW1lJztcblxuLyogXG4gQ3VzdG9tIEludGVyZmFjZSBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0ICdjdXN0b20vY3VzdG9tJzsiLCIvLyA9PT09PT09PT09XG4vLyBMSUJSQVJJRVNcbi8vIC0tLS0tLVxuLy8gVGhpcyBmaWxlIGlzIGZvciB5b3UgdG8gaW1wb3J0IG90aGVyIGxpYnJhcmllcyB0aGF0XG4vLyB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGludG8geW91ciBwcm9qZWN0LlxuLy9cbi8vIEkgY2hvc2UgdG8gaW5jbHVkZSBhbGwgbXkgcHJvamVjdCBkZXBlbmRlbmNpZXMgd2l0aCBCb3dlci5cbi8vXG4vLyBUbyBpbnN0YWxsIGxpYnJhcmllcyB3aXRoIEJvd2VyLCBvcGVuIHRoZSB0ZXJtaW5hbCBhbmQgdHlwZVxuLy8gYGJvd2VyIGluc3RhbGwgPHBhY2thZ2UtbmFtZT4gLS1zYXZlYCBhbmQgaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5XG4vLyBpbnN0YWxsZWQgaW4gYXBwL2Jvd2VyX2NvbXBvbmVudHMuXG4vL1xuLy8gSWYgeW91IHdhbnQgdG8gdXNlIEJvd2VyLCB5b3UgbXVzdCBoYXZlIG5vZGUuanMgYW5kIGJvd2VyIGluc3RhbGxlZFxuLy8gaW4geW91ciBzeXN0ZW0uXG4vL1xuLy8gTm9kZS5qcyAtIGh0dHA6Ly9ub2RlanMub3JnXG4vLyBCb3dlciAtIGh0dHA6Ly9ib3dlci5pb1xuLy9cbi8vIElmIHlvdSBhcmUgbm90IGNvbWZvcnRhYmxlIHdpdGggQm93ZXIsIGZlZWwgZnJlZSB0byBhZGQgbmV3XG4vLyBsaWJyYXJpZXMgaW50byB0aGUgbGlicmFyaWVzIGZvbGRlciBpbiBhbnkgd2F5IHlvdSBsaWtlLlxuLy8gVGhlbiwgaW1wb3J0IHRob3NlIGxpYnJhcmllcyBpbiB0aGUgZmlsZSBoZXJlLlxuLy8gPT09PT09PT09PVxuXG5AaW1wb3J0ICcuL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLWNzcy9ub3JtYWxpemUnO1xuXG4vLyBTdXN5IGFuZCBTdXN5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5Jztcbi8vIEBpbXBvcnQgJy4vYm93ZXJfY29tcG9uZW50cy9zdXN5LWhlbHBlcnMvc3VzeS1oZWxwZXJzJztcblxuLy8gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi9ib3dlcl9jb21wb25lbnRzL21hcHB5LWJyZWFrcG9pbnRzL21hcHB5LWJyZWFrcG9pbnRzJztcblxuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLVxuQGltcG9ydCAnLi9ib3dlcl9jb21wb25lbnRzL3R5cGkvc2Nzcy90eXBpJztcbkBpbXBvcnQgJy4vYm93ZXJfY29tcG9uZW50cy9tb2R1bGFyLXNjYWxlL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZSc7XG5cbi8vIEZvcm1zXG4vLyAtLS0tLVxuQGltcG9ydCAnLi9ib3dlcl9jb21wb25lbnRzL2FkYXB0aXZlLXBsYWNlaG9sZGVycy9hZGFwdGl2ZS1wbGFjZWhvbGRlcnMnO1xuXG4vLyBNaXNjXG4vLyAtLS0tXG5AaW1wb3J0ICcuL2Jvd2VyX2NvbXBvbmVudHMvc2Fzcy1oaWRwaS9oaWRwaSc7IC8vIGZvciByZXNwb25zaXZlIGltYWdlc1xuLyogQGltcG9ydCAnLi9ib3dlcl9jb21wb25lbnRzL3RoZW1pZnkvdGhlbWlmeSc7ICovXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIFN1c3kgKFVuLVByZWZpeGVkKVxuLy8gPT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgJ3N1c3ktcHJlZml4JztcbkBpbXBvcnQgJ3N1c3kvdW5wcmVmaXgnO1xuIiwiLy8gU3VzeSAoUHJlZml4ZWQpXG4vLyA9PT09PT09PT09PT09PT1cblxuXG5AaW1wb3J0ICd2ZXJzaW9uJztcbkBpbXBvcnQgJ3N1c3kvdXRpbGl0aWVzJztcbkBpbXBvcnQgJ3N1c3kvc3UtdmFsaWRhdGUnO1xuQGltcG9ydCAnc3VzeS9zdS1tYXRoJztcbkBpbXBvcnQgJ3N1c3kvc2V0dGluZ3MnO1xuQGltcG9ydCAnc3VzeS9ub3JtYWxpemUnO1xuQGltcG9ydCAnc3VzeS9wYXJzZSc7XG5AaW1wb3J0ICdzdXN5L3N5bnRheC1oZWxwZXJzJztcbkBpbXBvcnQgJ3N1c3kvYXBpJztcbiIsIi8vIFJlbGVhc2UgTWFuYWdlbWVudCBpbiBTdXN5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFN1c3kgVmVyc2lvbiBbdmFyaWFibGVdXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vIFRoZSBjdXJyZW50IHZlcnNpb24gb2YgU3VzeSBiZWluZyB1c2VkLlxuLy8vIC0gV2Ugd2lsbCByZWxlYXNlIGEgbWFqb3IgdmVyc2lvbiBmb3IgYW55IEJSRUFLSU5HIGNoYW5nZXMuXG4vLy8gLSBXZSB3aWxsIHJlbGVhc2UgYSBtaW5vciB2ZXJzaW9uIGZvciBhbnkgc2lnbmlmaWNhbnQgTkVXIGZlYXR1cmVzLlxuLy8vIC0gV2Ugd2lsbCByZWxlYXNlIGEgcGF0Y2ggZm9yIGFueSBCVUdGSVggY2hhbmdlcy5cbi8vL1xuLy8vIEBncm91cCB4LXZlcnNpb25cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAc2luY2UgMy4wLjFcbi8vL1xuLy8vIEBwcm9wIHtpbnRlZ2VyfSAnbWFqb3InIC0gdGhlIG1ham9yIHJlbGVhc2UgbnVtYmVyXG4vLy8gQHByb3Age2ludGVnZXJ9ICdtaW5vcicgLSB0aGUgbWlub3IgcmVsZWFzZSBudW1iZXJcbi8vLyBAcHJvcCB7aW50ZWdlcn0gJ3BhdGNoJyAtIHRoZSBwYXRjaCBudW1iZXJcbiRfc3VzeS12ZXJzaW9uOiAoXG4gICdtYWpvcic6IDMsXG4gICdtaW5vcic6IDAsXG4gICdwYXRjaCc6IDEsXG4pO1xuXG5cbi8vIFN1c3kgVmVyc2lvbiBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vIFJldHVybnMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBTdXN5XG4vLy8gYXMgYSBzdHJpbmcgaW4gdGhlIGNvbW1vbiBgbWFqb3IubWlub3IucGF0Y2hgIGZvcm1hdCDigJNcbi8vLyBvciByZXR1cm5zIG9uZSBwYXJ0IChtYWpvciB8IG1pbm9yIHwgcGF0Y2gpIGFzIGEgbnVtYmVyXG4vLy8gZm9yIHZlcnNpb24gY29tcGFyaXNvbnMuXG4vLy8gU2luY2UgdmVyc2lvbiBudW1iZXJzIGFyZW4ndCBhY3R1YWwgZGVjaW1hbHMsXG4vLy8gdGhlcmUgaXMgbm8gc2ltcGxlIHdheSB0byByZXR1cm4gdGhlIGZ1bGwgdmVyc2lvblxuLy8vIGFzIGEgY29tcGFyYWJsZSBudW1iZXIgaW4gU2Fzcy5cbi8vL1xuLy8vIEBncm91cCB4LXZlcnNpb25cbi8vL1xuLy8vIEBwYXJhbSB7J21ham9yJyB8ICdtaW5vcicgfCAncGF0Y2gnfSAkcGFydCBbbnVsbF0gLVxuLy8vICAgVGhlIHBhcnQgKG1ham9yIHwgbWlub3IgfCBwYXRjaCkgdG8gcmV0dXJuIGFzIGEgbnVtYmVyLlxuLy8vICAgQW55IG90aGVyIHZhbHVlIHdpbGwgcmV0dXJuIHRoZSBmdWxsIHZlcnNpb24gYXMgYSBzdHJpbmcuXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1cnJlbnQgU3VzeSBWZXJzaW9uXG4vLy8gICAvKiBGdWxsIFZlcnNpb246ICN7c3VzeS12ZXJzaW9uKCl9ICovXG4vLy8gICAvKiBNYWpvciBSZWxlYXNlOiAje3N1c3ktdmVyc2lvbignbWFqb3InKX0gKi9cbkBmdW5jdGlvbiBzdXN5LXZlcnNpb24oXG4gICRwYXJ0OiBudWxsXG4pIHtcbiAgJG1ham9yOiBtYXAtZ2V0KCRfc3VzeS12ZXJzaW9uLCAnbWFqb3InKTtcbiAgJG1pbm9yOiBtYXAtZ2V0KCRfc3VzeS12ZXJzaW9uLCAnbWlub3InKTtcbiAgJHBhdGNoOiBtYXAtZ2V0KCRfc3VzeS12ZXJzaW9uLCAncGF0Y2gnKTtcbiAgJGZ1bGw6ICcjeyRtYWpvcn0uI3skbWlub3J9LiN7JHBhdGNofSc7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRfc3VzeS12ZXJzaW9uLCAkcGFydCkgb3IgJGZ1bGw7XG59XG5cblxuLy8vICMgUmVsZWFzZSBOb3RlcyBmb3IgU3VzeSB2My4wLjAgKGFuZCAzLjAuMSlcbi8vL1xuLy8vIC0gQlJFQUtJTkc6IE5vIE1vcmUgTWl4aW5zIVxuLy8vICAgYHNwYW5gLCBgY29udGFpbmVyYCwgYGd1dHRlcnNgLCBgbGFzdGAsIGBnYWxsZXJ5YCwgZXRjLlxuLy8vICAgaGF2ZSBhbGwgYmVlbiByZW1vdmVkIGZyb20gU3VzeS5cbi8vLyAgIFdlYiBsYXlvdXQgaGFzIGJlY29tZSB0b28gcG93ZXJmdWwgJiBmbGV4aWJsZSB0byBjb250YWluXG4vLy8gICBpbiBhIHNpbXBsZSBzZXQgb2Ygc2hvcnRjdXRzLlxuLy8vIC0gQlJFQUtJTkc6IFJlbW92ZSBydWJ5Z2Vtcy9ib3dlciwgdG8gZGlzdHJpYnV0ZSBvbiBucG0gb25seS5cbi8vLyAtIEJSRUFLSU5HOiBUcmltIGRvd24gdG8gdGhlIGNvcmUgbWF0aCwgYW5kIGEgdGhpbiBsYXllciBvZiBhcGkgZnVuY3Rpb25zOlxuLy8vICAgLSBgc3VzeS1zcGFuKClgIChhbGlhc2VkIGFzIGBzcGFuYClcbi8vLyAgICAgdG8gcmV0dXJuIGEgY29sdW1uLXNwYW5uaW5nIHdpZHRoLlxuLy8vICAgLSBgc3VzeS1ndXR0ZXIoKWAgKGFsaWFzZWQgYXMgYGd1dHRlcmApXG4vLy8gICAgIHRvIHJldHVybiBhIGd1dHRlciB3aWR0aC5cbi8vLyAgIC0gYHN1c3ktc2xpY2UoKWAgKGFsaWFzZWQgYXMgYHNsaWNlYClcbi8vLyAgICAgdG8gcmV0dXJuIGEgc2xpY2Ugb2YgYXN5bW1ldHJpY2FsIGdyaWQuXG4vLy8gLSBCUkVBS0lORzogU2ltcGxpZnkgdG8gZm91ciBzZXR0aW5nczpcbi8vLyAgIC0gYGNvbHVtbnNgIHRvIGRlZmluZSB0aGUgZ3JpZCBjb2x1bW5zXG4vLy8gICAgIGFzIGEgbGlzdCBvZiBsZW5ndGhzIG9yIHVuaXRsZXNzIHJlbGF0aXZlIG51bWJlcnMuXG4vLy8gICAtIGBndXR0ZXJzYCB0byBkZWZpbmUgdGhlIGxlbmd0aCBvciByZWxhdGl2ZSBzaXplIG9mIGEgZ3V0dGVyLlxuLy8vICAgLSBgc3ByZWFkYCB0byBkZWZpbmUgdGhlIGRlZmF1bHQgc3ByZWFkIG9mIGEgc3BhblxuLy8vICAgICBhY3Jvc3MgYWRqYWNlbnQgZ3V0dGVycy5cbi8vLyAgIC0gYGNvbnRhaW5lci1zcHJlYWRgIHRvIGRlZmluZSB0aGUgZGVmYXVsdCBzcHJlYWQgb2YgYSBjb250YWluZXJcbi8vLyAgICAgYWNyb3NzIHNpZGUtZWRnZSBndXR0ZXJzLlxuLy8vIC0gQlJFQUtJTkc6IEFkZCBzdXBwb3J0IGZvciBgY2FsYygpYCBvdXRwdXQsXG4vLy8gICBzbyBtaXhlZC11bml0IGdyaWRzIGFyZSBwb3NzaWJsZS5cbi8vLyAgIFRoaXMgbWVhbnMgdGhlIG9sZCBpbnNpZGUtc3RhdGljIHNvbHV0aW9uXG4vLy8gICBoYXMgYmVlbiByZXBsYWNlZCBieSBjYWxjKCkgb3V0cHV0IGFzIHdlbGwuXG4vLy8gLSBCUkVBS0lORzogU2hvcnRoYW5kIHN5bnRheCBmb3Igb24tdGhlLWZseSBzcGFuIGFuZCBzZXR0aW5ncy5cbi8vLyAgIFRoaXMgaXMgc2ltaWxhciB0byB0aGUgcHJldmlvdXMgc2hvcnRoYW5kLFxuLy8vICAgYnV0IGhhcyBiZWVuIHNpbXBsaWZpZWQgdG8gcmVtb3ZlIG1peGluLXJlbGF0ZWQgZmVhdHVyZXMuXG4vLy8gICAtIHN0YXJ0aW5nIHdpdGggYSBjb3VudCwgbGVuZ3RoLCBvciBjb2x1bW4tbGlzdCBcInNwYW5cIlxuLy8vICAgLSBgYXQgJG5gLCBgZmlyc3RgLCBvciBgbGFzdGAgbG9jYXRpb24gb24gYXN5bW1ldHJpY2FsIGdyaWRzXG4vLy8gICAtIGBuYXJyb3dgLCBgd2lkZWAsIG9yIGB3aWRlcmAgZm9yIHNwcmVhZFxuLy8vICAgLSBgb2YgJG4gPHNwcmVhZD5gIGZvciBhdmFpbGFibGUgZ3JpZCBjb2x1bW5zIGFuZCBjb250YWluZXItc3ByZWFkXG4vLy8gICAtIGBzZXQtZ3V0dGVycyAkbmAgc2hvcnRoYW5kIHRvIG92ZXJyaWRlIGdsb2JhbCBndXR0ZXIgc2V0dGluZ3Ncbi8vLyAtIE5FVzogYHN1c3ktcmVwZWF0KClgIGZ1bmN0aW9uXG4vLy8gICB0byBnZW5lcmF0ZSByZXBlYXRpbmcgZ3JhZGllbnRzIHdpdGggdGhlIHNhbWUgc3ludGF4XG4vLy8gICBwcm92aWRlZCBpbiBDU1MgR3JpZCB0ZW1wbGF0ZXNcbi8vLyAtIE5FVzogU1ZHIEdyaWQgcGx1Z2luIChgc3VzeS9wbHVnaW5zL3N2Zy1ncmlkYCksXG4vLy8gICB0byBwcm92aWRlIGdyaWQtZGVidWdnaW5nIG9wdGlvbnNcbi8vLyAgIHdoZW4gYXBwbGllZCBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW55IGNvbnRhaW5lciBlbGVtZW50OlxuLy8vICAgLSBgc3ZnLWdyaWQtY29sb3JzYCBnbG9iYWwgc2V0dGluZyBhY2NlcHRzIG9uZSBvciBtb3JlIGNvbG9yc1xuLy8vICAgLSBgc3VzeS1zdmctZ3JpZCgpYCBmdW5jdGlvbiByZXR1cm5zIGlubGluZSBzdmdcbi8vLyAgICAgZm9yIHVzZSBpbiB0aGUgYGJhY2tncm91bmRgIG9yIGdlbmVyYXRlZCBgY29udGVudGAgcHJvcGVydGllc1xuLy8vIC0gTkVXOiBgc3VzeS1jb21waWxlKClgIGFuZCBgc3UtY2FsbCgpYCBwbHVnaW4gaGVscGVycyxcbi8vLyAgIHRvIGFpZGUgd2l0aCBjb252ZXJzaW9ucyBiZXR3ZWVuIHRoZSB1c2VyIEFQSSBhbmQgaW50ZXJuYWwgbWF0aCBmdW5jdGlvbnMuXG4vLy8gICBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIGFueW9uZSBidWlsZGluZyBTdXN5IGV4dGVuc2lvbnMgb3IgbWl4aW5zLlxuLy8vIC0gTkVXOiBwcmVmaXhlZCBhbmQgdW5wcmVmaXhlZCB2ZXJzaW9ucyBvZiBhbGwgbWFqb3IgQVBJIGZ1bmN0aW9ucy5cbi8vLyAtIE5FVzogYHN1c3ktdmVyc2lvbigpYCBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBhY3RpdmUgdmVyc2lvbiBudW1iZXIuXG4vLy9cbi8vLyBAZ3JvdXAgeC12ZXJzaW9uXG4vLy8gQGxpbmsgaHR0cDovL29kZGJpcmQubmV0L3N1c3kvIE9mZmljaWFsIFNpdGVcbi8vLyBAbGluayBodHRwOi8vb2RkYmlyZC5uZXQvc3VzeS9kb2NzLyBMYXRlc3QgRG9jc1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9vZGRiaXJkL3N1c3kvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HLm1kIEZ1bGwgQ2hhbmdlbG9nXG4vLy8gQGxpbmsgaHR0cDovL29kZGJpcmQubmV0LzIwMTcvMDYvMjgvc3VzeTMgSW50cm9kdWNpbmcgU3VzeTMgW2FydGljbGVdXG4vLy8gQGxpbmsgaHR0cDovL29kZGJpcmQubmV0LzIwMTcvMDYvMTMvc3VzeS1zcHJlYWQvIFVuZGVyc3RhbmRpbmcgU3ByZWFkIGluIFN1c3kzIFthcnRpY2xlXVxuIiwiLy8gU2FzcyBVdGlsaXRpZXNcbi8vID09PT09PT09PT09PT09XG4vLyAtIFN1c3kgRXJyb3IgT3V0cHV0IE92ZXJyaWRlIFt2YXJpYWJsZV1cbi8vIC0gU3VzeSBFcnJvciBbZnVuY3Rpb25dXG5cblxuXG4vLyBTdXN5IEVycm9yIE91dHB1dCBPdmVycmlkZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vLyBUdXJuIG9mZiBlcnJvciBvdXRwdXQgZm9yIHRlc3Rpbmdcbi8vLyBAZ3JvdXAgeC11dGlsaXR5XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4kX3N1c3ktZXJyb3Itb3V0cHV0LW92ZXJyaWRlOiBmYWxzZSAhZGVmYXVsdDtcblxuXG5cbi8vIFN1c3kgRXJyb3Jcbi8vIC0tLS0tLS0tLS1cbi8vLyBPcHRpb25hbGx5IHJldHVybiBlcnJvciBtZXNzYWdlcyB3aXRob3V0IGZhaWxpbmcsXG4vLy8gYXMgYSB3YXkgdG8gdGVzdCBlcnJvciBjYXNlc1xuLy8vXG4vLy8gQGdyb3VwIHgtdXRpbGl0eVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRtZXNzYWdlIC1cbi8vLyAgIEEgdXNlZnVsIGVycm9yIG1lc3NhZ2UsIGV4cGxhaW5pbmcgdGhlIHByb2JsZW1cbi8vLyBAcGFyYW0ge3N0cmluZ30gJHNvdXJjZSAtXG4vLy8gICBUaGUgb3JpZ2luYWwgc291cmNlIG9mIHRoZSBlcnJvciBmb3IgZGVidWdnaW5nXG4vLy8gQHBhcmFtIHtib29sfSAkb3ZlcnJpZGUgWyRfc3VzeS1lcnJvci1vdXRwdXQtb3ZlcnJpZGVdIC1cbi8vLyAgIE9wdGlvbmFsbHkgcmV0dXJuIHRoZSBlcnJvciByYXRoZXIgdGhhbiBmYWlsaW5nXG4vLy8gQHJldHVybiB7c3RyaW5nfSAtXG4vLy8gICBDb21iaW5lZCBlcnJvciB3aXRoIHNvdXJjZSBhbmQgbWVzc2FnZVxuLy8vIEB0aHJvd3MgV2hlbiBgJG92ZXJyaWRlID09IHRydWVgXG5AZnVuY3Rpb24gX3N1c3ktZXJyb3IoXG4gICRtZXNzYWdlLFxuICAkc291cmNlLFxuICAkb3ZlcnJpZGU6ICRfc3VzeS1lcnJvci1vdXRwdXQtb3ZlcnJpZGVcbikge1xuICBAaWYgJG92ZXJyaWRlIHtcbiAgICBAcmV0dXJuICdFUlJPUiBbI3skc291cmNlfV0gI3skbWVzc2FnZX0nO1xuICB9XG5cbiAgQGVycm9yICdbI3skc291cmNlfV0gI3skbWVzc2FnZX0nO1xufVxuXG5cbi8vIFN1IElzIENvbXBhcmFibGVcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vLyBDaGVjayB0aGF0IHRoZSB1bml0cyBpbiBhIGdyaWQgYXJlIGNvbXBhcmFibGVcbi8vL1xuLy8vIEBncm91cCB4LXZhbGlkYXRpb25cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyc30gJGxlbmd0aHPigKYgLVxuLy8vICAgQXJnbGlzdCBvZiBhbGwgdGhlIG51bWJlciB2YWx1ZXMgdG8gY29tcGFyZVxuLy8vICAgKGNvbHVtbnMsIGd1dHRlcnMsIHNwYW4sIGV0Yylcbi8vL1xuLy8vIEByZXR1cm4geydmbHVpZCcgfCAnc3RhdGljJyB8IGZhbHNlfSAtXG4vLy8gICBUaGUgdHlwZSBvZiBzcGFuIChmbHVpZCBvciBzdGF0aWMpIHdoZW4gdW5pdHMgbWF0Y2gsXG4vLy8gICBvciBgZmFsc2VgIGZvciBtaXNtYXRjaGVkIHVuaXRzXG5AZnVuY3Rpb24gX3N1LWlzLWNvbXBhcmFibGUoXG4gICRsZW5ndGhzLi4uXG4pIHtcbiAgJGZpcnN0OiBudGgoJGxlbmd0aHMsIDEpO1xuXG4gIEBpZiAobGVuZ3RoKCRsZW5ndGhzKSA9PSAxKSB7XG4gICAgQHJldHVybiBpZih1bml0bGVzcygkZmlyc3QpLCAnZmx1aWQnLCAnc3RhdGljJyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkbGVuZ3Rocykge1xuICAgICRjb21wOiBudGgoJGxlbmd0aHMsICRpKTtcblxuICAgICRmYWlsOiBub3QgY29tcGFyYWJsZSgkZmlyc3QsICRjb21wKTtcbiAgICAkZmFpbDogJGZhaWwgb3IgKHVuaXRsZXNzKCRmaXJzdCkgYW5kIG5vdCB1bml0bGVzcygkY29tcCkpO1xuICAgICRmYWlsOiAkZmFpbCBvciAodW5pdGxlc3MoJGNvbXApIGFuZCBub3QgdW5pdGxlc3MoJGZpcnN0KSk7XG5cbiAgICBAaWYgJGZhaWwge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHVuaXRsZXNzKCRmaXJzdCksICdmbHVpZCcsICdzdGF0aWMnKTtcbn1cblxuXG4vLyBTdSBNYXAgQWRkIFVuaXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLy8gVGhlIGNhbGMgZmVhdHVyZXMgdXNlIGEgbWFwIG9mIHVuaXRzIGFuZCB2YWx1ZXNcbi8vLyB0byBjb21waWxlIHRoZSBwcm9wZXIgYWxnb3J5dGhtLlxuLy8vIFRoaXMgZnVuY3Rpb24gYWRkcyBhIG5ldyB2YWx1ZSB0byBhbnkgY29tcGFyYWJsZSBleGlzdGluZyB1bml0L3ZhbHVlLFxuLy8vIG9yIGFkZHMgYSBuZXcgdW5pdC92YWx1ZSBwYWlyIHRvIHRoZSBtYXBcbi8vL1xuLy8vIEBncm91cCB4LXV0aWxpdHlcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bWFwfSAkbWFwIC1cbi8vLyAgIEEgbWFwIG9mIHVuaXQvdmFsdWUgcGFpcnMsIGUuZy4gKCdweCc6IDEyMHB4KVxuLy8vIEBwYXJhbSB7bGVuZ3RofSAkdmFsdWUgLVxuLy8vICAgQSBuZXcgbGVuZ3RoIHRvIGJlIGFkZGVkIHRvIHRoZSBtYXBcbi8vLyBAcmV0dXJuIHttYXB9IC1cbi8vLyAgIFRoZSB1cGRhdGVkIG1hcCwgd2l0aCBuZXcgdmFsdWUgYWRkZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLVxuLy8vICAgJG1hcDogKDBweDogMTIwcHgpO1xuLy8vICAgJG1hcDogX3N1LW1hcC1hZGQtdW5pdHMoJG1hcCwgMWluKTsgLy8gYWRkIGEgY29tcGFyYWJsZSB1bml0XG4vLy8gICAkbWFwOiBfc3UtbWFwLWFkZC11bml0cygkbWFwLCAzdncpOyAvLyBhZGQgYSBuZXcgdW5pdFxuLy8vXG4vLy8gICBAZWFjaCAkdW5pdHMsICR2YWx1ZSBpbiAkbWFwIHtcbi8vLyAgICAgLyogI3skdW5pdHN9OiAjeyR2YWx1ZX0gKi9cbi8vLyAgIH1cbkBmdW5jdGlvbiBfc3UtbWFwLWFkZC11bml0cyhcbiAgJG1hcCxcbiAgJHZhbHVlXG4pIHtcbiAgJHVuaXQ6ICR2YWx1ZSAqIDA7XG4gICRoYXM6IG1hcC1nZXQoJG1hcCwgJHVuaXQpIG9yIDA7XG5cbiAgQGlmICgkaGFzID09IDApIHtcbiAgICBAZWFjaCAkdHJ5LCAkY291bGQgaW4gJG1hcCB7XG4gICAgICAkbWF0Y2g6IGNvbXBhcmFibGUoJHRyeSwgJHZhbHVlKTtcbiAgICAgICR1bml0OiBpZigkbWF0Y2gsICR0cnksICR1bml0KTtcbiAgICAgICRoYXM6IGlmKCRtYXRjaCwgJGNvdWxkLCAkaGFzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkbWFwLCAoJHVuaXQ6ICRoYXMgKyAkdmFsdWUpKTtcbn1cblxuXG4vLyBTdXN5IEZsYXR0ZW5cbi8vIC0tLS0tLS0tLS0tLVxuLy8vIEZsYXR0ZW4gYSBtdWx0aWRpbWVuc2lvbmFsIGxpc3Rcbi8vL1xuLy8vIEBncm91cCB4LXV0aWxpdHlcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJGxpc3QgLVxuLy8vICAgVGhlIGxpc3QgdG8gYmUgZmxhdHRlbmVkXG4vLy8gQHJldHVybiB7bGlzdH0gLVxuLy8vICAgVGhlIGZsYXR0ZW5lZCBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC1cbi8vLyAgICRsaXN0OiAxMjBweCAoMzBlbSAzMGVtKSAxMjBweDtcbi8vLyAgIC8qICN7X3N1c3ktZmxhdHRlbigkbGlzdCl9ICovXG5AZnVuY3Rpb24gX3N1c3ktZmxhdHRlbihcbiAgJGxpc3Rcbikge1xuICAkZmxhdDogKCk7XG5cbiAgLy8gRG9uJ3QgaXRlcmF0ZSBvdmVyIG1hcHNcbiAgQGlmICh0eXBlLW9mKCRsaXN0KSA9PSAnbWFwJykge1xuICAgIEByZXR1cm4gJGxpc3Q7XG4gIH1cblxuICAvLyBJdGVyYXRlIG92ZXIgbGlzdHMgKG9yIHNpbmdsZSBpdGVtcylcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiAodHlwZS1vZigkaXRlbSkgPT0gJ2xpc3QnKSB7XG4gICAgICAkaXRlbTogX3N1c3ktZmxhdHRlbigkaXRlbSk7XG4gICAgICAkZmxhdDogam9pbigkZmxhdCwgJGl0ZW0pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGZsYXQ6IGFwcGVuZCgkZmxhdCwgJGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybiBmbGF0dGVuZWQgbGlzdFxuICBAcmV0dXJuICRmbGF0O1xufVxuIiwiLy8vIFZhbGlkYXRpb25cbi8vLyA9PT09PT09PT09XG4vLy8gRWFjaCBhcmd1bWVudCB0byBTdSBoYXMgYSBzaW5nbGUgY2Fub25pY2FsIHN5bnRheC5cbi8vLyBUaGVzZSB2YWxpZGF0aW9uIGZ1bmN0aW9ucyBjaGVjayB0byBlbnN1cmVcbi8vLyB0aGF0IGVhY2ggYXJndW1lbnQgaXMgdmFsaWQsXG4vLy8gaW4gb3JkZXIgdG8gcHJvdmlkZSB1c2VmdWwgZXJyb3JzXG4vLy8gYmVmb3JlIGF0dGVtcHRpbmcgdG8gY2FsY3VsYXRlIHRoZSByZXN1bHRzL1xuLy8vXG4vLy8gQGdyb3VwIHgtdmFsaWRhdGlvblxuLy8vXG4vLy8gQHNlZSBzdS12YWxpZC1jb2x1bW5zXG4vLy8gQHNlZSBzdS12YWxpZC1ndXR0ZXJzXG4vLy8gQHNlZSBzdS12YWxpZC1zcHJlYWRcbi8vLyBAc2VlIHN1LXZhbGlkLWxvY2F0aW9uXG5cblxuXG4vLyBWYWxpZCBTcGFuXG4vLyAtLS0tLS0tLS0tXG4vLy8gQ2hlY2sgdGhhdCB0aGUgYHNwYW5gIGFyZ3VtZW50XG4vLy8gaXMgYSBudW1iZXIsIGxlbmd0aCwgb3IgY29sdW1uLWxpc3Rcbi8vL1xuLy8vIEBncm91cCB4LXZhbGlkYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyIHwgbGlzdH0gJHNwYW4gLVxuLy8vICAgTnVtYmVyIG9mIGNvbHVtbnMsIG9yIGxlbmd0aCBvZiBzcGFuXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXIgfCBsaXN0fSAtXG4vLy8gICBWYWxpZGF0ZWQgYCRzcGFuYCBudW1iZXIsIGxlbmd0aCwgb3IgY29sdW1ucyBsaXN0XG4vLy9cbi8vLyBAdGhyb3dcbi8vLyAgIHdoZW4gc3BhbiB2YWx1ZSBpcyBub3QgYSBudW1iZXIsIG9yIHZhbGlkIGNvbHVtbiBsaXN0XG5AZnVuY3Rpb24gc3UtdmFsaWQtc3BhbihcbiAgJHNwYW5cbikge1xuICAkdHlwZTogdHlwZS1vZigkc3Bhbik7XG4gIEBpZiAoJHR5cGUgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICRzcGFuO1xuICB9IEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIGFuZCBzdS12YWxpZC1jb2x1bW5zKCRzcGFuLCAnc2lsZW50LWZhaWx1cmUnKSB7XG4gICAgQHJldHVybiAkc3BhbjtcbiAgfVxuXG4gICRhY3R1YWw6ICdbI3t0eXBlLW9mKCRzcGFuKX1dIGAje2luc3BlY3QoJHNwYW4pfWAnO1xuICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICcjeyRhY3R1YWx9IGlzIG5vdCBhIHZhbGlkIG51bWJlciwgbGVuZ3RoLCBvciBjb2x1bW4tbGlzdCBmb3IgJHNwYW4uJyxcbiAgICAnc3UtdmFsaWQtc3BhbicpO1xufVxuXG5cblxuLy8gVmFsaWQgQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8vIENoZWNrIHRoYXQgdGhlIGBjb2x1bW5zYCBhcmd1bWVudCBpcyBhIHZhbGlkXG4vLy8gbGlzdCBvZiBjb2x1bW4tbGVuZ3Roc1xuLy8vXG4vLy8gQGdyb3VwIHgtdmFsaWRhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbi1sZW5ndGhzXG4vLy8gQHBhcmFtIHtib29sfSAkc2lsZW50LWZhaWx1cmUgW3RydWVdIC1cbi8vLyAgIFNldCBmYWxzZSB0byByZXR1cm4gbnVsbCBvbiBmYWlsdXJlXG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fSAtXG4vLy8gICBWYWxpZGF0ZWQgYCRjb2x1bW5zYCBsaXN0XG4vLy9cbi8vLyBAdGhyb3dcbi8vLyAgIHdoZW4gY29sdW1uIHZhbHVlIGlzIG5vdCBhIHZhbGlkIGxpc3Qgb2YgbnVtYmVyc1xuQGZ1bmN0aW9uIHN1LXZhbGlkLWNvbHVtbnMoXG4gICRjb2x1bW5zLFxuICAkc2lsZW50LWZhaWx1cmU6IGZhbHNlXG4pIHtcbiAgQGlmICh0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcpIHtcbiAgICAkZmFpbDogZmFsc2U7XG5cbiAgICBAZWFjaCAkY29sIGluICRjb2x1bW5zIHtcbiAgICAgIEBpZiAodHlwZS1vZigkY29sKSAhPSAnbnVtYmVyJykge1xuICAgICAgICAkZmFpbDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICRmYWlsIHtcbiAgICAgIEByZXR1cm4gJGNvbHVtbnM7XG4gICAgfVxuICB9XG5cbiAgLy8gU2lsZW50IEZhaWx1cmVcbiAgQGlmICRzaWxlbnQtZmFpbHVyZSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gRXJyb3IgTWVzc2FnZVxuICAkYWN0dWFsOiAnWyN7dHlwZS1vZigkY29sdW1ucyl9XSBgI3tpbnNwZWN0KCRjb2x1bW5zKX1gJztcblxuICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICcjeyRhY3R1YWx9IGlzIG5vdCBhIHZhbGlkIGxpc3Qgb2YgbnVtYmVycyBmb3IgJGNvbHVtbnMuJyxcbiAgICAnc3UtdmFsaWQtY29sdW1ucycpO1xufVxuXG5cblxuLy8gVmFsaWQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8vIENoZWNrIHRoYXQgdGhlIGBndXR0ZXJzYCBhcmd1bWVudCBpcyBhIHZhbGlkIG51bWJlclxuLy8vXG4vLy8gQGdyb3VwIHgtdmFsaWRhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXJ9IC1cbi8vLyAgIFZhbGlkYXRlZCBgJGd1dHRlcnNgIG51bWJlclxuLy8vXG4vLy8gQHRocm93XG4vLy8gICB3aGVuIGd1dHRlciB2YWx1ZSBpcyBub3QgYSBudW1iZXJcbkBmdW5jdGlvbiBzdS12YWxpZC1ndXR0ZXJzKFxuICAkZ3V0dGVyc1xuKSB7XG4gICR0eXBlOiB0eXBlLW9mKCRndXR0ZXJzKTtcblxuICBAaWYgKCR0eXBlID09ICdudW1iZXInKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gICRhY3R1YWw6ICdbI3skdHlwZX1dIGAje2luc3BlY3QoJGd1dHRlcnMpfWAnO1xuICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICcjeyRhY3R1YWx9IGlzIG5vdCBhIG51bWJlciBvciBsZW5ndGggZm9yICRndXR0ZXJzLicsXG4gICAgJ3N1LXZhbGlkLWd1dHRlcnMnKTtcbn1cblxuXG5cbi8vIFZhbGlkIFNwcmVhZFxuLy8gLS0tLS0tLS0tLS0tXG4vLy8gQ2hlY2sgdGhhdCB0aGUgYHNwcmVhZGAgYXJndW1lbnQgaXMgYSB2YWxpZFxuLy8vIGludGlnZXIgYmV0d2VlbiBgLTFgIGFuZCBgMWBcbi8vL1xuLy8vIEBncm91cCB4LXZhbGlkYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyB0byBpbmNsdWRlIGluIGEgc3Bhbixcbi8vLyAgIHJlbGF0aXZlIHRvIHRoZSBudW1iZXIgY29sdW1uc1xuLy8vXG4vLy8gQHJldHVybiB7MCB8IDEgfCAtMX0gLVxuLy8vICAgVmFsaWRhdGVkIGAkc3ByZWFkYCBudW1iZXJcbi8vL1xuLy8vIEB0aHJvd1xuLy8vICAgd2hlbiBzcHJlYWQgdmFsdWUgaXMgbm90IGEgdmFsaWQgc3ByZWFkXG5AZnVuY3Rpb24gc3UtdmFsaWQtc3ByZWFkKFxuICAkc3ByZWFkXG4pIHtcbiAgQGlmIGluZGV4KDAgMSAtMSwgJHNwcmVhZCkge1xuICAgIEByZXR1cm4gJHNwcmVhZDtcbiAgfVxuXG4gICRhY3R1YWw6ICdbI3t0eXBlLW9mKCRzcHJlYWQpfV0gYCN7aW5zcGVjdCgkc3ByZWFkKX1gJztcbiAgQHJldHVybiBfc3VzeS1lcnJvcihcbiAgICAnI3skYWN0dWFsfSBpcyBub3QgYSBub3JtYWxpemVkIFswIHwgMSB8IC0xXSB2YWx1ZSBmb3IgYCRzcHJlYWRgLicsXG4gICAgJ3N1LXZhbGlkLXNwcmVhZCcpO1xufVxuXG5cblxuLy8gVmFsaWQgTG9jYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG4vLy8gQ2hlY2sgdGhhdCB0aGUgYGxvY2F0aW9uYCBhcmd1bWVudCBpcyBhIHZhbGlkIG51bWJlcixcbi8vLyB3aXRoaW4gdGhlIHNjb3BlIG9mIGF2YWlsYWJsZSBjb2x1bW5zXG4vLy9cbi8vLyBAZ3JvdXAgeC12YWxpZGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge251bWJlcn0gJHNwYW4gLVxuLy8vICAgTnVtYmVyIG9mIGdyaWQtY29sdW1ucyB0byBiZSBzcGFubmVkXG4vLy8gQHBhcmFtIHtpbnRlZ2VyIHwgc3RyaW5nfSAkbG9jYXRpb24gLVxuLy8vICAgU3RhcnRpbmcgKDEtaW5kZXhlZCkgY29sdW1uLXBvc2l0aW9uIG9mIHRoYXQgc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBhdmFpbGFibGUgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vXG4vLy8gQHJldHVybiB7aW50ZWdlcn0gLVxuLy8vICAgVmFsaWRhdGVkIGAkbG9jYXRpb25gIGludGlnZXJcbi8vL1xuLy8vIEB0aHJvd1xuLy8vICAgd2hlbiBsb2NhdGlvbiB2YWx1ZSBpcyBub3QgYSB2YWxpZCBpbmRleCxcbi8vLyAgIGdpdmVuIHRoZSBjb250ZXh0IGFuZCBzcGFuLlxuQGZ1bmN0aW9uIHN1LXZhbGlkLWxvY2F0aW9uKFxuICAkc3BhbixcbiAgJGxvY2F0aW9uLFxuICAkY29sdW1uc1xuKSB7XG4gICRjb3VudDogbGVuZ3RoKCRjb2x1bW5zKTtcblxuICBAaWYgJGxvY2F0aW9uIHtcbiAgICBAaWYgKHR5cGUtb2YoJGxvY2F0aW9uKSAhPSAnbnVtYmVyJykgb3IgKG5vdCB1bml0bGVzcygkbG9jYXRpb24pKSB7XG4gICAgICAkYWN0dWFsOiAnWyN7dHlwZS1vZigkbG9jYXRpb24pfV0gYCN7JGxvY2F0aW9ufWAnO1xuICAgICAgQHJldHVybiBfc3VzeS1lcnJvcihcbiAgICAgICAgJyN7JGFjdHVhbH0gaXMgbm90IGEgdW5pdGxlc3MgbnVtYmVyIGZvciAkbG9jYXRpb24uJyxcbiAgICAgICAgJ3N1LXZhbGlkLWxvY2F0aW9uJyk7XG4gICAgfSBAZWxzZSBpZiAocm91bmQoJGxvY2F0aW9uKSAhPSAkbG9jYXRpb24pIHtcbiAgICAgIEByZXR1cm4gX3N1c3ktZXJyb3IoXG4gICAgICAgICdMb2NhdGlvbiAoYCN7JGxvY2F0aW9ufWApIG11c3QgYmUgYSAxLWluZGV4ZWQgaW50aWdlciBwb3NpdGlvbi4nLFxuICAgICAgICAnc3UtdmFsaWQtbG9jYXRpb24nKTtcbiAgICB9IEBlbHNlIGlmICgkbG9jYXRpb24gPiAkY291bnQpIG9yICgkbG9jYXRpb24gPCAxKSB7XG4gICAgICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICAgICAnUG9zaXRpb24gYCN7JGxvY2F0aW9ufWAgZG9lcyBub3QgZXhpc3QgaW4gZ3JpZCBgI3skY29sdW1uc31gLicsXG4gICAgICAgICdzdS12YWxpZC1sb2NhdGlvbicpO1xuICAgIH0gQGVsc2UgaWYgKCRsb2NhdGlvbiArICRzcGFuIC0gMSA+ICRjb3VudCkge1xuICAgICAgJGRldGFpbHM6ICdncmlkIGAjeyRjb2x1bW5zfWAgZm9yIHNwYW4gYCN7JHNwYW59YCBhdCBgI3skbG9jYXRpb259YCc7XG4gICAgICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICAgICAnVGhlcmUgYXJlIG5vdCBlbm91Z2ggY29sdW1ucyBpbiAjeyRkZXRhaWxzfS4nLFxuICAgICAgICAnc3UtdmFsaWQtbG9jYXRpb24nKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsb2NhdGlvbjtcbn1cbiIsIi8vLyBHcmlkIE1hdGggRW5naW5lXG4vLy8gPT09PT09PT09PT09PT09PVxuLy8vIFRoZSBgc3VgIGZ1bmN0aW9ucyBnaXZlIHlvdSBkaXJlY3QgYWNjZXNzIHRvIHRoZSBtYXRoIGxheWVyLFxuLy8vIHdpdGhvdXQgYW55IHN5bnRheC1zdWdhciBsaWtlIHNob3J0aGFuZCBwYXJzaW5nLCBhbmQgbm9ybWFsaXphdGlvbi5cbi8vLyBJZiB5b3UgcHJlZmVyIG5hbWVkIGFyZ3VtZW50cywgYW5kIHN0cmlwcGVkLWRvd24gc3ludGF4LFxuLy8vIHlvdSBjYW4gdXNlIHRoZXNlIGZ1bmN0aW9ucyBkaXJlY3RseSBpbiB5b3VyIGNvZGUg4oCTXG4vLy8gcmVwbGFjaW5nIGBzcGFuYCwgYGd1dHRlcmAsIGFuZCBgc2xpY2VgLlxuLy8vXG4vLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBhbHNvIHVzZWZ1bFxuLy8vIGZvciBidWlsZGluZyBtaXhpbnMgb3Igb3RoZXIgZXh0ZW5zaW9ucyB0byBTdXN5LlxuLy8vIEFwcGx5IHRoZSBTdXN5IHN5bnRheCB0byBuZXcgbWl4aW5zIGFuZCBmdW5jdGlvbnMsXG4vLy8gdXNpbmcgb3VyIFwiUGx1Z2luIEhlbHBlcnNcIixcbi8vLyBvciB3cml0ZSB5b3VyIG93biBzeW50YXggYW5kIHBhc3MgdGhlIG5vcm1hbGl6ZWQgcmVzdWx0cyBhbG9uZ1xuLy8vIHRvIGBzdWAgZm9yIGNvbXBpbGF0aW9uLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vL1xuLy8vIEBzZWUgc3Utc3BhblxuLy8vIEBzZWUgc3UtZ3V0dGVyXG4vLy8gQHNlZSBzdS1zbGljZVxuLy8vIEBpZ25vcmUgX3N1LXN1bVxuLy8vIEBpZ25vcmUgX3N1LWNhbGMtc3BhblxuLy8vIEBpZ25vcmUgX3N1LWNhbGMtc3VtXG4vLy8gQGlnbm9yZSBfc3UtbmVlZHMtY2FsYy1vdXRwdXRcblxuXG5cbi8vIFN1IFNwYW5cbi8vIC0tLS0tLS1cbi8vLyBDYWxjdWxhdGVzIGFuZCByZXR1cm5zIGEgQ1NTLXJlYWR5IHNwYW4gd2lkdGgsXG4vLy8gYmFzZWQgb24gbm9ybWFsaXplZCBzcGFuIGFuZCBjb250ZXh0IGRhdGEg4oCTXG4vLy8gYSBsb3ctbGV2ZWwgdmVyc2lvbiBvZiBgc3VzeS1zcGFuYCxcbi8vLyB3aXRoIGFsbCBvZiB0aGUgbG9naWMgYW5kIG5vbmUgb2YgdGhlIHN5bnRheCBzdWdhci5cbi8vL1xuLy8vIC0gR3JpZHMgZGVmaW5lZCB3aXRoIHVuaXRsZXNzIG51bWJlcnMgd2lsbCByZXR1cm4gYCVgIHZhbHVlcy5cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCBjb21wYXJhYmxlIHVuaXRzXG4vLy8gICB3aWxsIHJldHVybiBhIHZhbHVlIGluIHRoZSB1bml0cyBwcm92aWRlZC5cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCBhIG1peCBvZiB1bml0cyxcbi8vLyAgIG9yIGEgY29tYmluYXRpb24gb2YgdW50aWxlc3MgbnVtYmVycyBhbmQgdW5pdC1sZW5ndGhzLFxuLy8vICAgd2lsbCByZXR1cm4gYSBgY2FsYygpYCBzdHJpbmcuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBzZWUgc3VzeS1zcGFuXG4vLy9cbi8vLyBAcGFyYW0ge251bWJlciB8IGxpc3R9ICRzcGFuIC1cbi8vLyAgIE51bWJlciBvciBsaXN0IG9mIGdyaWQgY29sdW1ucyB0byBzcGFuXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyIGluIGNvbHVtbi1jb21wYXJhYmxlIHVuaXRzXG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkc3ByZWFkIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgc3BhbmAgY291bnRcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRjb250YWluZXItc3ByZWFkIFskc3ByZWFkXSAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYGNvbHVtbnNgIGNvdW50XG4vLy8gQHBhcmFtIHtpbnRlZ2VyfSAkbG9jYXRpb24gWzFdIC1cbi8vLyAgIE9wdGlvbmFsIHBvc2l0aW9uIG9mIHN1Yi1zcGFuIGFtb25nIGZ1bGwgc2V0IG9mIGNvbHVtbnNcbi8vL1xuLy8vIEByZXR1cm4ge2xlbmd0aH0gLVxuLy8vICAgUmVsYXRpdmUgb3Igc3RhdGljIGxlbmd0aCBvZiBhIHNwYW4gb24gdGhlIGdyaWRcbkBmdW5jdGlvbiBzdS1zcGFuKFxuICAkc3BhbixcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkc3ByZWFkLFxuICAkY29udGFpbmVyLXNwcmVhZDogJHNwcmVhZCxcbiAgJGxvY2F0aW9uOiAxXG4pIHtcbiAgJHNwYW46IHN1LXZhbGlkLXNwYW4oJHNwYW4pO1xuICAkY29sdW1uczogc3UtdmFsaWQtY29sdW1ucygkY29sdW1ucyk7XG4gICRndXR0ZXJzOiBzdS12YWxpZC1ndXR0ZXJzKCRndXR0ZXJzKTtcbiAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuXG4gIEBpZiAodHlwZS1vZigkc3BhbikgPT0gJ251bWJlcicpIHtcbiAgICBAaWYgKG5vdCB1bml0bGVzcygkc3BhbikpIHtcbiAgICAgIEByZXR1cm4gJHNwYW47XG4gICAgfVxuXG4gICAgJGxvY2F0aW9uOiBzdS12YWxpZC1sb2NhdGlvbigkc3BhbiwgJGxvY2F0aW9uLCAkY29sdW1ucyk7XG4gICAgJHNwYW46IHN1LXNsaWNlKCRzcGFuLCAkY29sdW1ucywgJGxvY2F0aW9uLCAkdmFsaWRhdGU6IGZhbHNlKTtcbiAgfVxuXG4gIEBpZiBfc3UtbmVlZHMtY2FsYy1vdXRwdXQoJHNwYW4sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCwgbm90ICd2YWxpZGF0ZScpIHtcbiAgICBAcmV0dXJuIF9zdS1jYWxjLXNwYW4oJHNwYW4sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCwgJGNvbnRhaW5lci1zcHJlYWQsIG5vdCAndmFsaWRhdGUnKTtcbiAgfVxuXG4gICRzcGFuLXdpZHRoOiBfc3Utc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCwgJHZhbGlkYXRlOiBmYWxzZSk7XG5cbiAgQGlmIHVuaXRsZXNzKCRzcGFuLXdpZHRoKSB7XG4gICAgJGNvbnRhaW5lci1zcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkY29udGFpbmVyLXNwcmVhZCk7XG4gICAgJGNvbnRhaW5lcjogX3N1LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsICRjb250YWluZXItc3ByZWFkLCAkdmFsaWRhdGU6IGZhbHNlKTtcbiAgICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHNwYW4td2lkdGggLyAkY29udGFpbmVyKTtcbiAgfVxuXG4gIEByZXR1cm4gJHNwYW4td2lkdGg7XG59XG5cblxuXG4vLyBTdSBHdXR0ZXJcbi8vIC0tLS0tLS0tLVxuLy8vIENhbGN1bGF0ZXMgYW5kIHJldHVybnMgYSBDU1MtcmVhZHkgZ3V0dGVyIHdpZHRoLFxuLy8vIGJhc2VkIG9uIG5vcm1hbGl6ZWQgZ3JpZCBkYXRhIOKAk1xuLy8vIGEgbG93LWxldmVsIHZlcnNpb24gb2YgYHN1c3ktZ3V0dGVyYCxcbi8vLyB3aXRoIGFsbCBvZiB0aGUgbG9naWMgYW5kIG5vbmUgb2YgdGhlIHN5bnRheCBzdWdhci5cbi8vL1xuLy8vIC0gR3JpZHMgZGVmaW5lZCB3aXRoIHVuaXRsZXNzIG51bWJlcnMgd2lsbCByZXR1cm4gYCVgIHZhbHVlcy5cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCBjb21wYXJhYmxlIHVuaXRzXG4vLy8gICB3aWxsIHJldHVybiBhIHZhbHVlIGluIHRoZSB1bml0cyBwcm92aWRlZC5cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCBhIG1peCBvZiB1bml0cyxcbi8vLyAgIG9yIGEgY29tYmluYXRpb24gb2YgdW50aWxlc3MgbnVtYmVycyBhbmQgdW5pdC1sZW5ndGhzLFxuLy8vICAgd2lsbCByZXR1cm4gYSBgY2FsYygpYCBzdHJpbmcuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBzZWUgc3VzeS1ndXR0ZXJcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGluIHRoZSBncmlkXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyIGluIGNvbHVtbi1jb21wYXJhYmxlIHVuaXRzXG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkY29udGFpbmVyLXNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYGNvbHVtbnNgIGNvdW50XG4vLy9cbi8vLyBAcmV0dXJuIHtsZW5ndGh9IC1cbi8vLyAgIFJlbGF0aXZlIG9yIHN0YXRpYyBsZW5ndGggb2Ygb25lIGd1dHRlciBpbiBhIGdyaWRcbkBmdW5jdGlvbiBzdS1ndXR0ZXIoXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJGNvbnRhaW5lci1zcHJlYWRcbikge1xuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgQGlmICgkZ3V0dGVycyA9PSAwKSBvciAobm90IHVuaXRsZXNzKCRndXR0ZXJzKSkge1xuICAgICAgQHJldHVybiAkZ3V0dGVycztcbiAgICB9XG4gIH1cblxuICBAaWYgX3N1LW5lZWRzLWNhbGMtb3V0cHV0KCRndXR0ZXJzLCAkY29sdW1ucywgJGd1dHRlcnMsIC0xLCBub3QgJ3ZhbGlkYXRlJykge1xuICAgIEByZXR1cm4gX3N1LWNhbGMtc3BhbigkZ3V0dGVycywgJGNvbHVtbnMsICRndXR0ZXJzLCAtMSwgJGNvbnRhaW5lci1zcHJlYWQsIG5vdCAndmFsaWRhdGUnKTtcbiAgfVxuXG4gICRjb250YWluZXI6IF9zdS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCAkY29udGFpbmVyLXNwcmVhZCk7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVycyAvICRjb250YWluZXIpO1xufVxuXG5cblxuLy8gU3UgU2xpY2Vcbi8vIC0tLS0tLS0tXG4vLy8gUmV0dXJucyBhIGxpc3Qgb2YgY29sdW1uc1xuLy8vIGJhc2VkIG9uIGEgZ2l2ZW4gc3Bhbi9sb2NhdGlvbiBzbGljZSBvZiB0aGUgZ3JpZCDigJNcbi8vLyBhIGxvdy1sZXZlbCB2ZXJzaW9uIG9mIGBzdXN5LXNsaWNlYCxcbi8vLyB3aXRoIGFsbCBvZiB0aGUgbG9naWMgYW5kIG5vbmUgb2YgdGhlIHN5bnRheCBzdWdhci5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQHNlZSBzdXN5LXNsaWNlXG4vLy9cbi8vLyBAcGFyYW0ge251bWJlcn0gJHNwYW4gLVxuLy8vICAgTnVtYmVyIG9mIGdyaWQgY29sdW1ucyB0byBzcGFuXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWRcbi8vLyBAcGFyYW0ge251bWJlcn0gJGxvY2F0aW9uIFsxXSAtXG4vLy8gICBTdGFydGluZyBpbmRleCBvZiBhIHNwYW4gaW4gdGhlIGxpc3Qgb2YgY29sdW1uc1xuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge2xpc3R9IC1cbi8vLyAgIFN1YnNldCBsaXN0IG9mIGdyaWQgY29sdW1ucywgYmFzZWQgb24gc3BhbiBhbmQgbG9jYXRpb25cbkBmdW5jdGlvbiBzdS1zbGljZShcbiAgJHNwYW4sXG4gICRjb2x1bW5zLFxuICAkbG9jYXRpb246IDEsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgICAkbG9jYXRpb246IHN1LXZhbGlkLWxvY2F0aW9uKCRzcGFuLCAkbG9jYXRpb24sICRjb2x1bW5zKTtcbiAgfVxuXG4gICRmbG9vcjogZmxvb3IoJHNwYW4pO1xuICAkc3ViLWNvbHVtbnM6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkbG9jYXRpb24gdG8gKCRsb2NhdGlvbiArICRmbG9vcikge1xuICAgICRzdWItY29sdW1uczogYXBwZW5kKCRzdWItY29sdW1ucywgbnRoKCRjb2x1bW5zLCAkaSkpO1xuICB9XG5cbiAgQGlmICRmbG9vciAhPSAkc3BhbiB7XG4gICAgJHJlbWFpbmRlcjogJHNwYW4gLSAkZmxvb3I7XG4gICAgJGNvbHVtbjogJGxvY2F0aW9uICsgJGZsb29yO1xuICAgICRzdWItY29sdW1uczogYXBwZW5kKCRzdWItY29sdW1ucywgbnRoKCRjb2x1bW5zLCAkY29sdW1uKSAqICRyZW1haW5kZXIpO1xuICB9XG5cbiAgQHJldHVybiAkc3ViLWNvbHVtbnM7XG59XG5cblxuXG4vLyBTdSBTdW1cbi8vIC0tLS0tLVxuLy8vIEdldCB0aGUgdG90YWwgc3VtIG9mIGNvbHVtbi11bml0cyBpbiBhIGxheW91dC5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYGNvbHVtbnNgIGNvdW50XG4vLy8gQHBhcmFtIHtib29sfSAkdmFsaWRhdGUgW3RydWVdIC1cbi8vLyAgIENoZWNrIHRoYXQgYXJndW1lbnRzIGFyZSB2YWxpZCBiZWZvcmUgcHJvY2VlZGluZ1xuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyfSAtXG4vLy8gICBUb3RhbCBzdW0gb2YgY29sdW1uLXVuaXRzIGluIGEgZ3JpZFxuQGZ1bmN0aW9uIF9zdS1zdW0oXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJGNvbHVtbnM6IHN1LXZhbGlkLXNwYW4oJGNvbHVtbnMpO1xuICAgICRndXR0ZXJzOiBzdS12YWxpZC1ndXR0ZXJzKCRndXR0ZXJzKTtcbiAgICAkc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJHNwcmVhZCk7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgY29sdW1uLXN1bVxuICAkY29sdW1uLXN1bTogMDtcbiAgQGVhY2ggJGNvbHVtbiBpbiAkY29sdW1ucyB7XG4gICAgJGNvbHVtbi1zdW06ICRjb2x1bW4tc3VtICsgJGNvbHVtbjtcbiAgfVxuXG4gICRndXR0ZXItc3VtOiAoY2VpbChsZW5ndGgoJGNvbHVtbnMpKSArICRzcHJlYWQpICogJGd1dHRlcnM7XG4gICR0b3RhbDogaWYoKCRndXR0ZXItc3VtID4gMCksICRjb2x1bW4tc3VtICsgJGd1dHRlci1zdW0sICRjb2x1bW4tc3VtKTtcblxuICBAcmV0dXJuICR0b3RhbDtcbn1cblxuXG5cbi8vIFN1IENhbGNcbi8vIC0tLS0tLS1cbi8vLyBSZXR1cm4gYSB1c2FibGUgc3BhbiB3aWR0aCBhcyBhIGBjYWxjKClgIGZ1bmN0aW9uLFxuLy8vIGluIG9yZGVyIHRvIGNyZWF0ZSBtaXhlZC11bml0IGdyaWRzLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyIHwgbGlzdH0gJHNwYW4gLVxuLy8vICAgUHJlLXNsaWNlZCBsaXN0IG9mIGdyaWQgY29sdW1ucyB0byBzcGFuXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyIGluIGNvbHVtbi1jb21wYXJhYmxlIHVuaXRzXG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkc3ByZWFkIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgc3BhbmAgY291bnRcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRjb250YWluZXItc3ByZWFkIFskc3ByZWFkXSAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYGNvbHVtbnNgIGNvdW50XG4vLy8gQHBhcmFtIHtib29sfSAkdmFsaWRhdGUgW3RydWVdIC1cbi8vLyAgIENoZWNrIHRoYXQgYXJndW1lbnRzIGFyZSB2YWxpZCBiZWZvcmUgcHJvY2VlZGluZ1xuLy8vXG4vLy8gQHJldHVybiB7bGVuZ3RofSAtXG4vLy8gICBSZWxhdGl2ZSBvciBzdGF0aWMgbGVuZ3RoIG9mIGEgc3BhbiBvbiB0aGUgZ3JpZFxuQGZ1bmN0aW9uIF9zdS1jYWxjLXNwYW4oXG4gICRzcGFuLFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICRjb250YWluZXItc3ByZWFkOiAkc3ByZWFkLFxuICAkdmFsaWRhdGU6IHRydWVcbikge1xuICBAaWYgJHZhbGlkYXRlIHtcbiAgICAkc3Bhbjogc3UtdmFsaWQtc3Bhbigkc3Bhbik7XG4gICAgJGNvbHVtbnM6IHN1LXZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAgICRndXR0ZXJzOiBzdS12YWxpZC1ndXR0ZXJzKCRndXR0ZXJzKTtcbiAgICAkc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJHNwcmVhZCk7XG4gICAgJGNvbnRhaW5lci1zcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkY29udGFpbmVyLXNwcmVhZCk7XG4gIH1cblxuICAvLyBTcGFuIGFuZCBjb250ZXh0XG4gICRzcGFuOiBfc3UtY2FsYy1zdW0oJHNwYW4sICRndXR0ZXJzLCAkc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJyk7XG4gICRjb250ZXh0OiBfc3UtY2FsYy1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCAkY29udGFpbmVyLXNwcmVhZCwgbm90ICd2YWxpZGF0ZScpO1xuXG4gIC8vIEZpeGVkIGFuZCBmbHVpZFxuICAkZml4ZWQtc3BhbjogbWFwLWdldCgkc3BhbiwgJ2ZpeGVkJyk7XG4gICRmbHVpZC1zcGFuOiBtYXAtZ2V0KCRzcGFuLCAnZmx1aWQnKTtcbiAgJGZpeGVkLWNvbnRleHQ6IG1hcC1nZXQoJGNvbnRleHQsICdmaXhlZCcpO1xuICAkZmx1aWQtY29udGV4dDogbWFwLWdldCgkY29udGV4dCwgJ2ZsdWlkJyk7XG5cbiAgJGNhbGM6ICcjeyRmaXhlZC1zcGFufSc7XG4gICRmbHVpZC1jYWxjOiAnKDEwMCUgLSAjeyRmaXhlZC1jb250ZXh0fSknO1xuXG4gIC8vIEZsdWlkLXZhbHVlc1xuICBAaWYgKG5vdCAkZmx1aWQtc3Bhbikge1xuICAgICRmbHVpZC1jYWxjOiBudWxsO1xuICB9IEBlbHNlIGlmICgkZmx1aWQtc3BhbiAhPSAkZmx1aWQtY29udGV4dCkge1xuICAgICRmbHVpZC1zcGFuOiAnKiAjeyRmbHVpZC1zcGFufSc7XG4gICAgJGZsdWlkLWNvbnRleHQ6IGlmKCRmbHVpZC1jb250ZXh0LCAnLyAjeyRmbHVpZC1jb250ZXh0fScsICcnKTtcbiAgICAkZmx1aWQtY2FsYzogJygjeyRmbHVpZC1jYWxjICRmbHVpZC1jb250ZXh0ICRmbHVpZC1zcGFufSknO1xuICB9XG5cbiAgQGlmICRmbHVpZC1jYWxjIHtcbiAgICAkY2FsYzogaWYoKCRjYWxjICE9ICcnKSwgJyN7JGNhbGN9ICsgJywgJycpO1xuICAgICRjYWxjOiAnI3skY2FsYyArICRmbHVpZC1jYWxjfSc7XG4gIH1cblxuICBAcmV0dXJuIGNhbGMoI3t1bnF1b3RlKCRjYWxjKX0pO1xufVxuXG5cblxuLy8gU3UgQ2FsYy1TdW1cbi8vIC0tLS0tLS0tLS0tXG4vLy8gR2V0IHRoZSB0b3RhbCBzdW0gb2YgZml4ZWQgYW5kIGZsdWlkIGNvbHVtbi11bml0c1xuLy8vIGZvciBjcmVhdGluZyBhIG1peGVkLXVuaXQgbGF5b3V0IHdpdGggYGNhbGMoKWAgdmFsdWVzLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHtib29sfSAkdmFsaWRhdGUgW3RydWVdIC1cbi8vLyAgIENoZWNrIHRoYXQgYXJndW1lbnRzIGFyZSB2YWxpZCBiZWZvcmUgcHJvY2VlZGluZ1xuLy8vXG4vLy8gQHJldHVybiB7bWFwfSAtXG4vLy8gICBNYXAgd2l0aCBgZml4ZWRgIGFuZCBgZmx1aWRgIGtleXNcbi8vLyAgIGNvbnRhaW5pbmcgdGhlIHByb3BlciBtYXRoIGFzIHN0cmluZ3NcbkBmdW5jdGlvbiBfc3UtY2FsYy1zdW0oXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJGNvbHVtbnM6IHN1LXZhbGlkLXNwYW4oJGNvbHVtbnMpO1xuICAgICRndXR0ZXJzOiBzdS12YWxpZC1ndXR0ZXJzKCRndXR0ZXJzKTtcbiAgICAkc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJHNwcmVhZCk7XG4gIH1cblxuICAkZmx1aWQ6IDA7XG4gICRmaXhlZDogKCk7XG4gICRjYWxjOiBudWxsO1xuXG4gIC8vIEd1dHRlcnNcbiAgJGd1dHRlcnM6ICAkZ3V0dGVycyAqIChsZW5ndGgoJGNvbHVtbnMpICsgJHNwcmVhZCk7XG5cbiAgLy8gQ29sdW1uc1xuICBAZWFjaCAkY29sIGluIGFwcGVuZCgkY29sdW1ucywgJGd1dHRlcnMpIHtcbiAgICBAaWYgdW5pdGxlc3MoJGNvbCkge1xuICAgICAgJGZsdWlkOiAkZmx1aWQgKyAkY29sO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGZpeGVkOiBfc3UtbWFwLWFkZC11bml0cygkZml4ZWQsICRjb2wpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbXBpbGUgRml4ZWQgVW5pdHNcbiAgQGVhY2ggJHVuaXQsICR0b3RhbCBpbiAkZml4ZWQge1xuICAgIEBpZiAoJHRvdGFsICE9ICgwICogJHRvdGFsKSkge1xuICAgICAgJGNhbGM6IGlmKCRjYWxjLCAnI3skY2FsY30gKyAjeyR0b3RhbH0nLCAnI3skdG90YWx9Jyk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsYyBudWxsIG9yIHN0cmluZ1xuICBAaWYgJGNhbGMge1xuICAgICRjYWxjOiBpZihzdHItaW5kZXgoJGNhbGMsICcrJyksICcoI3skY2FsY30pJywgJyN7JGNhbGN9Jyk7XG4gIH1cblxuICAvLyBGbHVpZCAwID0+IG51bGxcbiAgJGZsdWlkOiBpZigoJGZsdWlkID09IDApLCBudWxsLCAkZmx1aWQpO1xuXG5cbiAgLy8gUmV0dXJuIG1hcFxuICAkcmV0dXJuOiAoXG4gICAgJ2ZpeGVkJzogJGNhbGMsXG4gICAgJ2ZsdWlkJzogJGZsdWlkLFxuICApO1xuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuXG5cbi8vIE5lZWRzIENhbGNcbi8vIC0tLS0tLS0tLS1cbi8vLyBDaGVjayBpZiBgY2FsYygpYCB3aWxsIGJlIG5lZWRlZCBpbiBkZWZpbmluZyBhIHNwYW4sXG4vLy8gaWYgdGhlIG5lY2Vzc2FyeSB1bml0cyBpbiBhIGdyaWQgYXJlIG5vdCBjb21wYXJhYmxlLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJHNwYW4gLVxuLy8vICAgU2xpY2Ugb2YgY29sdW1ucyB0byBzcGFuXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGF2YWlsYWJsZSBjb2x1bW5zIGluIHRoZSBncmlkXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRndXR0ZXJzIC1cbi8vLyAgIFdpZHRoIG9mIGEgZ3V0dGVyXG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkc3ByZWFkIC1cbi8vLyAgIE51bWJlciBvZiBndXR0ZXJzIHNwYW5uZWQsXG4vLy8gICByZWxhdGl2ZSB0byBgc3BhbmAgY291bnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICR2YWxpZGF0ZSBbdHJ1ZV0gLVxuLy8vICAgQ2hlY2sgdGhhdCBhcmd1bWVudHMgYXJlIHZhbGlkIGJlZm9yZSBwcm9jZWVkaW5nXG4vLy9cbi8vLyBAcmV0dXJuIHtib29sfSAtXG4vLy8gICBgVHJ1ZWAgd2hlbiB1bml0cyBkbyBub3QgbWF0Y2gsIGFuZCBgY2FsYygpYCB3aWxsIGJlIHJlcXVpcmVkXG5AZnVuY3Rpb24gX3N1LW5lZWRzLWNhbGMtb3V0cHV0KFxuICAkc3BhbixcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkc3ByZWFkLFxuICAkdmFsaWRhdGU6IHRydWVcbikge1xuICBAaWYgJHZhbGlkYXRlIHtcbiAgICAkc3Bhbjogc3UtdmFsaWQtc3Bhbigkc3Bhbik7XG4gICAgJGNvbHVtbnM6IHN1LXZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAgICRndXR0ZXJzOiBzdS12YWxpZC1ndXR0ZXJzKCRndXR0ZXJzKTtcbiAgfVxuXG4gICRoYXMtZ3V0dGVyOiBpZigobGVuZ3RoKCRzcGFuKSA+IDEpIG9yICgkc3ByZWFkID49IDApLCB0cnVlLCBmYWxzZSk7XG4gICRjaGVjazogaWYoJGhhcy1ndXR0ZXIsIGFwcGVuZCgkc3BhbiwgJGd1dHRlcnMpLCAkc3Bhbik7XG4gICRzYWZlLXNwYW46IF9zdS1pcy1jb21wYXJhYmxlKCRjaGVjay4uLik7XG5cbiAgQGlmICgkc2FmZS1zcGFuID09ICdzdGF0aWMnKSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfSBAZWxzZSBpZiAobm90ICRzYWZlLXNwYW4pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAkc2FmZS1mbHVpZDogX3N1LWlzLWNvbXBhcmFibGUoJGd1dHRlcnMsICRjb2x1bW5zLi4uKTtcblxuICBAcmV0dXJuIG5vdCAkc2FmZS1mbHVpZDtcbn1cbiIsIi8vLyBTdXN5MyBDb25maWd1cmF0aW9uXG4vLy8gPT09PT09PT09PT09PT09PT09PVxuLy8vIFN1c3kzIGhhcyA0IGNvcmUgc2V0dGluZ3MsIGluIGEgc2luZ2xlIHNldHRpbmdzIG1hcC5cbi8vLyBZb3UnbGwgbm90aWNlIGEgZmV3IGRpZmZlcmVuY2VzIGZyb20gU3VzeTI6XG4vLy9cbi8vLyAqKkNvbHVtbnMqKiBubyBsb25nZXIgYWNjZXB0IGEgc2luZ2xlIG51bWJlciwgbGlrZSBgMTJgLFxuLy8vIGJ1dCB1c2UgYSBzeW50YXggbW9yZSBzaW1pbGFyIHRvIHRoZSBuZXdcbi8vLyBDU1MgW2dyaWQtdGVtcGxhdGUtY29sdW1uc11bY29sdW1uc10g4oCTXG4vLy8gYSBsaXN0IG9mIHJlbGF0aXZlIHNpemVzIGZvciBlYWNoIGNvbHVtbiBvbiB0aGUgZ3JpZC5cbi8vLyBVbml0bGVzcyBudW1iZXJzIGluIFN1c3kgYWN0IHZlcnkgc2ltaWxhciB0byBgZnJgIHVuaXRzIGluIENTUyxcbi8vLyBhbmQgdGhlIGBzdXN5LXJlcGVhdCgpYCBmdW5jdGlvbiAoc2ltaWxhciB0byB0aGUgY3NzIGByZXBlYXQoKWApXG4vLy8gaGVscHMgcXVpY2tseSBlc3RhYmxpc2ggZXF1YWwtd2lkdGggY29sdW1ucy5cbi8vL1xuLy8vIFtjb2x1bW5zXTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2dyaWQtdGVtcGxhdGUtY29sdW1uc1xuLy8vXG4vLy8gLSBgc3VzeS1yZXBlYXQoMTIpYCB3aWxsIGNyZWF0ZSAxMiBmbHVpZCwgZXF1YWwtd2lkdGggY29sdW1uc1xuLy8vIC0gYHN1c3ktcmVwZWF0KDYsIDEyMHB4KWAgd2lsbCBjcmVhdGUgNiBlcXVhbCBgMTIwcHhgLXdpZGUgY29sdW1uc1xuLy8vIC0gYDEyMHB4IHN1c3ktcmVwZWF0KDQpIDEyMHB4YCB3aWxsIGNyZWF0ZSA2IGNvbHVtbnMsXG4vLy8gICB0aGUgZmlyc3QgYW5kIGxhc3QgYXJlIGAxMjBweGAsXG4vLy8gICB3aGlsZSB0aGUgbWlkZGxlIDQgYXJlIGVxdWFsIGZyYWN0aW9ucyBvZiB0aGUgcmVtYWluZGVyLlxuLy8vICAgU3VzeSB3aWxsIG91dHB1dCBgY2FsYygpYCB2YWx1ZXMgaW4gb3JkZXIgdG8gYWNoaWV2ZSB0aGlzLlxuLy8vXG4vLy8gKipHdXR0ZXJzKiogaGF2ZW4ndCBjaGFuZ2VkIOKAk1xuLy8vIGEgc2luZ2xlIGZyYWN0aW9uIG9yIGV4cGxpY2l0IHdpZHRoIOKAk1xuLy8vIGJ1dCB0aGUgYGNhbGMoKWAgb3V0cHV0IGZlYXR1cmVcbi8vLyBtZWFucyB5b3UgY2FuIG5vdyB1c2UgYW55IGNvbWJpbmF0aW9uIG9mIHVuaXRzIGFuZCBmcmFjdGlvbnNcbi8vLyB0byBjcmVhdGUgc3RhdGljLWd1dHRlcnMgb24gYSBmbHVpZCBncmlkLCBldGMuXG4vLy9cbi8vLyAqKlNwcmVhZCoqIGV4aXN0ZWQgaW4gdGhlIFN1c3kyIEFQSSBhcyBhIHNwYW4gb3B0aW9uLFxuLy8vIGFuZCB3YXMgb3RoZXJ3aXNlIGhhbmRsZWQgYmVoaW5kIHRoZSBzY2VuZXMuXG4vLy8gTm93IHdlJ3JlIGdpdmluZyB5b3UgZnVsbCBjb250cm9sIG92ZXIgYWxsIHNwcmVhZCBpc3N1ZXMuXG4vLy8gWW91IGNhbiBmaW5kIGEgbW9yZSBbZGV0YWlsZWQgZXhwbGFuYXRpb24gb2Ygc3ByZWFkIG9uIHRoZSBibG9nXVtzcHJlYWRdLlxuLy8vXG4vLy8gW3NwcmVhZF06IGh0dHA6Ly9vZGRiaXJkLm5ldC8yMDE3LzA2LzEzL3N1c3ktc3ByZWFkL1xuLy8vXG4vLy8gWW91IGNhbiBhY2Nlc3MgeW91ciBnbG9iYWwgc2V0dGluZ3MgYXQgYW55IHRpbWVcbi8vLyB3aXRoIHRoZSBgc3VzeS1zZXR0aW5ncygpYCBmdW5jdGlvbixcbi8vLyBvciBncmFiIGEgc2luZ2xlIHNldHRpbmcgZnJvbSB0aGUgZ2xvYmFsIHNjb3BlXG4vLy8gd2l0aCBgc3VzeS1nZXQoJ2NvbHVtbnMnKWAsIGBzdXN5LWdldCgnZ3V0dGVycycpYCBldGMuXG4vLy9cbi8vLyBAZ3JvdXAgYS1jb25maWdcbi8vLyBAbGluayBodHRwOi8vb2RkYmlyZC5uZXQvMjAxNy8wNi8xMy9zdXN5LXNwcmVhZC9cbi8vLyAgIEFydGljbGU6IFVuZGVyc3RhbmRpbmcgU3ByZWFkIGluIFN1c3kzXG4vLy9cbi8vLyBAc2VlICRzdXN5XG4vLy8gQHNlZSBzdXN5LXNldHRpbmdzXG4vLy8gQHNlZSBzdXN5LWdldFxuXG5cblxuLy8gU3VzeVxuLy8gLS0tLVxuLy8vIFRoZSBncmlkIGlzIGRlZmluZWQgaW4gYSBzaW5nbGUgbWFwIHZhcmlhYmxlLFxuLy8vIHdpdGggZm91ciBpbml0aWFsIHByb3BlcnRpZXM6XG4vLy8gYGNvbHVtbnNgLCBgZ3V0dGVyc2AsIGBzcHJlYWRgIGFuZCBgY29udGFpbmVyLXNwcmVhZGAuXG4vLy8gQW55dGhpbmcgeW91IHB1dCBpbiB0aGUgcm9vdCBgJHN1c3lgIHZhcmlhYmxlIG1hcFxuLy8vIHdpbGwgYmUgdHJlYXRlZCBhcyBhIGdsb2JhbCBwcm9qZWN0IGRlZmF1bHQuXG4vLy8gWW91IGNhbiBjcmVhdGUgc2ltaWxhciBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyB1bmRlciBkaWZmZXJlbnQgdmFyaWFibGUgbmFtZXMsXG4vLy8gdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzIGFzLW5lZWRlZC5cbi8vL1xuLy8vIEBncm91cCBhLWNvbmZpZ1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHNlZSAkX3N1c3ktZGVmYXVsdHNcbi8vLyBAc2VlIHtmdW5jdGlvbn0gc3VzeS1yZXBlYXRcbi8vLyBAbGlua1xuLy8vICAgaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlzdXphbm5lL3Blbi9FZ21KSnA/ZWRpdG9ycz0xMTAwXG4vLy8gICBTcHJlYWQgZXhhbXBsZXMgb24gQ29kZVBlblxuLy8vXG4vLy8gQHByb3Age2xpc3R9IGNvbHVtbnMgLVxuLy8vICAgQ29sdW1ucyBhcmUgZGVzY3JpYmVkIGJ5IGEgbGlzdCBvZiBudW1iZXJzLFxuLy8vICAgcmVwcmVzZW50aW5nIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBlYWNoIGNvbHVtbi5cbi8vLyAgIFRoZSBzeW50YXggaXMgYSBzaW1wbGlmaWVkIHZlcnNpb24gb2YgQ1NTIG5hdGl2ZVxuLy8vICAgYGdyaWQtdGVtcGxhdGUtY29sdW1uc2AsXG4vLy8gICBleHBlY3RpbmcgYSBsaXN0IG9mIGdyaWQtY29sdW1uIHdpZHRocy5cbi8vLyAgIFVuaXRsZXNzIG51bWJlcnMgY3JlYXRlIGZyYWN0aW9uYWwgZmx1aWQgY29sdW1uc1xuLy8vICAgKHNpbWlsYXIgdG8gdGhlIENTUy1uYXRpdmUgYGZyYCB1bml0KSxcbi8vLyAgIHdoaWxlIGxlbmd0aCB2YWx1ZXMgKHVuaXRlZCBudW1iZXJzKVxuLy8vICAgYXJlIHVzZWQgdG8gZGVmaW5lIHN0YXRpYyBjb2x1bW5zLlxuLy8vICAgWW91IGNhbiBtaXgtYW5kIG1hdGNoIHVuaXRzIGFuZCBmcmFjdGlvbnMsXG4vLy8gICB0byBjcmVhdGUgYSBtaXhlZCBncmlkLlxuLy8vICAgU3VzeSB3aWxsIGdlbmVyYXRlIGBjYWxjKClgIHZhbHVlcyB3aGVuIG5lY2Vzc2FyeSxcbi8vLyAgIHRvIG1ha2UgYWxsIHlvdXIgdW5pdHMgd29yayB0b2dldGhlci5cbi8vL1xuLy8vICAgVXNlIHRoZSBgc3VzeS1yZXBlYXQoJGNvdW50LCAkdmFsdWUpYCBmdW5jdGlvblxuLy8vICAgdG8gbW9yZSBlYXNpbHkgcmVwZXRhdGl2ZSBjb2x1bW5zLFxuLy8vICAgc2ltaWxhciB0byB0aGUgQ1NTLW5hdGl2ZSBgcmVwZWF0KClgLlxuLy8vXG4vLy8gICAtIGBzdXN5LXJlcGVhdCg4KWA6XG4vLy8gICAgIGFuIDgtY29sdW1uLCBzeW1tZXRyaWNhbCwgZmx1aWQgZ3JpZC5cbi8vLyAgICAgPGJyIC8+SWRlbnRpY2FsIHRvIGAoMSAxIDEgMSAxIDEgMSAxKWAuXG4vLy8gICAtIGBzdXN5LXJlcGVhdCg2LCA4ZW0pYDpcbi8vLyAgICAgYSA2LWNvbHVtbiwgc3ltbWV0cmljYWwsIGVtLWJhc2VkIGdyaWQuXG4vLy8gICAgIDxiciAvPklkZW50aWNhbCB0byBgKDhlbSA4ZW0gOGVtIDhlbSA4ZW0gOGVtKWAuXG4vLy8gICAtIGAoMzAwcHggc3VzeS1yZXBlYXQoNCkgMzAwcHgpYDpcbi8vLyAgICAgYSA2LWNvbHVtbiwgYXN5bW1ldHJpY2FsLCBtaXhlZCBmbHVpZC9zdGF0aWMgZ3JpZFxuLy8vICAgICB1c2luZyBgY2FsYygpYCBvdXRwdXQuXG4vLy8gICAgIDxiciAvPklkZW50aWNhbCB0byBgKDMwMHB4IDEgMSAxIDEgMzAwcHgpYC5cbi8vL1xuLy8vICAgKipOT1RFKiogdGhhdCBgMTJgIGlzIG5vIGxvbmdlciBhIHZhbGlkIDEyLWNvbHVtbiBncmlkIGRlZmluaXRpb24sXG4vLy8gICBhbmQgeW91IG11c3QgbGlzdCBhbGwgdGhlIGNvbHVtbnMgaW5kaXZpZHVhbGx5XG4vLy8gICAob3IgYnkgdXNpbmcgdGhlIGBzdXN5LXJlcGVhdCgpYCBmdW5jdGlvbikuXG4vLy9cbi8vLyBAcHJvcCB7bnVtYmVyfSBndXR0ZXJzIC1cbi8vLyAgIEd1dHRlcnMgYXJlIGRlZmluZWQgYXMgYSBzaW5nbGUgd2lkdGgsXG4vLy8gICBvciBmbHVpZCByYXRpbywgc2ltaWxhciB0byB0aGUgbmF0aXZlLUNTU1xuLy8vICAgYGdyaWQtY29sdW1uLWdhcGAgc3ludGF4LlxuLy8vICAgU2ltaWxhciB0byBjb2x1bW5zLFxuLy8vICAgZ3V0dGVycyBjYW4gdXNlIGFueSB2YWxpZCBDU1MgbGVuZ3RoIHVuaXQsXG4vLy8gICBvciB1bml0bGVzcyBudW1iZXJzIHRvIGRlZmluZSBhIHJlbGF0aXZlIGZyYWN0aW9uLlxuLy8vXG4vLy8gICAtIGAwLjVgOlxuLy8vICAgICBhIGZsdWlkIGd1dHRlciwgaGFsZiB0aGUgc2l6ZSBvZiBhIHNpbmdsZS1mcmFjdGlvbiBjb2x1bW4uXG4vLy8gICAtIGAxZW1gOlxuLy8vICAgICBhIHN0YXRpYyBndXR0ZXIsIGAxZW1gIHdpZGUuXG4vLy9cbi8vLyAgIE1peCBzdGF0aWMgZ3V0dGVycyB3aXRoIGZsdWlkIGNvbHVtbnMsIG9yIHZpY2UgdmVyc2EsXG4vLy8gICBhbmQgU3VzeSB3aWxsIGdlbmVyYXRlIHRoZSByZXF1aXJlZCBgY2FsYygpYCB0byBtYWtlIGl0IHdvcmsuXG4vLy9cbi8vLyBAcHJvcCB7c3RyaW5nfSBzcHJlYWQgW25hcnJvd10gLVxuLy8vICAgU3ByZWFkIG9mIGFuIGVsZW1lbnQgYWNyb3NzIGFkamFjZW50IGd1dHRlcnM6XG4vLy8gICBlaXRoZXIgYG5hcnJvd2AgKG5vbmUpLCBgd2lkZWAgKG9uZSksIG9yIGB3aWRlcmAgKHR3bylcbi8vL1xuLy8vICAgLSBCb3RoIHNwcmVhZCBzZXR0aW5ncyBkZWZhdWx0IHRvIGBuYXJyb3dgLFxuLy8vICAgICB0aGUgbW9zdCBjb21tb24gdXNlLWNhc2UuXG4vLy8gICAgIEEgYG5hcnJvd2Agc3ByZWFkIG9ubHkgaGFzIGd1dHRlcnMgKmJldHdlZW4qIGNvbHVtbnNcbi8vLyAgICAgKG9uZSBsZXNzIGd1dHRlciB0aGFuIGNvbHVtbnMpLlxuLy8vICAgICBUaGlzIGlzIGhvdyBhbGwgY3NzLW5hdGl2ZSBncmlkcyB3b3JrLFxuLy8vICAgICBhbmQgbW9zdCBtYXJnaW4tYmFzZWQgZ3JpZCBzeXN0ZW1zLlxuLy8vICAgLSBBIGB3aWRlYCBzcHJlYWQgaW5jbHVkZXMgdGhlIHNhbWUgbnVtYmVyIG9mIGd1dHRlcnMgYXMgY29sdW1ucyxcbi8vLyAgICAgc3Bhbm5pbmcgYWNyb3NzIGEgc2luZ2xlIHNpZGUtZ3V0dGVyLlxuLy8vICAgICBUaGlzIGlzIGhvdyBtb3N0IHBhZGRpbmctYmFzZWQgZ3JpZCBzeXN0ZW1zIG9mdGVuIHdvcmssXG4vLy8gICAgIGFuZCBpcyBhbHNvIHVzZWZ1bCBmb3IgcHVzaGluZyBhbmQgcHVsbGluZyBlbGVtZW50cyBpbnRvIHBsYWNlLlxuLy8vICAgLSBUaGUgcmFyZSBgd2lkZXJgIHNwcmVhZCBpbmNsdWRlcyBndXR0ZXJzXG4vLy8gICAgIG9uIGJvdGggc2lkZXMgb2YgdGhlIGNvbHVtbi1zcGFuXG4vLy8gICAgIChvbmUgbW9yZSBndXR0ZXJzIHRoYW4gY29sdW1ucykuXG4vLy9cbi8vLyBAcHJvcCB7c3RyaW5nfSBjb250YWluZXItc3ByZWFkIFtuYXJyb3ddIC1cbi8vLyAgIFNwcmVhZCBvZiBhIGNvbnRhaW5lciBhcm91bmQgYWRqYWNlbnQgZ3V0dGVyczpcbi8vLyAgIGVpdGhlciBgbmFycm93YCAobm9uZSksIGB3aWRlYCAob25lKSwgb3IgYHdpZGVyYCAodHdvKS5cbi8vLyAgIFNlZSBgc3ByZWFkYCBwcm9wZXJ0eSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEBzaW5jZSAzLjAuMC1iZXRhLjEgLVxuLy8vICAgYGNvbHVtbnNgIHNldHRpbmcgbm8gbG9uZ2VyIGFjY2VwdHMgbnVtYmVyc1xuLy8vICAgKGUuZy4gYDEyYCkgZm9yIHN5bW1ldHJpY2FsIGZsdWlkIGdyaWRzLFxuLy8vICAgb3IgdGhlIGluaXRpYWwgYDEyIHggMTIwcHhgIHN5bnRheCBmb3Jcbi8vLyAgIHN5bW1ldHJpY2FsIGZpeGVkLXVuaXQgZ3JpZHMuXG4vLy8gICBVc2UgYHN1c3ktcmVwZWF0KDEyKWAgb3IgYHN1c3ktcmVwZWF0KDEyLCAxMjBweClgIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gZGVmYXVsdCB2YWx1ZXNcbi8vLyAgIC8vIDQgc3ltbWV0cmljYWwsIGZsdWlkIGNvbHVtbnNcbi8vLyAgIC8vIGd1dHRlcnMgYXJlIDEvNCB0aGUgc2l6ZSBvZiBhIGNvbHVtblxuLy8vICAgLy8gZWxlbWVudHMgc3BhbiAxIGxlc3MgZ3V0dGVyIHRoYW4gY29sdW1uc1xuLy8vICAgLy8gY29udGFpbmVycyBzcGFuIDEgbGVzcyBndXR0ZXIgYXMgd2VsbFxuLy8vICAgJHN1c3k6IChcbi8vLyAgICAgJ2NvbHVtbnMnOiBzdXN5LXJlcGVhdCg0KSxcbi8vLyAgICAgJ2d1dHRlcnMnOiAwLjI1LFxuLy8vICAgICAnc3ByZWFkJzogJ25hcnJvdycsXG4vLy8gICAgICdjb250YWluZXItc3ByZWFkJzogJ25hcnJvdycsXG4vLy8gICApO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIGluc2lkZS1zdGF0aWMgZ3V0dGVyc1xuLy8vICAgLy8gNiBzeW1tZXRyaWNhbCwgZmx1aWQgY29sdW1uc+KAplxuLy8vICAgLy8gZ3V0dGVycyBhcmUgc3RhdGljLCB0cmlnZ2VyaW5nIGNhbGMoKeKAplxuLy8vICAgLy8gZWxlbWVudHMgc3BhbiBlcXVhbCBjb2x1bW5zICYgZ3V0dGVyc+KAplxuLy8vICAgLy8gY29udGFpbmVycyBzcGFuIGVxdWFsIGNvbHVtbnMgJiBndXR0ZXJz4oCmXG4vLy8gICAkc3VzeTogKFxuLy8vICAgICAnY29sdW1ucyc6IHN1c3ktcmVwZWF0KDYpLFxuLy8vICAgICAnZ3V0dGVycyc6IDAuNWVtLFxuLy8vICAgICAnc3ByZWFkJzogJ3dpZGUnLFxuLy8vICAgICAnY29udGFpbmVyLXNwcmVhZCc6ICd3aWRlJyxcbi8vLyAgICk7XG4kc3VzeTogKCkgIWRlZmF1bHQ7XG5cblxuXG4vLyBTdXN5IFJlcGVhdFxuLy8gLS0tLS0tLS0tLS1cbi8vLyBTaW1pbGFyIHRvIHRoZSBgcmVwZWF0KDxjb3VudD4sIDx2YWx1ZT4pYCBmdW5jdGlvblxuLy8vIHRoYXQgaXMgYXZhaWxhYmxlIGluIG5hdGl2ZSBDU1MgR3JpZCB0ZW1wbGF0ZXMsXG4vLy8gdGhlIGBzdXN5LXJlcGVhdCgpYCBmdW5jdGlvbiBoZWxwcyBnZW5lcmF0ZSByZXBldGF0aXZlIGxheW91dHNcbi8vLyBieSByZXBlYXRpbmcgYW55IHZhbHVlIGEgZ2l2ZW4gbnVtYmVyIG9mIHRpbWVzLlxuLy8vIFdoZXJlIFN1c3kgcHJldmlvdXNseSBhbGxvd2VkIGA4YCBhcyBhIGNvbHVtbiBkZWZpbml0aW9uXG4vLy8gZm9yIDggZXF1YWwgY29sdW1ucywgeW91IHNob3VsZCBub3cgdXNlIGBzdXN5LXJlcGVhdCg4KWAuXG4vLy9cbi8vLyBAZ3JvdXAgYS1jb25maWdcbi8vL1xuLy8vIEBwYXJhbSB7aW50ZWdlcn0gJGNvdW50IC1cbi8vLyAgIFRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMsIGUuZy4gYDEyYCBmb3IgYSAxMi1jb2x1bW4gZ3JpZC5cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSBbMV0gLVxuLy8vICAgVGhlIHZhbHVlIHRvIGJlIHJlcGVhdGVkLlxuLy8vICAgVGVjaG5pY2FsbHkgYW55IHZhbHVlIGNhbiBiZSByZXBlYXRlZCBoZXJlLFxuLy8vICAgYnV0IHRoZSBmdW5jdGlvbiBleGlzdHMgdG8gcmVwZWF0IGNvbHVtbi13aWR0aCBkZXNjcmlwdGlvbnM6XG4vLy8gICBlLmcuIHRoZSBkZWZhdWx0IGAxYCBmb3Igc2luZ2xlLWZyYWN0aW9uIGZsdWlkIGNvbHVtbnMsXG4vLy8gICBgNWVtYCBmb3IgYSBzdGF0aWMgY29sdW1uLFxuLy8vICAgb3IgZXZlbiBgNWVtIDEyMHB4YCBpZiB5b3UgYXJlIGFsdGVybmF0aW5nIGNvbHVtbiB3aWR0aHMuXG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fSAtXG4vLy8gICBMaXN0IG9mIHJlcGVhdGVkIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gMTIgY29sdW1uIGdyaWQsIHdpdGggNWVtIGNvbHVtbnNcbi8vLyAgICRzdXN5OiAoXG4vLy8gICAgIGNvbHVtbnM6IHN1c3ktcmVwZWF0KDEyLCA1ZW0pLFxuLy8vICAgKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC8vIGFzeW1tZXRyaWNhbCA1LWNvbHVtbiBncmlkXG4vLy8gICAkc3VzeTogKFxuLy8vICAgICBjb2x1bW5zOiAyMHB4IHN1c3ktcmVwZWF0KDMsIDEwMHB4KSAyMHB4LFxuLy8vICAgKTtcbi8vL1xuLy8vICAgLyogcmVzdWx0OiAje3N1c3ktZ2V0KCdjb2x1bW5zJyl9ICovXG5AZnVuY3Rpb24gc3VzeS1yZXBlYXQoXG4gICRjb3VudCxcbiAgJHZhbHVlOiAxXG4pIHtcbiAgJHJldHVybjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZXR1cm46IGpvaW4oJHJldHVybiwgJHZhbHVlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuXG5cbi8vIFN1c3kgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS1cbi8vLyBDb25maWd1cmF0aW9uIG1hcCBvZiBTdXN5IGZhY3RvcnkgZGVmYXVsdHMuXG4vLy8gRG8gbm90IG92ZXJyaWRlIHRoaXMgbWFwIGRpcmVjdGx5IOKAk1xuLy8vIHVzZSBgJHN1c3lgIGZvciB1c2VyIGFuZCBwcm9qZWN0IHNldHRpbmcgb3ZlcnJpZGVzLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAc2VlICRzdXN5XG4vLy9cbi8vLyBAcHJvcCB7bnVtYmVyIHwgbGlzdH0gY29sdW1ucyBbc3VzeS1yZXBlYXQoNCldXG4vLy8gQHByb3Age251bWJlcn0gZ3V0dGVycyBbMC4yNV1cbi8vLyBAcHJvcCB7c3RyaW5nfSBzcHJlYWQgWyduYXJyb3cnXVxuLy8vIEBwcm9wIHtzdHJpbmd9IGNvbnRhaW5lci1zcHJlYWQgWyduYXJyb3cnXVxuJF9zdXN5LWRlZmF1bHRzOiAoXG4gICdjb2x1bW5zJzogc3VzeS1yZXBlYXQoNCksXG4gICdndXR0ZXJzJzogMC4yNSxcbiAgJ3NwcmVhZCc6ICduYXJyb3cnLFxuICAnY29udGFpbmVyLXNwcmVhZCc6ICduYXJyb3cnLFxuKTtcblxuXG5cbi8vIFN1c3kgU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS1cbi8vLyBSZXR1cm4gYSBjb21iaW5lZCBtYXAgb2YgU3VzeSBzZXR0aW5ncyxcbi8vLyBiYXNlZCBvbiB0aGUgZmFjdG9yeSBkZWZhdWx0cyAoYCRfc3VzeS1kZWZhdWx0c2ApLFxuLy8vIHVzZXItZGVmaW5lZCBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gKGAkc3VzeWApLFxuLy8vIGFuZCBhbnkgbG9jYWwgb3ZlcnJpZGVzIHJlcXVpcmVkIOKAk1xuLy8vIHN1Y2ggYXMgYSBjb25maWd1cmF0aW9uIG1hcCBwYXNzZWQgaW50byBhIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQGdyb3VwIGEtY29uZmlnXG4vLy9cbi8vLyBAcGFyYW0ge21hcHN9ICRvdmVycmlkZXPigKYgLVxuLy8vICAgT3B0aW9uYWwgbWFwIG92ZXJyaWRlIG9mIGdsb2JhbCBjb25maWd1cmF0aW9uIHNldHRpbmdzLlxuLy8vICAgU2VlIGAkc3VzeWAgYWJvdmUgZm9yIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcmV0dXJuIHttYXB9IC1cbi8vLyAgIENvbWJpbmVkIG1hcCBvZiBTdXN5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MsXG4vLy8gICBpbiBvcmRlciBvZiBzcGVjaWZpY2l0eTpcbi8vLyAgIGFueSBgJG92ZXJyaWRlcy4uLmAsXG4vLy8gICB0aGVuIGAkc3VzeWAgcHJvamVjdCBzZXR0aW5ncyxcbi8vLyAgIGFuZCBmaW5hbGx5IHRoZSBgJF9zdXN5LWRlZmF1bHRzYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIGdsb2JhbCBzZXR0aW5nc1xuLy8vICAgQGVhY2ggJGtleSwgJHZhbHVlIGluIHN1c3ktc2V0dGluZ3MoKSB7XG4vLy8gICAgIC8qICN7JGtleX06ICN7JHZhbHVlfSAqL1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIGxvY2FsIHNldHRpbmdzXG4vLy8gICAkbG9jYWw6ICgnY29sdW1ucyc6IDEgMiAzIDUgOCk7XG4vLy9cbi8vLyAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiBzdXN5LXNldHRpbmdzKCRsb2NhbCkge1xuLy8vICAgICAvKiAjeyRrZXl9OiAjeyR2YWx1ZX0gKi9cbi8vLyAgIH1cbkBmdW5jdGlvbiBzdXN5LXNldHRpbmdzKFxuICAkb3ZlcnJpZGVzLi4uXG4pIHtcbiAgJHNldHRpbmdzOiBtYXAtbWVyZ2UoJF9zdXN5LWRlZmF1bHRzLCAkc3VzeSk7XG5cbiAgQGVhY2ggJGNvbmZpZyBpbiAkb3ZlcnJpZGVzIHtcbiAgICAkc2V0dGluZ3M6IG1hcC1tZXJnZSgkc2V0dGluZ3MsICRjb25maWcpO1xuICB9XG5cbiAgQHJldHVybiAkc2V0dGluZ3M7XG59XG5cblxuXG4vLyBTdXN5IEdldFxuLy8gLS0tLS0tLS1cbi8vLyBSZXR1cm4gdGhlIGN1cnJlbnQgZ2xvYmFsIHZhbHVlIG9mIGFueSBTdXN5IHNldHRpbmdcbi8vL1xuLy8vIEBncm91cCBhLWNvbmZpZ1xuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRrZXkgLVxuLy8vICAgU2V0dGluZyB0byByZXRyaWV2ZSBmcm9tIHRoZSBjb25maWd1cmF0aW9uLlxuLy8vXG4vLy8gQHJldHVybiB7Kn0gLVxuLy8vICAgVmFsdWUgbWFwcGVkIHRvIGAka2V5YCBpbiB0aGUgY29uZmlndXJhdGlvbiBtYXBzLFxuLy8vICAgaW4gb3JkZXIgb2Ygc3BlY2lmaWNpdHk6XG4vLy8gICBgJHN1c3lgLCB0aGVuIGAkX3N1c3ktZGVmYXVsdHNgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC1cbi8vLyAgIC8qIGNvbHVtbnM6ICN7c3VzeS1nZXQoJ2NvbHVtbnMnKX0gKi9cbi8vLyAgIC8qIGd1dHRlcnM6ICN7c3VzeS1nZXQoJ2d1dHRlcnMnKX0gKi9cbkBmdW5jdGlvbiBzdXN5LWdldChcbiAgJGtleVxuKSB7XG4gICRzZXR0aW5nczogc3VzeS1zZXR0aW5ncygpO1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJHNldHRpbmdzLCAka2V5KSB7XG4gICAgQHJldHVybiBfc3VzeS1lcnJvcihcbiAgICAgICdUaGVyZSBpcyBubyBTdXN5IHNldHRpbmcgY2FsbGVkIGAjeyRrZXl9YCcsXG4gICAgICAnc3VzeS1nZXQnKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkc2V0dGluZ3MsICRrZXkpO1xufVxuIiwiLy8vIFN5bnRheCBOb3JtYWxpemF0aW9uXG4vLy8gPT09PT09PT09PT09PT09PT09PT1cbi8vLyBTdXN5IGlzIGRpdmlkZWQgaW50byB0d28gbGF5ZXJzOlxuLy8vIFwiU3VcIiBwcm92aWRlcyB0aGUgY29yZSBtYXRoIGZ1bmN0aW9ucyB3aXRoIGEgc3RyaXBwZWQtZG93biBzeW50YXgsXG4vLy8gd2hpbGUgXCJTdXN5XCIgYWRkcyBnbG9iYWwgc2V0dGluZ3MsIHNob3J0aGFuZCBzeW50YXgsXG4vLy8gYW5kIG90aGVyIGhlbHBlcnMuXG4vLy8gRWFjaCBzZXR0aW5nIChlLmcuIHNwYW4sIGxvY2F0aW9uLCBjb2x1bW5zLCBzcHJlYWQsIGV0Yy4pXG4vLy8gaGFzIGEgc2luZ2xlIGNhbm9uaWNhbCBzeW50YXggaW4gU3UuXG4vLy9cbi8vLyBUaGlzIG5vcm1hbGl6YXRpb24gbW9kdWxlIGhlbHBzIHRyYW5zbGF0ZSBiZXR3ZWVuIHRob3NlIGxheWVycyxcbi8vLyB0cmFuc2Zvcm1pbmcgcGFyc2VkIFN1c3kgaW5wdXQgaW50b1xuLy8vIHZhbHVlcyB0aGF0IFN1IHdpbGwgdW5kZXJzdGFuZC5cbi8vL1xuLy8vIEBncm91cCB4LW5vcm1hbFxuLy8vXG4vLy8gQHNlZSBzdXN5LW5vcm1hbGl6ZVxuLy8vIEBzZWUgc3VzeS1ub3JtYWxpemUtc3BhblxuLy8vIEBzZWUgc3VzeS1ub3JtYWxpemUtY29sdW1uc1xuLy8vIEBzZWUgc3VzeS1ub3JtYWxpemUtc3ByZWFkXG4vLy8gQHNlZSBzdXN5LW5vcm1hbGl6ZS1sb2NhdGlvblxuXG5cblxuLy8gU3VzeSBOb3JtYWxpemVcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLy8gTm9ybWFsaXplIHRoZSB2YWx1ZXMgaW4gYSBjb25maWd1cmF0aW9uIG1hcC5cbi8vLyBJbiBhZGRpdGlvbiB0byB0aGUgZ2xvYmFsIGAkc3VzeWAgcHJvcGVydGllcyxcbi8vLyB0aGlzIG1hcCBjYW4gaW5jbHVkZSBsb2NhbCBzcGFuLXJlbGF0ZWQgaW1mb3JtYXRpb24sXG4vLy8gbGlrZSBgc3BhbmAgYW5kIGBsb2NhdGlvbmAuXG4vLy9cbi8vLyBOb3JtYWxpemF0aW9uIGRvZXMgbm90IGNoZWNrIHRoYXQgdmFsdWVzIGFyZSB2YWxpZCxcbi8vLyB3aGljaCB3aWxsIGhhcHBlbiBpbiB0aGUgU3UgbWF0aCBsYXllci5cbi8vLyBUaGVzZSBmdW5jdGlvbnMgbWVyZWx5IGxvb2sgZm9yIGtub3duIFN1c3kgc3ludGF4IOKAk1xuLy8vIHJldHVybmluZyBhIG1hcCB3aXRoIHRob3NlIHNob3J0aGFuZCB2YWx1ZXNcbi8vLyBjb252ZXJ0ZWQgaW50byBsb3ctbGV2ZWwgZGF0YSBmb3IgU3UuXG4vLy8gRm9yIGV4YW1wbGUgYHNwYW46IGFsbGAgYW5kIGBsb2NhdGlvbjogZmlyc3RgXG4vLy8gd2lsbCBiZSBjb252ZXJ0ZWQgaW50byBzcGVjaWZpYyBudW1iZXJzLlxuLy8vXG4vLy8gQGdyb3VwIHgtbm9ybWFsXG4vLy8gQHNlZSAkc3VzeVxuLy8vIEBzZWUgc3VzeS1wYXJzZVxuLy8vXG4vLy8gQHBhcmFtIHttYXB9ICRjb25maWcgLVxuLy8vICAgTWFwIG9mIFN1c3kgY29uZmlndXJhdGlvbiBzZXR0aW5ncyB0byBub3JtYWxpemUuXG4vLy8gICBTZWUgYCRzdXN5YCBhbmQgYHN1c3ktcGFyc2UoKWAgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscy5cbi8vLyBAcGFyYW0ge21hcCB8IG51bGx9ICRjb250ZXh0IFtudWxsXSAtXG4vLy8gICBNYXAgb2YgU3VzeSBjb25maWd1cmF0aW9uIHNldHRpbmdzIHRvIHVzZSBhcyBnbG9iYWwgcmVmZXJlbmNlLFxuLy8vICAgb3IgYG51bGxgIHRvIHVzZSBnbG9iYWwgc2V0dGluZ3MuXG4vLy9cbi8vLyBAcmV0dXJuIHttYXB9IC1cbi8vLyAgIE1hcCBvZiBTdXN5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MsXG4vLy8gICB3aXRoIGFsbCB2YWx1ZXMgbm9ybWFsaXplZCBmb3IgU3UgbWF0aCBmdW5jdGlvbnMuXG5AZnVuY3Rpb24gc3VzeS1ub3JtYWxpemUoXG4gICRjb25maWcsXG4gICRjb250ZXh0OiBudWxsXG4pIHtcbiAgLy8gU3ByZWFkXG4gIEBlYWNoICRzZXR0aW5nIGluICgnc3ByZWFkJywgJ2NvbnRhaW5lci1zcHJlYWQnKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRjb25maWcsICRzZXR0aW5nKTtcblxuICAgIEBpZiAkdmFsdWUge1xuICAgICAgJHZhbHVlOiBzdXN5LW5vcm1hbGl6ZS1zcHJlYWQoJHZhbHVlKTtcbiAgICAgICRjb25maWc6IG1hcC1tZXJnZSgkY29uZmlnLCAoJHNldHRpbmc6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbnNcbiAgJGNvbHVtbnM6IG1hcC1nZXQoJGNvbmZpZywgJ2NvbHVtbnMnKTtcblxuICBAaWYgJGNvbHVtbnMge1xuICAgICRjb2x1bW5zOiBzdXN5LW5vcm1hbGl6ZS1jb2x1bW5zKCRjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgJGNvbmZpZzogbWFwLW1lcmdlKCRjb25maWcsICgnY29sdW1ucyc6ICRjb2x1bW5zKSk7XG4gIH1cblxuICBAaWYgbm90ICRjb2x1bW5zIHtcbiAgICAkbWFwOiB0eXBlLW9mKCRjb250ZXh0KSA9PSAnbWFwJztcbiAgICAkY29sdW1uczogaWYoJG1hcCwgbWFwLWdldCgkY29udGV4dCwgJ2NvbHVtbnMnKSwgbnVsbCk7XG4gICAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIHN1c3ktZ2V0KCdjb2x1bW5zJyk7XG4gIH1cblxuICAvLyBTcGFuXG4gICRzcGFuOiBtYXAtZ2V0KCRjb25maWcsICdzcGFuJyk7XG5cbiAgQGlmICRzcGFuIHtcbiAgICAkc3Bhbjogc3VzeS1ub3JtYWxpemUtc3Bhbigkc3BhbiwgJGNvbHVtbnMpO1xuICAgICRjb25maWc6IG1hcC1tZXJnZSgkY29uZmlnLCAoJ3NwYW4nOiAkc3BhbikpO1xuICB9XG5cbiAgLy8gTG9jYXRpb25cbiAgJGxvY2F0aW9uOiBtYXAtZ2V0KCRjb25maWcsICdsb2NhdGlvbicpO1xuXG4gIEBpZiAkbG9jYXRpb24ge1xuICAgICRsb2NhdGlvbjogc3VzeS1ub3JtYWxpemUtbG9jYXRpb24oJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xuICAgICRjb25maWc6IG1hcC1tZXJnZSgkY29uZmlnLCAoJ2xvY2F0aW9uJzogJGxvY2F0aW9uKSk7XG4gIH1cblxuICBAcmV0dXJuICRjb25maWc7XG59XG5cblxuXG4vLyBOb3JtYWxpemUgU3BhblxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vLyBOb3JtYWxpemUgYHNwYW5gIHNob3J0aGFuZCBmb3IgU3UuXG4vLy8gU3Ugc3BhbiBzeW50YXggYWxsb3dzIGFuIGV4cGxpY2l0IGxlbmd0aCAoZS5nLiBgM2VtYCksXG4vLy8gdW5pdGxlc3MgY29sdW1uLXNwYW4gbnVtYmVyIChlLmcuIGAzYCBjb2x1bW5zKSxcbi8vLyBvciBhbiBleHBsaWNpdCBsaXN0IG9mIGNvbHVtbnMgKGUuZy4gYCgzIDUgOClgKS5cbi8vL1xuLy8vIFN1c3kgc3BhbiBzeW50YXggYWxzbyBhbGxvd3MgdGhlIGBhbGxgIGtleXdvcmQsXG4vLy8gd2hpY2ggd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBzbGljZSBvZiB0aGUgY29udGV4dFxuLy8vIGluIG5vcm1hbGl6YXRpb24uXG4vLy9cbi8vLyBAZ3JvdXAgeC1ub3JtYWxcbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyIHwgbGlzdCB8ICdhbGwnfSAkc3BhbiAtXG4vLy8gICBTcGFuIHZhbHVlIHRvIG5vcm1hbGl6ZS5cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIE5vcm1hbGl6ZWQgbGlzdCBvZiBjb2x1bW5zIGluIHRoZSBncmlkXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXIgfCBsaXN0fSAtXG4vLy8gICBOdW1iZXIgb3IgbGlzdCB2YWx1ZSBmb3IgYCRzcGFuYFxuQGZ1bmN0aW9uIHN1c3ktbm9ybWFsaXplLXNwYW4oXG4gICRzcGFuLFxuICAkY29sdW1uczogc3VzeS1nZXQoJ2NvbHVtbnMnKVxuKSB7XG4gIEBpZiAoJHNwYW4gPT0gJ2FsbCcpIHtcbiAgICBAcmV0dXJuIGxlbmd0aCgkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRzcGFuO1xufVxuXG5cblxuLy8gTm9ybWFsaXplIENvbHVtbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLy8gTm9ybWFsaXplIGBjb2x1bW5gIHNob3J0aGFuZCBmb3IgU3UuXG4vLy8gU3UgY29sdW1uIHN5bnRheCBvbmx5IGFsbG93cyBjb2x1bW4gbGlzdHMgKGUuZy4gYDEyMHB4IDEgMSAxIDEyMHB4YCkuXG4vLy9cbi8vLyBTdXN5IHNwYW4gc3ludGF4IGFsc28gYWxsb3dzIGEgdW5pdGxlc3MgYHNsaWNlYCBudW1iZXIgKGUuZyBgb2YgNWApLFxuLy8vIHdoaWNoIHdpbGwgYmUgY29udmVydGVkIHRvIGEgc2xpY2Ugb2YgdGhlIGNvbnRleHRcbi8vLyBpbiBub3JtYWxpemF0aW9uLlxuLy8vXG4vLy8gQGdyb3VwIHgtbm9ybWFsXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3QgfCBpbnRlZ2VyfSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGF2YWlsYWJsZSBjb2x1bW5zLFxuLy8vICAgb3IgdW5pdGxlc3MgaW50ZWdlciByZXByZXNlbnRpbmcgYSBzbGljZSBvZlxuLy8vICAgdGhlIGF2YWlsYWJsZSBjb250ZXh0LlxuLy8vIEBwYXJhbSB7bWFwIHwgbnVsbH0gJGNvbnRleHQgW251bGxdIC1cbi8vLyAgIE1hcCBvZiBTdXN5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgdG8gdXNlIGFzIGdsb2JhbCByZWZlcmVuY2UsXG4vLy8gICBvciBgbnVsbGAgdG8gYWNjZXNzIGdsb2JhbCBzZXR0aW5ncy5cbi8vL1xuLy8vIEByZXR1cm4ge2xpc3R9IC1cbi8vLyAgIENvbHVtbnMgbGlzdCB2YWx1ZSwgbm9ybWFsaXplZCBmb3IgU3UgaW5wdXQuXG4vLy9cbi8vLyBAdGhyb3dzXG4vLy8gICB3aGVuIGF0dGVtcHRpbmcgdG8gYWNjZXNzIGEgc2xpY2Ugb2YgYXN5bW1ldHJpY2FsIGNvbnRleHRcbkBmdW5jdGlvbiBzdXN5LW5vcm1hbGl6ZS1jb2x1bW5zKFxuICAkY29sdW1ucyxcbiAgJGNvbnRleHQ6IG51bGxcbikge1xuICAkY29udGV4dDogJGNvbnRleHQgb3Igc3VzeS1zZXR0aW5ncygpO1xuXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEByZXR1cm4gX3N1c3ktZmxhdHRlbigkY29sdW1ucyk7XG4gIH1cblxuICBAaWYgKHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInKSBhbmQgKHVuaXRsZXNzKCRjb2x1bW5zKSkge1xuICAgICRzcGFuOiAkY29sdW1ucztcbiAgICAkY29udGV4dDogbWFwLWdldCgkY29udGV4dCwgJ2NvbHVtbnMnKTtcbiAgICAkc3ltbWV0cmljYWw6IHN1c3ktcmVwZWF0KGxlbmd0aCgkY29udGV4dCksIG50aCgkY29udGV4dCwgMSkpO1xuXG4gICAgQGlmICgkY29udGV4dCA9PSAkc3ltbWV0cmljYWwpIHtcbiAgICAgIEByZXR1cm4gc3VzeS1yZXBlYXQoJHNwYW4sIG50aCgkY29udGV4dCwgMSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGFjdHVhbDogJ29mIGAjeyRzcGFufWAnO1xuICAgICAgJGNvbHVtbnM6ICdncmlkLWNvbHVtbnMgYCN7JGNvbnRleHR9YCc7XG4gICAgICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICAgICAnY29udGV4dC1zbGljZSAjeyRhY3R1YWx9IGNhbiBub3QgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiAjeyRjb2x1bW5zfS4nLFxuICAgICAgICAnc3VzeS1ub3JtYWxpemUtY29sdW1ucycpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGNvbHVtbnM7XG59XG5cblxuXG4vLyBOb3JtYWxpemUgU3ByZWFkXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLy8gTm9ybWFsaXplIGBzcHJlYWRgIHNob3J0aGFuZCBmb3IgU3UuXG4vLy8gU3Ugc3ByZWFkIHN5bnRheCBvbmx5IGFsbG93cyB0aGUgbnVtYmVycyBgLTFgLCBgMGAsIG9yIGAxYCDigJNcbi8vLyByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBndXR0ZXJzIGNvdmVyZWRcbi8vLyBpbiByZWxhdGlvbiB0byBjb2x1bW5zIHNwYW5uZWQuXG4vLy9cbi8vLyBTdXN5IHNwcmVhZCBzeW50YXggYWxzbyBhbGxvd3Mga2V5d29yZHMgZm9yIGVhY2ggdmFsdWUg4oCTXG4vLy8gYG5hcnJvd2AgZm9yIGAtMWAsIGB3aWRlYCBmb3IgYDBgLCBvciBgd2lkZXJgIGZvciBgMWAg4oCTXG4vLy8gd2hpY2ggd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlaXIgcmVzcGVjdGl2ZSBpbnRlZ2Vyc1xuLy8vIGluIG5vcm1hbGl6YXRpb24uXG4vLy9cbi8vLyBAZ3JvdXAgeC1ub3JtYWxcbi8vL1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMSB8ICduYXJyb3cnIHwgJ3dpZGUnIHwgJ3dpZGVyJ30gJHNwcmVhZCAtXG4vLy8gICBTcHJlYWQgYWNyb3NzIGFkamFjZW50IGd1dHRlcnMsIHJlbGF0aXZlIHRvIGEgY29sdW1uLWNvdW50IOKAlFxuLy8vICAgZWl0aGVyIGBuYXJyb3dgICgtMSksIGB3aWRlYCAoMCksIG9yIGB3aWRlcmAgKDEpXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXJ9IC1cbi8vLyAgIE51bWVyaWMgdmFsdWUgZm9yIGAkc3ByZWFkYFxuQGZ1bmN0aW9uIHN1c3ktbm9ybWFsaXplLXNwcmVhZChcbiAgJHNwcmVhZFxuKSB7XG4gICRub3JtYWwtc3ByZWFkOiAoXG4gICAgJ25hcnJvdyc6IC0xLFxuICAgICd3aWRlJzogMCxcbiAgICAnd2lkZXInOiAxLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkbm9ybWFsLXNwcmVhZCwgJHNwcmVhZCkgb3IgJHNwcmVhZDtcbn1cblxuXG5cbi8vIE5vcm1hbGl6ZSBMb2NhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy8gTm9ybWFsaXplIGBsb2NhdGlvbmAgc2hvcnRoYW5kIGZvciBTdS5cbi8vLyBTdSBsb2NhdGlvbiBzeW50YXggcmVxdWlyZXMgdGhlICgxLWluZGV4ZWQpIG51bWJlciBmb3IgYSBjb2x1bW4uXG4vLy9cbi8vLyBTdXN5IGFsc28gYWxsb3dzIHRoZSBgZmlyc3RgIGFuZCBgbGFzdGAga2V5d29yZHMsXG4vLy8gd2hlcmUgYGZpcnN0YCBpcyBhbHdheXMgYDFgLFxuLy8vIGFuZCBgbGFzdGAgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiBzcGFuIGFuZCBjb2x1bW4gdmFsdWVzLlxuLy8vIEJvdGgga2V5d29yZHMgYXJlIG5vcm1hbGl6ZWQgaW50byBhbiBpbnRlZ2VyIGluZGV4XG4vLy8gaW4gbm9ybWFsaXphdGlvbi5cbi8vL1xuLy8vIEBncm91cCB4LW5vcm1hbFxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzcGFuIC1cbi8vLyAgIE51bWJlciBvZiBncmlkLWNvbHVtbnMgdG8gYmUgc3Bhbm5lZFxuLy8vIEBwYXJhbSB7aW50ZWdlciB8ICdmaXJzdCcgfCAnbGFzdCd9ICRsb2NhdGlvbiAtXG4vLy8gICBTdGFydGluZyAoMS1pbmRleGVkKSBjb2x1bW4gcG9zaXRpb24gb2YgYSBzcGFuLFxuLy8vICAgb3IgYSBuYW1lZCBsb2NhdGlvbiBrZXl3b3JkLlxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgQWxyZWFkeS1ub3JtYWxpemVkIGxpc3Qgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vIEByZXR1cm4ge2ludGVnZXJ9IC1cbi8vLyAgIE51bWVyaWMgdmFsdWUgZm9yIGAkbG9jYXRpb25gXG5AZnVuY3Rpb24gc3VzeS1ub3JtYWxpemUtbG9jYXRpb24oXG4gICRzcGFuLFxuICAkbG9jYXRpb24sXG4gICRjb2x1bW5zXG4pIHtcbiAgJGNvdW50OiBsZW5ndGgoJGNvbHVtbnMpO1xuICAkbm9ybWFsLWxvY2F0aW9uczogKFxuICAgICdmaXJzdCc6IDEsXG4gICAgJ2FscGhhJzogMSxcbiAgICAnbGFzdCc6ICRjb3VudCAtICRzcGFuICsgMSxcbiAgICAnb21lZ2EnOiAkY291bnQgLSAkc3BhbiArIDEsXG4gICk7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRub3JtYWwtbG9jYXRpb25zLCAkbG9jYXRpb24pIG9yICRsb2NhdGlvbjtcbn1cbiIsIi8vLyBTaG9ydGhhbmQgU3ludGF4IFBhcnNlclxuLy8vID09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhlIHN5bnRheCBwYXJzZXIgY29udmVydHMgW3Nob3J0aGFuZCBzeW50YXhdW3Nob3J0XVxuLy8vIGludG8gYSBtYXAgb2Ygc2V0dGluZ3MgdGhhdCBjYW4gYmUgY29tcGFyZWQvbWVyZ2VkIHdpdGhcbi8vLyBvdGhlciBjb25maWcgbWFwcyBhbmQgZ2xvYmFsIHNldHRpbmcuXG4vLy9cbi8vLyBbc2hvcnRdOiBiLWFwaS5odG1sXG4vLy9cbi8vLyBAZ3JvdXAgeC1wYXJzZXJcblxuXG5cbi8vIFBhcnNlXG4vLyAtLS0tLVxuLy8vIFRoZSBgcGFyc2VgIGZ1bmN0aW9uIHByb3ZpZGVzIGFsbCB0aGUgc3ludGF4LXN1Z2FyIGluIFN1c3ksXG4vLy8gY29udmVydGluZyB1c2VyIHNob3J0aGFuZFxuLy8vIGludG8gYSB1c2FibGUgbWFwIG9mIGtleXMgYW5kIHZhbHVlc1xuLy8vIHRoYXQgY2FuIGJlIG5vcm1hbGl6ZWQgYW5kIHBhc3NlZCB0byBTdS5cbi8vL1xuLy8vIEBncm91cCB4LXBhcnNlclxuLy8vIEBzZWUgJHN1c3lcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJHNob3J0aGFuZCAtXG4vLy8gICBTaG9ydGhhbmQgZXhwcmVzc2lvbiB0byBkZWZpbmUgdGhlIHdpZHRoIG9mIHRoZSBzcGFuLFxuLy8vICAgb3B0aW9uYWxseSBjb250YWluaW5nOlxuLy8vICAgLSBhIGNvdW50LCBsZW5ndGgsIG9yIGNvbHVtbi1saXN0IHNwYW47XG4vLy8gICAtIGBhdCAkbmAsIGBmaXJzdGAsIG9yIGBsYXN0YCBsb2NhdGlvbiBvbiBhc3ltbWV0cmljYWwgZ3JpZHM7XG4vLy8gICAtIGBuYXJyb3dgLCBgd2lkZWAsIG9yIGB3aWRlcmAgZm9yIG9wdGlvbmFsbHkgc3ByZWFkaW5nXG4vLy8gICAgIGFjcm9zcyBhZGphY2VudCBndXR0ZXJzO1xuLy8vICAgLSBgb2YgJG4gPHNwcmVhZD5gIGZvciBhdmFpbGFibGUgZ3JpZCBjb2x1bW5zXG4vLy8gICAgIGFuZCBzcHJlYWQgb2YgdGhlIGNvbnRhaW5lclxuLy8vICAgICAoc3BhbiBjb3VudHMgbGlrZSBgb2YgNmAgYXJlIG9ubHkgdmFsaWRcbi8vLyAgICAgaW4gdGhlIGNvbnRleHQgb2Ygc3ltbWV0cmljYWwgZ3JpZHMpO1xuLy8vICAgLSBhbmQgYHNldC1ndXR0ZXJzICRuYCB0byBvdmVycmlkZSBnbG9iYWwgZ3V0dGVyIHNldHRpbmdzXG4vLy8gQHBhcmFtIHtib29sfSAkY29udGV4dC1vbmx5IFtmYWxzZV0gLVxuLy8vICAgQWxsb3cgdGhlIHBhcnNlciB0byBpZ25vcmUgc3BhbiBhbmQgc3Bhbi1zcHJlYWQgdmFsdWVzLFxuLy8vICAgb25seSBwYXJzaW5nIGNvbnRleHQgYW5kIGNvbnRhaW5lci1zcHJlYWQuXG4vLy8gICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGFjY2VwdCBzcGFubGVzcyB2YWx1ZXMsXG4vLy8gICBsaWtlIHRoZSBgZ3V0dGVycygpYCBzeW50YXguXG4vLy8gICBXaGVuIHBhcnNpbmcgY29udGV4dC1vbmx5LFxuLy8vICAgdGhlIGBvZmAgaW5kaWNhdG9yIGlzIG9wdGlvbmFsLlxuLy8vXG4vLy8gQHJldHVybiB7bWFwfSAtXG4vLy8gICBNYXAgb2Ygc3BhbiBhbmQgZ3JpZCBzZXR0aW5nc1xuLy8vICAgcGFyc2VkIGZyb20gc2hvcnRoYW5kIGlucHV0IOKAk1xuLy8vICAgaW5jbHVkaW5nIGFsbCB0aGUgcHJvcGVydGllcyBhdmFpbGFibGUgZ2xvYmFsbHkg4oCTXG4vLy8gICBgY29sdW1uc2AsIGBndXR0ZXJzYCwgYHNwcmVhZGAsIGBjb250YWluZXItc3ByZWFkYCDigJNcbi8vLyAgIGFsb25nIHdpdGggdGhlIHNwYW4tc3BlY2lmaWMgcHJvcGVydGllc1xuLy8vICAgYHNwYW5gLCBhbmQgYGxvY2F0aW9uYC5cbi8vL1xuLy8vIEB0aHJvd1xuLy8vICAgd2hlbiBhIHNob3J0aGFuZCB2YWx1ZSBpcyBub3QgcmVjb2duaXplZFxuQGZ1bmN0aW9uIHN1c3ktcGFyc2UoXG4gICRzaG9ydGhhbmQsXG4gICRjb250ZXh0LW9ubHk6IGZhbHNlXG4pIHtcbiAgJHBhcnNlLWVycm9yOiAnVW5rbm93biBzaG9ydGhhbmQgcHJvcGVydHk6JztcbiAgJG9wdGlvbnM6IChcbiAgICAnZmlyc3QnOiAnbG9jYXRpb24nLFxuICAgICdsYXN0JzogJ2xvY2F0aW9uJyxcbiAgICAnYWxwaGEnOiAnbG9jYXRpb24nLFxuICAgICdvbWVnYSc6ICdsb2NhdGlvbicsXG4gICAgJ25hcnJvdyc6ICdzcHJlYWQnLFxuICAgICd3aWRlJzogJ3NwcmVhZCcsXG4gICAgJ3dpZGVyJzogJ3NwcmVhZCcsXG4gICk7XG5cbiAgJHJldHVybjogKCk7XG4gICRzcGFuOiBudWxsO1xuICAkY29sdW1uczogbnVsbDtcblxuICAkb2Y6IG51bGw7XG4gICRuZXh0OiBmYWxzZTtcblxuICAvLyBBbGxvdyBjb250ZXh0LW9ubHkgc2hvcnRoYW5kLCB3aXRob3V0IHNwYW5cbiAgQGlmICgkY29udGV4dC1vbmx5KSBhbmQgKG5vdCBpbmRleCgkc2hvcnRoYW5kLCAnb2YnKSkge1xuICAgIEBpZiBzdS12YWxpZC1jb2x1bW5zKCRzaG9ydGhhbmQsICdmYWlsLXNpbGVudCcpIHtcbiAgICAgICRzaG9ydGhhbmQ6ICdvZicgJHNob3J0aGFuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzaG9ydGhhbmQ6IGpvaW4oJ29mJywgJHNob3J0aGFuZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gbG9vcCB0aHJvdWdoIHRoZSBzaG9ydGhhbmQgbGlzdFxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hvcnRoYW5kKSB7XG4gICAgJGl0ZW06IG50aCgkc2hvcnRoYW5kLCAkaSk7XG4gICAgJHR5cGU6IHR5cGUtb2YoJGl0ZW0pO1xuICAgICRlcnJvcjogZmFsc2U7XG4gICAgJGRldGFpbHM6ICdbI3skdHlwZX1dIGAjeyRpdGVtfWAnO1xuXG4gICAgLy8gaWYgd2Uga25vdyB3aGF0J3Mgc3VwcG9zZWQgdG8gYmUgY29taW5nIG5leHTigKZcbiAgICBAaWYgJG5leHQge1xuXG4gICAgICAvLyBBZGQgdG8gdGhlIHJldHVybiBtYXBcbiAgICAgICRyZXR1cm46IG1hcC1tZXJnZSgkcmV0dXJuLCAoJG5leHQ6ICRpdGVtKSk7XG5cbiAgICAgIC8vIFJlc2V0IG5leHQgdG8gYGZhbHNlYFxuICAgICAgJG5leHQ6IGZhbHNlO1xuXG4gICAgfSBAZWxzZSB7IC8vIElmIHdlIGRvbid0IGtub3cgd2hhdCdzIHN1cHBvc2VkIHRvIGJlIGNvbWluZ+KAplxuXG4gICAgICAvLyBLZXl3b3Jkc+KAplxuICAgICAgQGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBDaGVjayB0aGUgbWFwIGZvciBrZXl3b3Jkc+KAplxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG9wdGlvbnMsICRpdGVtKSB7XG4gICAgICAgICAgJHNldHRpbmc6IG1hcC1nZXQoJG9wdGlvbnMsICRpdGVtKTtcblxuICAgICAgICAgIC8vIFNwcmVhZCBjb3VsZCBiZSBvbiB0aGUgc3BhbiBvciB0aGUgY29udGFpbmVy4oCmXG4gICAgICAgICAgQGlmICgkc2V0dGluZyA9PSAnc3ByZWFkJykgYW5kICgkb2YpIHtcbiAgICAgICAgICAgICRyZXR1cm46IG1hcC1tZXJnZSgkcmV0dXJuLCAoJ2NvbnRhaW5lci1zcHJlYWQnOiAkaXRlbSkpO1xuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICgkc2V0dGluZzogJGl0ZW0pKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBgQWxsYCBpcyBhIHNwYW4gc2hvcnRjdXRcbiAgICAgICAgICAkc3BhbjogJ2FsbCc7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID09ICdhdCcpIHtcbiAgICAgICAgICAvLyBTb21lIGtleXdvcmRzIHNldHVwIHdoYXQncyBuZXh04oCmXG4gICAgICAgICAgJG5leHQ6ICdsb2NhdGlvbic7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID09ICdzZXQtZ3V0dGVycycpIHtcbiAgICAgICAgICAkbmV4dDogJ2d1dHRlcnMnO1xuICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA9PSAnb2YnKSB7XG4gICAgICAgICAgJG9mOiB0cnVlO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkZXJyb3I6IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gJ251bWJlcicpIG9yICgkdHlwZSA9PSAnbGlzdCcpIHsgLy8gTnVtYmVycyAmIGxpc3Rz4oCmXG5cbiAgICAgICAgQGlmIG5vdCAoJHNwYW4gb3IgJG9mKSB7XG4gICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIHNwYW4sIGFuZCB3ZSdyZSBub3QgZXhwZWN0aW5nIGNvbnRleHTigKZcbiAgICAgICAgICAkc3BhbjogJGl0ZW07XG4gICAgICAgIH0gQGVsc2UgaWYgKCRvZikgYW5kIChub3QgJGNvbHVtbnMpIHtcbiAgICAgICAgICAvLyBXZSBhcmUgZXhwZWN0aW5nIGNvbnRleHTigKZcbiAgICAgICAgICAkY29sdW1uczogJGl0ZW07XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRlcnJvcjogdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGVycm9yOiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZXJyb3Ige1xuICAgICAgQHJldHVybiBfc3VzeS1lcnJvcignI3skcGFyc2UtZXJyb3J9ICN7JGRldGFpbHN9JywgJ3N1c3ktcGFyc2UnKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBoYXZlIHNwYW4sIG1lcmdlIGl0IGluXG4gIEBpZiAkc3BhbiB7XG4gICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICgnc3Bhbic6ICRzcGFuKSk7XG4gIH1cblxuICAvLyBJZiB3ZSBoYXZlIGNvbHVtbnMsIG1lcmdlIHRoZW0gaW5cbiAgQGlmICRjb2x1bW5zIHtcbiAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKCdjb2x1bW5zJzogJGNvbHVtbnMpKTtcbiAgfVxuXG4gIC8vIFJldHVybiB0aGUgbWFwIG9mIHNldHRpbmdz4oCmXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIi8vLyBTeW50YXggVXRpbGl0aWVzIGZvciBFeHRlbmRpbmcgU3VzeVxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhlcmUgYXJlIG1hbnkgc3RlcHMgaW52b2x2ZWRcbi8vLyB3aGVuIHRyYW5zbGF0aW5nIGJldHdlZW4gdGhlIFN1c3kgc3ludGF4IGxheWVyLFxuLy8vIGFuZCB0aGUgU3UgY29yZSBtYXRoLlxuLy8vIFRoYXQgZW50aXJlIHByb2Nlc3MgY2FuIGJlIGNvbmRlbnNlZCB3aXRoIHRoZXNlIHR3byBmdW5jdGlvbnMuXG4vLy8gRm9yIGFueW9uZSB0aGF0IHdhbnRzIHRvIGFjY2VzcyB0aGUgZnVsbCBwb3dlciBvZiBTdXN5LFxuLy8vIGFuZCBidWlsZCB0aGVpciBvd24gcGx1Z2lucywgZnVuY3Rpb25zLCBvciBtaXhpbnMg4oCTXG4vLy8gdGhpcyBpcyB0aGUgcHJpbWFyeSBBUEkgZm9yIGNvbXBpbGluZyB1c2VyIGlucHV0LFxuLy8vIGFuZCBhY2Nlc3NpbmcgdGhlIGNvcmUgbWF0aC5cbi8vL1xuLy8vIFRoaXMgaXMgdGhlIHNhbWUgdGVjaG5pcXVlIHdlIHVzZSBpbnRlcm5hbGx5LFxuLy8vIHRvIGtlZXAgb3VyIEFQSSBsYXllciBzaW1wbGUgYW5kIGxpZ2h0LXdlaWdodC5cbi8vLyBFdmVyeSBmdW5jdGlvbiBhY2NlcHRzIHR3byBhcmd1bWVudHMsXG4vLy8gYSBcInNob3J0aGFuZFwiIGRlc2NyaXB0aW9uIG9mIHRoZSBzcGFuIG9yIGNvbnRleHQsXG4vLy8gYW5kIGFuIG9wdGlvbmFsIHNldHRpbmdzLW1hcCB0byBvdmVycmlkZSBnbG9iYWwgZGVmYXVsdHMuXG4vLy9cbi8vLyAtIFVzZSBgc3VzeS1jb21waWxlKClgIHRvIHBhcnNlLCBtZXJnZSwgYW5kIG5vcm1hbGl6ZVxuLy8vICAgYWxsIHRoZSB1c2VyIHNldHRpbmdzIGludG8gYSBzaW5nbGUgbWFwLlxuLy8vIC0gVGhlbiB1c2UgYHN1LWNhbGwoKWAgdG8gY2FsbCBvbmUgb2YgdGhlIGNvcmUgbWF0aCBmdW5jdGlvbnMsXG4vLy8gICB3aXRoIHdoYXRldmVyIGRhdGEgaXMgbmVlZGVkIGZvciB0aGF0IGZ1bmN0aW9uLlxuLy8vXG4vLy8gQGdyb3VwIHBsdWdpbi11dGlsc1xuLy8vIEBzZWUgc3VzeS1jb21waWxlXG4vLy8gQHNlZSBzdS1jYWxsXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gU3VzeSBBUEkgYGd1dHRlcmAgZnVuY3Rpb25cbi8vLyAgIEBmdW5jdGlvbiBzdXN5LWd1dHRlcihcbi8vLyAgICAgJGNvbnRleHQ6IHN1c3ktZ2V0KCdjb2x1bW5zJyksXG4vLy8gICAgICRjb25maWc6ICgpXG4vLy8gICApIHtcbi8vLyAgICAgLy8gY29tcGlsZSBhbmQgbm9ybWFsaXplIGFsbCB1c2VyIGFyZ3VtZW50cyBhbmQgZ2xvYmFsIHNldHRpbmdzXG4vLy8gICAgICRjb250ZXh0OiBzdXN5LWNvbXBpbGUoJGNvbnRleHQsICRjb25maWcsICdjb250ZXh0LW9ubHknKTtcbi8vLyAgICAgLy8gY2FsbCBgc3UtZ3V0dGVyYCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBkYXRhXG4vLy8gICAgIEByZXR1cm4gc3UtY2FsbCgnc3UtZ3V0dGVyJywgJGNvbnRleHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFNhbXBsZSBgc3BhbmAgbWl4aW4gZm9yIGZsb2F0ZWQgZ3JpZHNcbi8vLyAgIEBtaXhpbiBzcGFuKFxuLy8vICAgICAkc3Bhbixcbi8vLyAgICAgJGNvbmZpZzogKClcbi8vLyAgICkge1xuLy8vICAgICAkY29udGV4dDogc3VzeS1jb21waWxlKCRzcGFuLCAkY29uZmlnKTtcbi8vLyAgICAgd2lkdGg6IHN1LWNhbGwoJ3N1LXNwYW4nLCAkY29udGV4dCk7XG4vLy9cbi8vLyAgICAgQGlmIGluZGV4KCRzcGFuLCAnbGFzdCcpIHtcbi8vLyAgICAgICBmbG9hdDogcmlnaHQ7XG4vLy8gICAgIH0gQGVsc2Uge1xuLy8vICAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgIG1hcmdpbi1yaWdodDogc3UtY2FsbCgnc3UtZ3V0dGVyJywgJGNvbnRleHQpO1xuLy8vICAgICB9XG4vLy8gICB9XG5cblxuXG4vLyBDb21waWxlXG4vLyAtLS0tLS0tXG4vLy8gU3VzeSdzIHN5bnRheCBsYXllciBoYXMgdmFyaW91cyBtb3ZpbmcgcGFydHMsXG4vLy8gd2l0aCBzeW50YXgtcGFyc2luZyBmb3IgdGhlIGdyaWQvc3BhbiBzaG9ydGhhbmQsXG4vLy8gYW5kIG5vcm1hbGl6YXRpb24gZm9yIGVhY2ggb2YgdGhlIHJlc3VsdGluZyB2YWx1ZXMuXG4vLy8gVGhlIGNvbXBpbGUgZnVuY3Rpb24gcm9sbHMgdGhpcyBhbGwgdG9nZXRoZXJcbi8vLyBpbiBhIHNpbmdsZSBjYWxsIOKAk1xuLy8vIGZvciBxdWljayBhY2Nlc3MgZnJvbSBvdXIgaW50ZXJuYWwgQVBJIGZ1bmN0aW9ucyxcbi8vLyBvciBhbnkgYWRkaXRpb25hbCBmdW5jdGlvbnMgYW5kIG1peGlucyB5b3UgYWRkIHRvIHlvdXIgcHJvamVjdC5cbi8vLyBQYXNzIHVzZXIgaW5wdXQgYW5kIGNvbmZpZ3VyYXRpb24gbWFwcyB0byB0aGUgY29tcGlsZXIsXG4vLy8gYW5kIGl0IHdpbGwgaGFuZCBiYWNrIGEgbWFwIG9mIHZhbHVlcyByZWFkeSBmb3IgU3UuXG4vLy8gQ29tYmluZSB0aGlzIHdpdGggdGhlIGBzdS1jYWxsYCBmdW5jdGlvblxuLy8vIHRvIHF1aWNrbHkgcGFyc2UsIG5vcm1hbGl6ZSwgYW5kIHByb2Nlc3MgZ3JpZCBjYWxjdWxhdGlvbnMuXG4vLy9cbi8vLyBAZ3JvdXAgcGx1Z2luLXV0aWxzXG4vLy8gQHNlZSBzdS1jYWxsXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3QgfCBtYXB9ICRzaG9ydGhhbmQgLVxuLy8vICAgU2hvcnRoYW5kIGV4cHJlc3Npb24gdG8gZGVmaW5lIHRoZSB3aWR0aCBvZiB0aGUgc3Bhbixcbi8vLyAgIG9wdGlvbmFsbHkgY29udGFpbmluZzpcbi8vLyAgIC0gYSBjb3VudCwgbGVuZ3RoLCBvciBjb2x1bW4tbGlzdCBzcGFuO1xuLy8vICAgLSBgYXQgJG5gLCBgZmlyc3RgLCBvciBgbGFzdGAgbG9jYXRpb24gb24gYXN5bW1ldHJpY2FsIGdyaWRzO1xuLy8vICAgLSBgbmFycm93YCwgYHdpZGVgLCBvciBgd2lkZXJgIGZvciBvcHRpb25hbGx5IHNwcmVhZGluZ1xuLy8vICAgICBhY3Jvc3MgYWRqYWNlbnQgZ3V0dGVycztcbi8vLyAgIC0gYG9mICRuIDxzcHJlYWQ+YCBmb3IgYXZhaWxhYmxlIGdyaWQgY29sdW1uc1xuLy8vICAgICBhbmQgc3ByZWFkIG9mIHRoZSBjb250YWluZXJcbi8vLyAgICAgKHNwYW4gY291bnRzIGxpa2UgYG9mIDZgIGFyZSBvbmx5IHZhbGlkXG4vLy8gICAgIGluIHRoZSBjb250ZXh0IG9mIHN5bW1ldHJpY2FsIGdyaWRzKTtcbi8vLyAgIC0gYW5kIGBzZXQtZ3V0dGVycyAkbmAgdG8gb3ZlcnJpZGUgZ2xvYmFsIGd1dHRlciBzZXR0aW5nc1xuLy8vIEBwYXJhbSB7bWFwfSAkY29uZmlnIFtudWxsXSAtXG4vLy8gICBPcHRpb25hbCBtYXAgb2YgU3VzeSBncmlkIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Ncbi8vLyBAcGFyYW0ge2Jvb2x9ICRjb250ZXh0LW9ubHkgW2ZhbHNlXSAtXG4vLy8gICBBbGxvdyB0aGUgcGFyc2VyIHRvIGlnbm9yZSBzcGFuIGFuZCBzcGFuLXNwcmVhZCB2YWx1ZXMsXG4vLy8gICBvbmx5IHBhcnNpbmcgY29udGV4dCBhbmQgY29udGFpbmVyLXNwcmVhZFxuLy8vXG4vLy8gQHJldHVybiB7bWFwfSAtXG4vLy8gICBQYXJzZWQgYW5kIG5vcm1hbGl6ZWQgbWFwIG9mIHNldHRpbmdzLFxuLy8vICAgYmFzZWQgb24gZ2xvYmFsIGFuZCBsb2NhbCBjb25maWd1cmF0aW9uLFxuLy8vICAgYWxvbmd3aXRoIHNob3J0aGFkIGFkanVzdG1lbnRzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtXG4vLy8gICAkdXNlci1pbnB1dDogMyB3aWRlIG9mIHN1c3ktcmVwZWF0KDYsIDEyMHB4KSBzZXQtZ3V0dGVycyAxMHB4O1xuLy8vICAgJGdyaWQtZGF0YTogc3VzeS1jb21waWxlKCR1c2VyLWlucHV0LCAkc3VzeSk7XG4vLy9cbi8vLyAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3JpZC1kYXRhIHtcbi8vLyAgICAgLyogI3ska2V5fTogI3skdmFsdWV9LCAqL1xuLy8vICAgfVxuQGZ1bmN0aW9uIHN1c3ktY29tcGlsZShcbiAgJHNob3J0LFxuICAkY29uZmlnOiBudWxsLFxuICAkY29udGV4dC1vbmx5OiBmYWxzZVxuKSB7XG4gIC8vIEdldCBhbmQgbm9ybWFsaXplIGNvbmZpZ1xuICAkY29uZmlnOiBpZigkY29uZmlnLCBzdXN5LXNldHRpbmdzKCRjb25maWcpLCBzdXN5LXNldHRpbmdzKCkpO1xuICAkbm9ybWFsLWNvbmZpZzogc3VzeS1ub3JtYWxpemUoJGNvbmZpZyk7XG5cbiAgLy8gUGFyc2UgYW5kIG5vcm1hbGl6ZSBzaG9ydGhhbmRcbiAgQGlmICh0eXBlLW9mKCRzaG9ydCkgIT0gJ21hcCcpIGFuZCAobGVuZ3RoKCRzaG9ydCkgPiAwKSB7XG4gICAgJHNob3J0OiBzdXN5LXBhcnNlKCRzaG9ydCwgJGNvbnRleHQtb25seSk7XG4gIH1cblxuICAkbm9ybWFsLXNob3J0OiBzdXN5LW5vcm1hbGl6ZSgkc2hvcnQsICRub3JtYWwtY29uZmlnKTtcblxuICAvLyBNZXJnZSBhbmQgcmV0dXJuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRub3JtYWwtY29uZmlnLCAkbm9ybWFsLXNob3J0KTtcbn1cblxuXG5cbi8vIENhbGxcbi8vIC0tLS1cbi8vLyBUaGUgU3VzeSBwYXJzaW5nIGFuZCBub3JtYWxpemF0aW9uIHByb2Nlc3Ncbi8vLyByZXN1bHRzIGluIGEgbWFwIG9mIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MsXG4vLy8gbXVjaCBsaWtlIHRoZSBnbG9iYWwgYCRzdXN5YCBzZXR0aW5ncyBtYXAuXG4vLy8gSW4gb3JkZXIgdG8gcGFzcyB0aGF0IGluZm9ybWF0aW9uIGFsb25nIHRvIFN1IG1hdGggZnVuY3Rpb25zLFxuLy8vIHRoZSBwcm9wZXIgdmFsdWVzIGhhdmUgdG8gYmUgcGlja2VkIG91dCxcbi8vLyBhbmQgY29udmVydGVkIHRvIGFyZ3VtZW50cy5cbi8vL1xuLy8vIFRoZSBgc3UtY2FsbGAgZnVuY3Rpb24gc3RyZWFtbGluZXMgdGhhdCBwcm9jZXNzLFxuLy8vIHdlZWRpbmcgb3V0IHRoZSB1bm5lY2Vzc2FyeSBkYXRhLFxuLy8vIGFuZCBwYXNzaW5nIHRoZSByZXN0IGFsb25nIHRvIFN1IGluIHRoZSBwcm9wZXIgZm9ybWF0LlxuLy8vIENvbWJpbmUgdGhpcyB3aXRoIGBzdXN5LWNvbXBpbGVgIHRvIHF1aWNrbHkgcGFyc2UsXG4vLy8gbm9ybWFsaXplLCBhbmQgcHJvY2VzcyBncmlkIGNhbGN1bGF0aW9ucy5cbi8vL1xuLy8vIEBncm91cCBwbHVnaW4tdXRpbHNcbi8vL1xuLy8vIEByZXF1aXJlIHN1LXNwYW5cbi8vLyBAcmVxdWlyZSBzdS1ndXR0ZXJcbi8vLyBAcmVxdWlyZSBzdS1zbGljZVxuLy8vIEBzZWUgc3VzeS1jb21waWxlXG4vLy9cbi8vLyBAcGFyYW0geydzdS1zcGFuJyB8ICdzdS1ndXR0ZXInIHwgJ3N1LXNsaWNlJ30gJG5hbWUgLVxuLy8vICAgTmFtZSBvZiB0aGUgU3UgbWF0aCBmdW5jdGlvbiB0byBjYWxsLlxuLy8vIEBwYXJhbSB7bWFwfSAkY29uZmlnIC1cbi8vLyAgIFBhcnNlZCBhbmQgbm9ybWFsaXplZCBtYXAgb2YgU3VzeSBjb25maWd1cmF0aW9uIHNldHRpbmdzXG4vLy8gICB0byB1c2UgZm9yIG1hdGgtZnVuY3Rpb24gYXJndW1lbnRzLlxuLy8vXG4vLy8gQHJldHVybiB7Kn0gLVxuLy8vICAgUmVzdWx0cyBvZiB0aGUgZnVuY3Rpb24gYmVpbmcgY2FsbGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtXG4vLy8gICAkdXNlci1pbnB1dDogMyB3aWRlIG9mIHN1c3ktcmVwZWF0KDYsIDEyMHB4KSBzZXQtZ3V0dGVycyAxMHB4O1xuLy8vICAgJGdyaWQtZGF0YTogc3VzeS1jb21waWxlKCR1c2VyLWlucHV0LCAkc3VzeSk7XG4vLy9cbi8vLyAgIC5zdS1zcGFuIHtcbi8vLyAgICAgd2lkdGg6IHN1LWNhbGwoJ3N1LXNwYW4nLCAkZ3JpZC1kYXRhKTtcbi8vLyAgIH1cbkBmdW5jdGlvbiBzdS1jYWxsKFxuICAkbmFtZSxcbiAgJGNvbmZpZ1xuKSB7XG4gICRncmlkLWZ1bmN0aW9uLWFyZ3M6IChcbiAgICAnc3Utc3Bhbic6ICgnc3BhbicsICdjb2x1bW5zJywgJ2d1dHRlcnMnLCAnc3ByZWFkJywgJ2NvbnRhaW5lci1zcHJlYWQnLCAnbG9jYXRpb24nKSxcbiAgICAnc3UtZ3V0dGVyJzogKCdjb2x1bW5zJywgJ2d1dHRlcnMnLCAnY29udGFpbmVyLXNwcmVhZCcpLFxuICAgICdzdS1zbGljZSc6ICgnc3BhbicsICdjb2x1bW5zJywgJ2xvY2F0aW9uJyksXG4gICk7XG5cbiAgJGFyZ3M6IG1hcC1nZXQoJGdyaWQtZnVuY3Rpb24tYXJncywgJG5hbWUpO1xuXG4gIEBpZiBub3QgJGFyZ3Mge1xuICAgICRvcHRpb25zOiAnVHJ5IG9uZSBvZiB0aGVzZTogI3ttYXAta2V5cygkZ3JpZC1mdW5jdGlvbi1hcmdzKX0nO1xuICAgIEByZXR1cm4gX3N1c3ktZXJyb3IoXG4gICAgICAnI3skbmFtZX0gaXMgbm90IGEgcHVibGljIFN1IGZ1bmN0aW9uLiAjeyRvcHRpb25zfScsXG4gICAgICAnc3UtY2FsbCcpO1xuICB9XG5cbiAgJGNhbGw6IGlmKGZ1bmN0aW9uLWV4aXN0cygnZ2V0LWZ1bmN0aW9uJyksIGdldC1mdW5jdGlvbigkbmFtZSksICRuYW1lKTtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGVhY2ggJGFyZyBpbiAkYXJncyB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRjb25maWcsICRhcmcpO1xuICAgICRvdXRwdXQ6IGlmKCR2YWx1ZSwgbWFwLW1lcmdlKCRvdXRwdXQsICgkYXJnOiAkdmFsdWUpKSwgJG91dHB1dCk7XG4gIH1cblxuICBAcmV0dXJuIGNhbGwoJGNhbGwsICRvdXRwdXQuLi4pO1xufVxuIiwiLy8vIFN1c3kzIEFQSSBGdW5jdGlvbnNcbi8vLyA9PT09PT09PT09PT09PT09PT09XG4vLy8gVGhlc2UgdGhyZWUgZnVuY3Rpb25zIGZvcm0gdGhlIGNvcmUgb2YgU3VzeSdzXG4vLy8gbGF5b3V0LWJ1aWxkaW5nIGdyaWQgQVBJLlxuLy8vXG4vLy8gLSBVc2UgYHNwYW4oKWAgYW5kIGBndXR0ZXIoKWAgdG8gcmV0dXJuIGFueSBncmlkLXdpZHRoLFxuLy8vICAgYW5kIGFwcGx5IHRoZSByZXN1bHRzIHdoZXJldmVyIHlvdSBuZWVkIHRoZW06XG4vLy8gICBDU1MgYHdpZHRoYCwgYG1hcmdpbmAsIGBwYWRkaW5nYCwgYGZsZXgtYmFzaXNgLCBgdHJhbnNmb3JtYCwgZXRjLlxuLy8vIC0gRm9yIGFzeW1tZXRyaWNhbC1mbHVpZCBncmlkcyxcbi8vLyAgIGBzbGljZSgpYCBjYW4gaGVscCBtYW5hZ2UgeW91ciBuZXN0aW5nIGNvbnRleHQuXG4vLy9cbi8vLyBBbGwgdGhyZWUgZnVuY3Rpb25zIGNvbWUgd2l0aCBhbiB1bnByZWZpeGVkIGFsaWFzIGJ5IGRlZmF1bHQsXG4vLy8gdXNpbmcgdGhlIGBzdXN5YCBpbXBvcnQuXG4vLy8gSW1wb3J0IHRoZSBgc3VzeS1wcmVmaXhgIHBhcnRpYWwgaW5zdGVhZCxcbi8vLyBpZiB5b3Ugb25seSBvbmx5IHdhbnQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIEFQSS5cbi8vL1xuLy8vIFRoaXMgaXMgYSB0aGluIHN5bnRheC1zdWdhciBzaGVsbCBhcm91bmRcbi8vLyB0aGUgXCJTdVwiIGNvcmUtbWF0aCBmdW5jdGlvbnM6IGBzdS1zcGFuYCwgYHN1LWd1dHRlcmAsIGFuZCBgc3Utc2xpY2VgLlxuLy8vIElmIHlvdSBwcmVmZXIgdGhlIG1vcmUgY29uc3RyYWluZWQgc3ludGF4IG9mIHRoZSBtYXRoIGVuZ2luZSxcbi8vLyB5b3UgYXJlIHdlbGNvbWUgdG8gdXNlIHRob3NlIGZ1bmN0aW9ucyBpbnN0ZWFkLlxuLy8vXG4vLy8gQGdyb3VwIGItYXBpXG4vLy8gQHNlZSBzdXN5LXNwYW5cbi8vLyBAc2VlIHN1c3ktZ3V0dGVyXG4vLy8gQHNlZSBzdXN5LXNsaWNlXG4vLy8gQHNlZSBzdS1zcGFuXG4vLy8gQHNlZSBzdS1ndXR0ZXJcbi8vLyBAc2VlIHN1LXNsaWNlXG5cblxuXG4vLy8gIyMgU2hvcnRoYW5kXG4vLy9cbi8vLyBBbGwgZnVuY3Rpb25zIGRyYXcgb24gdGhlIHNhbWUgc2hvcnRoYW5kIHN5bnRheCBpbiB0d28gcGFydHMsXG4vLy8gc2VwZXJhdGVkIGJ5IHRoZSB3b3JkIGBvZmAuXG4vLy9cbi8vLyAjIyMgU3BhbiBTeW50YXg6IGA8d2lkdGg+YCBbYDxsb2NhdGlvbj5gIGA8c3ByZWFkPmBdXG4vLy8gVGhlIGZpcnN0IHBhcnQgZGVzY3JpYmVzIHRoZVxuLy8vICoqc3BhbioqIHdpZHRoLCBsb2NhdGlvbiwgYW5kIHNwcmVhZCBpbiBhbnkgb3JkZXIuXG4vLy8gT25seSB0aGUgd2lkdGggaXMgcmVxdWlyZWQ6XG4vLy9cbi8vLyAtIGBzcGFuKDIpYCB3aWxsIHJldHVybiB0aGUgd2lkdGggb2YgMiBjb2x1bW5zLlxuLy8vIC0gYHNwYW4oMyB3aWRlKWAgd2lsbCByZXR1cm4gMy1jb2x1bW5zLCB3aXRoIGFuIGFkZGl0aW9uYWwgZ3V0dGVyLlxuLy8vIC0gbG9jYXRpb24gaXMgb25seSBuZWVkZWQgd2l0aCBhc3ltbWV0cmljYWwgZ3JpZHMsXG4vLy8gICB3aGVyZSBgc3BhbigzIGF0IDIpYCB3aWxsIHJldHVybiB0aGUgd2lkdGggb2Zcbi8vLyAgIHNwZWNpZmljIGNvbHVtbnMgb24gdGhlIGdyaWQuXG4vLy8gICBTaW5jZSB0aGVzZSBhcmUgZnVuY3Rpb25zLCB0aGV5IHdpbGwgbm90IGhhbmRsZSBwbGFjZW1lbnQgZm9yIHlvdS5cbi8vL1xuLy8vICMjIyBDb250ZXh0IFN5bnRheDogYFtvZiA8Y29sdW1ucz4gPGNvbnRhaW5lci1zcHJlYWQ+IDxndXR0ZXJzPl1gXG4vLy8gVGhlIHNlY29uZCBoYWxmIG9mIFN1c3kncyBzaG9ydGhhbmRcbi8vLyBkZXNjcmliZXMgdGhlIGdyaWQtKipjb250ZXh0Kiog4oCTXG4vLy8gYXZhaWxhYmxlIGNvbHVtbnMsIGNvbnRhaW5lci1zcHJlYWQsIGFuZCBvcHRpb25hbCBndXR0ZXIgb3ZlcnJpZGUg4oCTXG4vLy8gaW4gYW55IG9yZGVyLlxuLy8vIEFsbCBvZiB0aGVzZSBzZXR0aW5ncyBoYXZlIGdsb2JhbGx5LWRlZmluZWQgZGVmYXVsdHM6XG4vLy9cbi8vLyAtIGBzcGFuKDIgb2YgNilgIHdpbGwgc2V0IHRoZSBjb250ZXh0IHRvXG4vLy8gICBhIHNsaWNlIG9mIDYgY29sdW1ucyBmcm9tIHRoZSBnbG9iYWwgZ3JpZC5cbi8vLyAgIE1vcmUgZGV0YWlscyBiZWxvdy5cbi8vLyAtIGBzcGFuKDIgb2YgMTIgd2lkZSlgIGNoYW5nZXMgdGhlIGNvbnRhaW5lci1zcHJlYWRcbi8vLyAgIGFzIHdlbGwgYXMgdGhlIGNvbHVtbi1jb250ZXh0LlxuLy8vIC0gYHNwYW4oMiBvZiAxMiBzZXQtZ3V0dGVycyAwLjVlbSlgXG4vLy8gICB3aWxsIG92ZXJyaWRlIHRoZSBnbG9iYWwgZ3V0dGVycyBzZXR0aW5nXG4vLy8gICBmb3IgdGhpcyBvbmUgY2FsY3VsYXRpb24uXG4vLy9cbi8vLyBBIHNpbmdsZSB1bml0bGVzcyBudW1iZXIgZm9yIGBjb2x1bW5zYFxuLy8vIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNsaWNlIG9mIHRoZSBwYXJlbnQgZ3JpZC5cbi8vLyBPbiBhIGdyaWQgd2l0aCBgY29sdW1uczogc3VzeS1yZXBlYXQoMTIsIDEyMHB4KWAsXG4vLy8gdGhlIHNob3J0aGFuZCBgb2YgNGAgd2lsbCB1c2UgdGhlIHBhcmVudCBgMTIwcHhgIGNvbHVtbi13aWR0aC5cbi8vLyBZb3UgY2FuIGFsc28gYmUgbW9yZSBleHBsaWNpdCxcbi8vLyBhbmQgc2F5IGBvZiBzdXN5LXJlcGVhdCg0LCAxMDBweClgLlxuLy8vIElmIHlvdSBhcmUgdXNpbmcgYXN5bW1ldHJpY2FsIGdyaWRzLFxuLy8vIGxpa2UgYGNvbHVtbnM6ICgxIDEgMiAzIDUgOClgLFxuLy8vIFN1c3kgY2FuJ3Qgc2xpY2UgaXQgZm9yIHlvdSB3aXRob3V0IGtub3dpbmcgd2hpY2ggY29sdW1ucyB5b3Ugd2FudC5cbi8vLyBUaGUgYHNsaWNlYCBmdW5jdGlvbiBhY2NlcHRzIGV4YWN0bHkgdGhlIHNhbWUgc3ludGF4IGFzIGBzcGFuYCxcbi8vLyBidXQgcmV0dXJucyBhIGxpc3Qgb2YgY29sdW1ucyByYXRoZXIgdGhhbiBhIHdpZHRoLlxuLy8vIFVzZSBpdCBpbiB5b3VyIGNvbnRleHQgbGlrZSBgb2Ygc2xpY2UoZmlyc3QgMylgLlxuLy8vXG4vLy8gQGdyb3VwIGItYXBpXG5cblxuXG4vLyBTdXN5IFNwYW5cbi8vIC0tLS0tLS0tLVxuLy8vIFRoaXMgaXMgdGhlIHByaW1hcnkgZnVuY3Rpb24gaW4gU3VzeSDigJRcbi8vLyB1c2VkIHRvIHJldHVybiB0aGUgd2lkdGggb2YgYSBzcGFuIGFjcm9zcyBvbmUgb3IgbW9yZSBjb2x1bW5zLFxuLy8vIGFuZCBhbnkgcmVsZXZhbnQgZ3V0dGVycyBhbG9uZyB0aGUgd2F5LlxuLy8vIFdpdGggdGhlIGRlZmF1bHQgc2V0dGluZ3MsXG4vLy8gYHNwYW4oMylgIHdpbGwgcmV0dXJuIHRoZSB3aWR0aCBvZiAzIGNvbHVtbnMsXG4vLy8gYW5kIHRoZSAyIGludGVybWVkaWF0ZSBndXR0ZXJzLlxuLy8vIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBgd2lkdGhgIHByb3BlcnR5IG9mIGdyaWQgZWxlbWVudHMsXG4vLy8gb3IgYG1hcmdpbmAgYW5kIGBwYWRkaW5nYFxuLy8vIHRvIHB1c2gsIHB1bGwsIGFuZCBwYWQgeW91ciBlbGVtZW50cy5cbi8vL1xuLy8vIC0gVGhpcyBpcyBhIHRoaW4gc3ludGF4LXN1Z2FyIHNoZWxsIGFyb3VuZFxuLy8vICAgdGhlIGNvcmUtbWF0aCBgc3Utc3BhbigpYCBmdW5jdGlvbi5cbi8vLyAtIFRoZSB1bi1wcmVmaXhlZCBhbGlhcyBgc3BhbigpYCBpcyBhdmFpbGFibGUgYnkgZGVmYXVsdC5cbi8vL1xuLy8vIEBncm91cCBiLWFwaVxuLy8vIEBzZWUgc3Utc3BhblxuLy8vIEBzZWUgJHN1c3lcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJHNwYW4gLVxuLy8vICAgU2hvcnRoYW5kIGV4cHJlc3Npb24gdG8gZGVmaW5lIHRoZSB3aWR0aCBvZiB0aGUgc3Bhbixcbi8vLyAgIG9wdGlvbmFsbHkgY29udGFpbmluZzpcbi8vLyAgIC0gYSBjb3VudCwgbGVuZ3RoLCBvciBjb2x1bW4tbGlzdCBzcGFuLlxuLy8vICAgLSBgYXQgJG5gLCBgZmlyc3RgLCBvciBgbGFzdGAgbG9jYXRpb24gb24gYXN5bW1ldHJpY2FsIGdyaWRzLFxuLy8vICAgICB3aGVyZSBgYXQgMSA9PSBmaXJzdGAsXG4vLy8gICAgIGFuZCBgbGFzdGAgd2lsbCBjYWxjdWxhdGUgdGhlIHByb3BlciBsb2NhdGlvblxuLy8vICAgICBiYXNlZCBvbiBjb2x1bW5zIGFuZCBzcGFuLlxuLy8vICAgLSBgbmFycm93YCwgYHdpZGVgLCBvciBgd2lkZXJgIGZvciBvcHRpb25hbGx5IHNwcmVhZGluZ1xuLy8vICAgICBhY3Jvc3MgYWRqYWNlbnQgZ3V0dGVycy5cbi8vLyAgIC0gYG9mICRuIDxzcHJlYWQ+YCBmb3IgYXZhaWxhYmxlIGdyaWQgY29sdW1uc1xuLy8vICAgICBhbmQgc3ByZWFkIG9mIHRoZSBjb250YWluZXIuXG4vLy8gICAgIFNwYW4gY291bnRzIGxpa2UgYG9mIDZgIGFyZSB2YWxpZFxuLy8vICAgICBpbiB0aGUgY29udGV4dCBvZiBzeW1tZXRyaWNhbCBncmlkcyxcbi8vLyAgICAgd2hlcmUgU3VzeSBjYW4gc2FmZWx5IGluZmVyIGEgc2xpY2Ugb2YgdGhlIHBhcmVudCBjb2x1bW5zLlxuLy8vICAgLSBhbmQgYHNldC1ndXR0ZXJzICRuYCB0byBvdmVycmlkZSBnbG9iYWwgZ3V0dGVyIHNldHRpbmdzLlxuLy8vXG4vLy8gQHBhcmFtIHttYXB9ICRjb25maWcgWygpXSAtXG4vLy8gICBPcHRpb25hbCBtYXAgb2YgU3VzeSBncmlkIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuXG4vLy8gICBTZWUgYCRzdXN5YCBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzLlxuLy8vXG4vLy8gQHJldHVybiB7bGVuZ3RofSAtXG4vLy8gICBDYWxjdWxhdGVkIGxlbmd0aCB2YWx1ZSwgdXNpbmcgdGhlIHVuaXRzIGdpdmVuLFxuLy8vICAgb3IgY29udmVydGluZyB0byBgJWAgZm9yIGZyYWN0aW9uLWJhc2VkIGdyaWRzLFxuLy8vICAgb3IgYSBmdWxsIGBjYWxjYCBmdW5jdGlvbiB3aGVuIHVuaXRzL2ZyYWN0aW9uc1xuLy8vICAgYXJlIG5vdCBjb21wYXJhYmxlIG91dHNpZGUgdGhlIGJyb3dzZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gc3BhbiBoYWxmIHRoZSBncmlkXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgLy8gdGhlIHJlc3VsdCBpcyBhIGJpdCB1bmRlciA1MCUgdG8gYWNjb3VudCBmb3IgZ3V0dGVyc1xuLy8vICAgICB3aWR0aDogc3VzeS1zcGFuKDYgb2YgMTIpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIHNwYW4gYSBzcGVjaWZpYyBzZWdtZW50IG9mIGFzeW1tZXRyaWNhbCBncmlkXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgd2lkdGg6IHN1c3ktc3BhbigzIGF0IDMgb2YgKDEgMiAzIDUgOCkpO1xuLy8vICAgfVxuQGZ1bmN0aW9uIHN1c3ktc3BhbihcbiAgJHNwYW4sXG4gICRjb25maWc6ICgpXG4pIHtcbiAgJG91dHB1dDogc3VzeS1jb21waWxlKCRzcGFuLCAkY29uZmlnKTtcblxuICBAaWYgbWFwLWdldCgkb3V0cHV0LCAnc3BhbicpIHtcbiAgICBAcmV0dXJuIHN1LWNhbGwoJ3N1LXNwYW4nLCAkb3V0cHV0KTtcbiAgfVxuXG4gICRhY3R1YWw6ICdbI3t0eXBlLW9mKCRzcGFuKX1dIGAje2luc3BlY3QoJHNwYW4pfWAnO1xuICBAcmV0dXJuIF9zdXN5LWVycm9yKFxuICAgICdVbmFibGUgdG8gZGV0ZXJtaW5lIHNwYW4gdmFsdWUgZnJvbSAjeyRhY3R1YWx9LicsXG4gICAgJ3N1c3ktc3BhbicpO1xufVxuXG5cblxuLy8gU3VzeSBHdXR0ZXJcbi8vIC0tLS0tLS0tLS0tXG4vLy8gVGhlIGd1dHRlciBmdW5jdGlvbiByZXR1cm5zXG4vLy8gdGhlIHdpZHRoIG9mIGEgc2luZ2xlIGd1dHRlciBvbiB5b3VyIGdyaWQsXG4vLy8gdG8gYmUgYXBwbGllZCB3aGVyZSB5b3Ugc2VlIGZpdCDigJNcbi8vLyBvbiBgbWFyZ2luc2AsIGBwYWRkaW5nYCwgYHRyYW5zZm9ybWAsIG9yIGVsZW1lbnQgYHdpZHRoYC5cbi8vL1xuLy8vIC0gVGhpcyBpcyBhIHRoaW4gc3ludGF4LXN1Z2FyIHNoZWxsIGFyb3VuZFxuLy8vICAgdGhlIGNvcmUtbWF0aCBgc3UtZ3V0dGVyKClgIGZ1bmN0aW9uLlxuLy8vIC0gVGhlIHVuLXByZWZpeGVkIGFsaWFzIGBndXR0ZXIoKWAgaXMgYXZhaWxhYmxlIGJ5IGRlZmF1bHQuXG4vLy9cbi8vLyBAZ3JvdXAgYi1hcGlcbi8vLyBAc2VlIHN1LWd1dHRlclxuLy8vIEBzZWUgJHN1c3lcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdCB8IG51bWJlcn0gJGNvbnRleHQgW251bGxdIC1cbi8vLyAgIE9wdGlvbmFsIGNvbnRleHQgZm9yIG5lc3RlZCBndXR0ZXJzLFxuLy8vICAgaW5jbHVkaW5nIHNob3J0aGFuZCBmb3Jcbi8vLyAgIGBjb2x1bW5zYCwgYGd1dHRlcnNgLCBhbmQgYGNvbnRhaW5lci1zcHJlYWRgXG4vLy8gICAoYWRkaXRpb25hbCBzaG9ydGhhbmQgd2lsbCBiZSBpZ25vcmVkKVxuLy8vXG4vLy8gQHBhcmFtIHttYXB9ICRjb25maWcgWygpXSAtXG4vLy8gICBPcHRpb25hbCBtYXAgb2YgU3VzeSBncmlkIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuXG4vLy8gICBTZWUgYCRzdXN5YCBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzLlxuLy8vXG4vLy8gQHJldHVybiB7bGVuZ3RofSAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBhcyBgJWAgb2YgY3VycmVudCBjb250ZXh0LFxuLy8vICAgb3IgaW4gdGhlIHVuaXRzIGRlZmluZWQgYnkgYGNvbHVtbi13aWR0aGAgd2hlbiBhdmFpbGFibGVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBhZGQgZ3V0dGVycyBiZWZvcmUgb3IgYWZ0ZXIgYW4gZWxlbWVudFxuLy8vICAgLmZsb2F0cyB7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICB3aWR0aDogc3BhbigzIG9mIDYpO1xuLy8vICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKG9mIDYpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIGFkZCBndXR0ZXJzIHRvIHBhZGRpbmdcbi8vLyAgIC5mbGV4Ym94IHtcbi8vLyAgICAgZmxleDogMSAxIHNwYW4oMyB3aWRlIG9mIDYgd2lkZSk7XG4vLy8gICAgIHBhZGRpbmc6IGd1dHRlcihvZiA2KSAvIDI7XG4vLy8gICB9XG4vLy9cbkBmdW5jdGlvbiBzdXN5LWd1dHRlcihcbiAgJGNvbnRleHQ6IHN1c3ktZ2V0KCdjb2x1bW5zJyksXG4gICRjb25maWc6ICgpXG4pIHtcbiAgJGNvbnRleHQ6IHN1c3ktY29tcGlsZSgkY29udGV4dCwgJGNvbmZpZywgJ2NvbnRleHQtb25seScpO1xuXG4gIEByZXR1cm4gc3UtY2FsbCgnc3UtZ3V0dGVyJywgJGNvbnRleHQpO1xufVxuXG5cblxuLy8gU3VzeSBTbGljZVxuLy8gLS0tLS0tLS0tLVxuLy8vIFdvcmtpbmcgd2l0aCBhc3ltbWV0cmljYWwgZ3JpZHMgKHVuLWVxdWFsIGNvbHVtbiB3aWR0aHMpXG4vLy8gY2FuIGJlIGNoYWxsZW5naW5nIOKAk8KgXG4vLy8gZXhwZWNpYWxseSB3aGVuIHRoZXkgaW52b2x2ZSBmbHVpZC9mcmFjdGlvbmFsIGVsZW1lbnRzLlxuLy8vIERlc2NyaWJpbmcgYSBjb250ZXh0IGBvZiAoMTVlbSA2ZW0gNmVtIDZlbSAxNWVtKWAgaXMgYSBsb3Rcbi8vLyB0byBwdXQgaW5zaWRlIHRoZSBzcGFuIG9yIGd1dHRlciBmdW5jdGlvbiBzaG9ydGhhbmQuXG4vLy8gVGhpcyBzbGljZSBmdW5jdGlvbiByZXR1cm5zIGEgc3ViLXNsaWNlIG9mIGFzeW1tZXRyaWNhbCBjb2x1bW5zIHRvIHVzZVxuLy8vIGZvciBhIG5lc3RlZCBjb250ZXh0LlxuLy8vIGBzbGljZSgzIGF0IDIpYCB3aWxsIGdpdmUgeW91IGEgc3Vic2V0IG9mIHRoZSBnbG9iYWwgZ3JpZCxcbi8vLyBzcGFubmluZyAzIGNvbHVtbnMsIHN0YXJ0aW5nIHdpdGggdGhlIHNlY29uZC5cbi8vL1xuLy8vIC0gVGhpcyBpcyBhIHRoaW4gc3ludGF4LXN1Z2FyIHNoZWxsIGFyb3VuZFxuLy8vICAgdGhlIGNvcmUtbWF0aCBgc3Utc2xpY2UoKWAgZnVuY3Rpb24uXG4vLy8gLSBUaGUgdW4tcHJlZml4ZWQgYWxpYXMgYHNsaWNlKClgIGlzIGF2YWlsYWJsZSBieSBkZWZhdWx0LlxuLy8vXG4vLy8gQGdyb3VwIGItYXBpXG4vLy8gQHNlZSBzdS1zbGljZVxuLy8vIEBzZWUgJHN1c3lcbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJHNwYW4gLVxuLy8vICAgU2hvcnRoYW5kIGV4cHJlc3Npb24gdG8gZGVmaW5lIHRoZSBzdWJzZXQgc3Bhbiwgb3B0aW9uYWxseSBjb250YWluaW5nOlxuLy8vICAgLSBgYXQgJG5gLCBgZmlyc3RgLCBvciBgbGFzdGAgbG9jYXRpb24gb24gYXN5bW1ldHJpY2FsIGdyaWRzO1xuLy8vICAgLSBgb2YgJG4gPHNwcmVhZD5gIGZvciBhdmFpbGFibGUgZ3JpZCBjb2x1bW5zXG4vLy8gICAgIGFuZCBzcHJlYWQgb2YgdGhlIGNvbnRhaW5lclxuLy8vICAgICAtIFNwYW4tY291bnRzIGxpa2UgYG9mIDZgIGFyZSBvbmx5IHZhbGlkXG4vLy8gICAgICAgaW4gdGhlIGNvbnRleHQgb2Ygc3ltbWV0cmljYWwgZ3JpZHNcbi8vLyAgICAgLSBWYWxpZCBzcHJlYWRzIGluY2x1ZGUgYG5hcnJvd2AsIGB3aWRlYCwgb3IgYHdpZGVyYFxuLy8vXG4vLy8gQHBhcmFtIHttYXB9ICRjb25maWcgWygpXSAtXG4vLy8gICBPcHRpb25hbCBtYXAgb2YgU3VzeSBncmlkIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuXG4vLy8gICBTZWUgYCRzdXN5YCBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzLlxuLy8vXG4vLy8gQHJldHVybiB7bGlzdH0gLVxuLy8vICAgU3Vic2V0IGxpc3Qgb2YgY29sdW1ucyBmb3IgdXNlIGZvciBhIG5lc3RlZCBjb250ZXh0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUmV0dXJuIGEgbmVzdGVkIHNlZ21lbnQgb2YgYXN5bW1ldHJpY2FsIGdyaWRcbi8vLyAgICRjb250ZXh0OiBzdXN5LXNsaWNlKDMgYXQgMyBvZiAoMSAyIDMgNSA4KSk7XG4vLy8gICAvKiAkY29udGV4dDogI3skY29udGV4dH07ICovXG5AZnVuY3Rpb24gc3VzeS1zbGljZShcbiAgJHNwYW4sXG4gICRjb25maWc6ICgpXG4pIHtcbiAgJHNwYW46IHN1c3ktY29tcGlsZSgkc3BhbiwgJGNvbmZpZyk7XG5cbiAgQHJldHVybiBzdS1jYWxsKCdzdS1zbGljZScsICRzcGFuKTtcbn1cblxuXG5cbi8vLyAjIyBCdWlsZGluZyBHcmlkc1xuLy8vIFRoZSB3ZWIgaGFzIGNvbWUgYSBsb25nIHdheVxuLy8vIHNpbmNlIHRoZSBkYXlzIG9mIGRvdWJsZS1tYXJnaW4taGFja3Ncbi8vLyBhbmQgaW5jb25zaXN0ZW50IHN1YnBpeGVsIHJvdW5kaW5nLlxuLy8vIEluIGFkZGl0aW9uIHRvIGZsb2F0cyBhbmQgdGFibGVzLFxuLy8vIHdlIGNhbiBub3cgdXNlIG11Y2ggbW9yZSBwb3dlcmZ1bCB0b29scyxcbi8vLyBsaWtlIGZsZXhib3ggYW5kIENTUyBncmlkLFxuLy8vIHRvIGJ1aWxkIG1vcmUgaW50ZXJlc3RpbmcgYW5kIHJlc3BvbnNpdmUgbGF5b3V0cy5cbi8vL1xuLy8vIFdpdGggU3VzeTMsIHdlIGhvcGUgeW91J2xsIHN0YXJ0IG1vdmluZyBpbiB0aGF0IGRpcmVjdGlvbi5cbi8vLyBZb3UgY2FuIHN0aWxsIGJ1aWxkIGNsYXNzaWMgMTItY29sdW1uIEdyaWQgU3lzdGVtcyxcbi8vLyBhbmQgd2UnbGwgaGVscCB5b3UgZ2V0IHRoZXJlLFxuLy8vIGJ1dCBTdXN5MyBpcyBwcmltYXJpbHkgZGVzaWduZWQgZm9yIGEgZ3JpZC1tYXRoLW9uLWRlbWFuZFxuLy8vIGFwcHJvYWNoIHRvIGxheW91dDpcbi8vLyBhcHBseWluZyBvdXIgZnVuY3Rpb25zIG9ubHkgd2hlcmUgeW91IHJlYWxseSBuZWVkIGdyaWQgbWF0aC5cbi8vLyBSZWFkIHRoZSBbaW50cm8gYXJ0aWNsZSBieSBPZGRCaXJkXVt3ZWxjb21lXSBmb3IgbW9yZSBkZXRhaWxzLlxuLy8vXG4vLy8gW3dlbGNvbWVdOiBodHRwOi8vb2RkYmlyZC5uZXQvMjAxNy8wNi8yOC9zdXN5My9cbi8vL1xuLy8vIEBncm91cCBiLWFwaVxuLy8vIEBsaW5rIGh0dHA6Ly9vZGRiaXJkLm5ldC8yMDE3LzA2LzI4L3N1c3kzLyBBcnRpY2xlOiBXZWxjb21lIHRvIFN1c3kzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gZmxvYXRzXG4vLy8gICAuZmxvYXQge1xuLy8vICAgICB3aWR0aDogc3BhbigzKTtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBmbGV4Ym94XG4vLy8gICAuZmxleGJveCB7XG4vLy8gICAgIGZsZXg6IDEgMSBzcGFuKDMpO1xuLy8vICAgICAvLyBoYWxmIGEgZ3V0dGVyIG9uIGVpdGhlciBzaWRl4oCmXG4vLy8gICAgIHBhZGRpbmc6IDAgZ3V0dGVyKCkgLyAyO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIHB1c2hpbmcgYW5kIHB1bGxpbmdcbi8vLyAgIC5wdXNoLTMge1xuLy8vICAgICBtYXJnaW4tbGVmdDogc3BhbigzIHdpZGUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAucHVsbC0zIHtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDAgLSBzcGFuKDMgd2lkZSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gYnVpbGRpbmcgYW4gYXR0cmlidXRlIHN5c3RlbVxuLy8vICAgLy8gbWFya3VwIGV4YW1wbGU6IDxkaXYgZGF0YS1zcGFuPVwibGFzdCAzXCI+PC9kaXY+XG4vLy8gICBbZGF0YS1zcGFuXSB7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vXG4vLy8gICAgICY6bm90KFtkYXRhLXNwYW4qPSdsYXN0J10pIHtcbi8vLyAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBmb3IgJHNwYW4gZnJvbSAxIHRocm91Z2ggbGVuZ3RoKHN1c3ktZ2V0KCdjb2x1bW5zJykpIHtcbi8vLyAgICAgW2RhdGEtc3Bhbio9JyN7JHNwYW59J10ge1xuLy8vICAgICAgIHdpZHRoOiBzcGFuKCRzcGFuKTtcbi8vLyAgICAgfVxuLy8vICAgfVxuIiwiLy8gVW5wcmVmaXggU3VzeVxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIFNwYW5cbi8vIC0tLS1cbi8vLyBVbi1wcmVmaXhlZCBhbGlhcyBmb3IgYHN1c3ktc3BhbmBcbi8vLyAoYXZhaWxhYmxlIGJ5IGRlZmF1bHQpXG4vLy9cbi8vLyBAZ3JvdXAgYXBpXG4vLy8gQGFsaWFzIHN1c3ktc3BhblxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkc3BhblxuLy8vIEBwYXJhbSB7bWFwfSAkY29uZmlnIFsoKV1cbkBmdW5jdGlvbiBzcGFuKFxuICAkc3BhbixcbiAgJGNvbmZpZzogKClcbikge1xuICBAcmV0dXJuIHN1c3ktc3Bhbigkc3BhbiwgJGNvbmZpZyk7XG59XG5cblxuLy8gR3V0dGVyXG4vLyAtLS0tLS1cbi8vLyBVbi1wcmVmaXhlZCBhbGlhcyBmb3IgYHN1c3ktZ3V0dGVyYFxuLy8vIChhdmFpbGFibGUgYnkgZGVmYXVsdClcbi8vL1xuLy8vIEBncm91cCBhcGlcbi8vLyBAYWxpYXMgc3VzeS1ndXR0ZXJcbi8vL1xuLy8vIEBwYXJhbSB7aW50ZWdlciB8IGxpc3R9ICRjb250ZXh0IFtudWxsXSAtXG4vLy8gQHBhcmFtIHttYXB9ICRjb25maWcgWygpXVxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJGNvbnRleHQ6IHN1c3ktZ2V0KCdjb2x1bW5zJyksXG4gICRjb25maWc6ICgpXG4pIHtcbiAgQHJldHVybiBzdXN5LWd1dHRlcigkY29udGV4dCwgJGNvbmZpZyk7XG59XG5cblxuLy8gU2xpY2Vcbi8vIC0tLS0tXG4vLy8gVW4tcHJlZml4ZWQgYWxpYXMgZm9yIGBzdXN5LXNsaWNlYFxuLy8vIChhdmFpbGFibGUgYnkgZGVmYXVsdClcbi8vL1xuLy8vIEBncm91cCBhcGlcbi8vLyBAYWxpYXMgc3VzeS1zbGljZVxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkc3BhblxuLy8vIEBwYXJhbSB7bWFwfSAkY29uZmlnIFsoKV1cbkBmdW5jdGlvbiBzbGljZShcbiAgJHNwYW4sXG4gICRjb25maWc6ICgpXG4pIHtcbiAgQHJldHVybiBzdXN5LXNsaWNlKCRzcGFuLCAkY29uZmlnKTtcbn1cbiIsIi8vIE1hcHB5IGJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gT3V0cHV0IG1lZGlhIHF1ZXJ5IHdpdGggZm9jdXMgb24gbWluLXdpZHRoLCBtYXgtd2lkdGgsIG1pbi1oZWlnaHQgYW5kIG1heC1oZWlnaHQuXG4vLyBPdGhlciBtZWRpYSBydWxlcyBhcmUgcGFzc2VkIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgaW4gYSBtYXBcbi8vXG4vLyBAYXV0aG9yIFplbGwgTGlld1xuLy8gPT09PT09PT09PT09PT09PT1cbiRicmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG4kbWFwcHktcXVlcmllczogKCkgIWRlZmF1bHQ7XG5cbi8vIE1hcHB5IEJQIFtNaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJHF1ZXJpZXMgICAgICAgICA6IDxzdHJpbmc+IG9yIDxudW1iZXI+IGluIHRoZSBmb3JtYXQ6XG4vLyAgICAgICAgICAgICAgICAgICAgICA8bWluLXdpZHRoPiA8bWF4LXdpZHRoPiBoIDxtaW4taGVpZ2h0PiA8bWF4LWhlaWdodD4gPGtleT4gPHZhbHVlPlxuLy8gLSAkdHlwZSAgICAgICAgICAgIDogPG1lZGlhLXR5cGU+XG4vLyAtICRxdWVyeS1mYWxsYmFjayAgOiA8c3RyaW5nPiBzZWxlY3RvciBjbGFzc1xuLy8gLSAkYnJlYWtwb2ludHMgICAgIDogPG1hcD5cbkBtaXhpbiBtYXBweS1icCgkcXVlcmllcywgJHR5cGU6IGFsbCwgJHF1ZXJ5LWZhbGxiYWNrOiBudWxsLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuXG4gIC8vIEdldHMgbWFwcHkgbWFwIHRocm91Z2ggbWFwcHktYnAgZm5cbiAgJG1hcHB5LW1hcDogbWFwcHktYnAoJHF1ZXJpZXMsICR0eXBlLCAkcXVlcnktZmFsbGJhY2ssICRicmVha3BvaW50cyk7XG5cbiAgLy8gT3V0cHV0cyBtZWRpYSBzdHJpbmdcbiAgQG1lZGlhICN7bWFwLWdldCgkbWFwcHktbWFwLCB0eXBlKX0gYW5kICN7bWFwLWdldCgkbWFwcHktbWFwLCBtZWRpYS1zdHJpbmcpfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBJZiBhIHF1ZXJ5IGZhbGxiYWNrIGlzIHByb3ZpZGVkXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sge1xuICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXBweSBRdWVyeSBbTWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPdXRwdXQgcXVlcnkgZnJvbSAkbWFwcHktcXVlcmllcyBtYXAuXG4vLyAkcXVlcnkgOiA8c3RyaW5nPiBmcm9tICRtYXBweS1xdWVyaWVzIGtleVxuQG1peGluIG1hcHB5LXF1ZXJ5KCRxdWVyeSwgJG1hcHB5LXF1ZXJpZXM6ICRtYXBweS1xdWVyaWVzKSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1hcHB5LXF1ZXJpZXMsICRxdWVyeSkge1xuICAgIEBlcnJvciBcIiN7JG1hcHB5LXF1ZXJpZXN9IGRvZXMgbm90IGNvbnRhaW4gI3skcXVlcnl9XCI7XG4gIH1cblxuICAkbWFwcHktbWFwOiBtYXAtZ2V0KCRtYXBweS1xdWVyaWVzLCAkcXVlcnkpO1xuXG4gIEBtZWRpYSAje21hcC1nZXQoJG1hcHB5LW1hcCwgdHlwZSl9IGFuZCAje21hcC1nZXQoJG1hcHB5LW1hcCwgbWVkaWEtc3RyaW5nKX0ge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gSWYgYSBxdWVyeSBmYWxsYmFjayBpcyBwcm92aWRlZFxuICBAaWYgbWFwLWdldCgkbWFwcHktbWFwLCBxdWVyeS1mYWxsYmFjaykge1xuICAgICN7bWFwLWdldCgkbWFwcHktbWFwLCBxdWVyeS1mYWxsYmFjayl9ICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcHB5IEJQIFtGdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybnMgYSBtYXAgd2l0aCAzIGtleXNcbi8vIC0gdHlwZSAgICAgICAgICAgOiBNZWRpYSB0eXBlXG4vLyAtIG1lZGlhLXN0cmluZyAgIDogbWVkaWEgcXVlcnkgc3RyaW5nXG4vLyAtIHF1ZXJ5LWZhbGxiYWNrIDogcXVlcnkgZmFsbGJhY2sgKGlmIGFueSlcbkBmdW5jdGlvbiBtYXBweS1icCgkcXVlcmllcywgJHR5cGU6IGFsbCwgJHF1ZXJ5LWZhbGxiYWNrOiBudWxsLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAkbWVkaWEtc3RyaW5nOiAoKTtcbiAgJF9yZXR1cm46ICgpO1xuICAkbWVkaWEtbWFwOiBwYXJzZS1icCgkcXVlcmllcywgJGJyZWFrcG9pbnRzKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1lZGlhLW1hcCB7XG4gICAgQGlmICR2YWx1ZSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgQGlmICRtZWRpYS1zdHJpbmcgPT0gKCgpKSB7XG4gICAgICAgICRtZWRpYS1zdHJpbmc6IGFwcGVuZCgkbWVkaWEtc3RyaW5nLCB1bnF1b3RlKFwiKCN7JGtleX06ICN7JHZhbHVlfSlcIikpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICRtZWRpYS1zdHJpbmc6IGFwcGVuZCgkbWVkaWEtc3RyaW5nLCB1bnF1b3RlKFwiYW5kICgjeyRrZXl9OiAjeyR2YWx1ZX0pXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJF9yZXR1cm46IChcbiAgICB0eXBlOiAkdHlwZSxcbiAgICBtZWRpYS1zdHJpbmc6IGltcGxvZGUoJG1lZGlhLXN0cmluZyksXG4gICAgcXVlcnktZmFsbGJhY2s6ICRxdWVyeS1mYWxsYmFja1xuICApO1xuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cbi8vIEJQIFtNaXhpbl1cbi8vIC0tLS0tLS0tLS1cbi8vIENvbnZlbmllbmNlIG1peGluIGZvciBNYXBweSBCcmVha3BvaW50c1xuQG1peGluIGJwKCRxdWVyaWVzLCAkdHlwZTogYWxsLCAkcXVlcnktZmFsbGJhY2s6IG51bGwsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1hcHB5LWJwKCRxdWVyaWVzLCAkdHlwZSwgJHF1ZXJ5LWZhbGxiYWNrLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBQYXJzZSBCUCBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZXMgYXJndW1lbnRzIGFuZCByZXR1cm5zIGEgbWFwIHdpdGggNCBrZXlzXG5AZnVuY3Rpb24gcGFyc2UtYnAoJHF1ZXJpZXMsICRicmVha3BvaW50cykge1xuICAkX3JldHVybjogKCk7XG4gICRfaTogMTtcbiAgJF9taW53OiBudWxsO1xuICAkX21heHc6IG51bGw7XG4gICRfbWluaDogbnVsbDtcbiAgJF9tYXhoOiBudWxsO1xuICAkX2xlbmd0aDogbGVuZ3RoKCRxdWVyaWVzKTtcblxuICAvLyBDaGVja3MgZm9yIHdpZHRoIHF1ZXJpZXNcbiAgJF9taW53OiBudGgoJHF1ZXJpZXMsIDEpO1xuICAkX21pbnc6IG1hcHB5LXZhbGlkYXRlKCRfbWludywgJGJyZWFrcG9pbnRzKTtcblxuICAvLyBDaGVjayBmb3Igd2lkdGggcXVlcmllc1xuICBAaWYgJF9taW53IHtcbiAgICAkX21pbnc6IG1hcHB5LWNvbnZlcnQtdG8tZW0oJF9taW53KTtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobWluLXdpZHRoOiAkX21pbncpKTtcbiAgICAkcXVlcmllczogc2V0LW50aCgkcXVlcmllcywgMSwgbnVsbCk7XG4gIH1cblxuICAvLyBDaGVja3MgaWYgdGhlcmUgaXMgYSBtYXggd2lkdGggcXVlcnlcbiAgQGlmICRfbWludyBhbmQgJF9sZW5ndGggPj0gMiB7XG4gICAgJF9tYXh3OiBudGgoJHF1ZXJpZXMsIDIpO1xuICAgICRfbWF4dzogbWFwcHktdmFsaWRhdGUoJF9tYXh3LCAkYnJlYWtwb2ludHMpO1xuICB9XG5cbiAgQGlmICRfbWF4dyB7XG4gICAgJF9tYXh3OiBtYXBweS1jb252ZXJ0LXRvLWVtKCRfbWF4dyAtIDFweCk7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKG1heC13aWR0aDogJF9tYXh3KSk7XG4gICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsIDIsIG51bGwpO1xuICB9XG5cbiAgLy8gQ2hlY2tzIGZvciBoZWlnaHQgcXVlcmllc1xuICAkX2g6IGluZGV4KCRxdWVyaWVzLCBoKSBvciBpbmRleCgkcXVlcmllcywgaGVpZ2h0KTtcblxuICBAaWYgJF9oIHtcbiAgICAkX21pbmg6IG50aCgkcXVlcmllcywgJF9oICsgMSk7XG4gICAgJF9taW5oOiBtYXBweS12YWxpZGF0ZSgkX21pbmgsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJF9taW5oIHtcbiAgICAgICRfbWluaDogbWFwcHktY29udmVydC10by1lbSgkX21pbmgpO1xuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKG1pbi1oZWlnaHQ6ICRfbWluaCkpO1xuICAgICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsICRfaCArIDEsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIENoZWNrcyBpZiB0aGVyZSBpcyBhIG1heCBoZWlnaHQgcXVlcnlcbiAgICBAaWYgJF9sZW5ndGggLSAkX2ggPj0gMiB7XG4gICAgICAkX21heGg6IG50aCgkcXVlcmllcywgJF9oICsgMik7XG4gICAgICAkX21heGg6IG1hcHB5LXZhbGlkYXRlKCRfbWF4aCwgJGJyZWFrcG9pbnRzKTtcbiAgICB9XG5cbiAgICBAaWYgJF9tYXhoIHtcbiAgICAgICRfbWF4aDogbWFwcHktY29udmVydC10by1lbSgkX21heGggLSAxcHgpO1xuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKG1heC1oZWlnaHQ6ICRfbWF4aCkpO1xuICAgICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsICRfaCArIDIsIG51bGwpO1xuICAgIH1cbiAgICAvLyBSZXNldCBoIG1hcmtlclxuICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAkX2gsIG51bGwpO1xuICB9XG5cbiAgLy8gQ2hlY2tzIGZvciBvdGhlciBxdWVyaWVzXG4gIEB3aGlsZSAkX2kgPD0gbGVuZ3RoKCRxdWVyaWVzKSB7XG4gICAgJF9rZXk6IG50aCgkcXVlcmllcywgJF9pKTtcblxuICAgIEBpZiAkX2tleSBhbmQgJF9sZW5ndGggLSAkX2kgPj0gMSB7XG4gICAgICAkX3ZhbDogbnRoKCRxdWVyaWVzLCAkX2kgKyAxKTtcbiAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgjeyRfa2V5fTogJF92YWwpKTtcbiAgICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAkX2ksIG51bGwpO1xuICAgICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsICRfaSArIDEsIG51bGwpO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRfa2V5IHtcbiAgICAgIEB3YXJuIHVucXVvdGUoJ1wiTWFwcHkgQnJlYWtwb2ludHMgaXMgbWlzc2luZyB2YWx1ZSBmb3IgbWVkaWEgZmVhdHVyZSBcIiN7JF9rZXl9XCJcIicpO1xuICAgIH1cbiAgICAkX2k6ICRfaSArIDE7XG4gIH1cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuLy8gTWFwcHkgVmFsaWRhdGUgW0Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2tzIGlmICRxdWVyeSBnaXZlbiBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZzpcbi8vIDEpIElzIGEgJGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuLy8gMikgSXMgYSBudW1iZXJcbi8vIDMpIElzIGEgXCJtYXhcIiwgXCJtYXgtd2lkdGhcIiBvciBcIm1heC1oZWlnaHRcIiBzdHJpbmdcbkBmdW5jdGlvbiBtYXBweS12YWxpZGF0ZSgkcXVlcnksICRicmVha3BvaW50cykge1xuICAkX3JldHVybjogbnVsbDtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcXVlcnkpIHtcbiAgICAkX3JldHVybjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRxdWVyeSk7XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIHtcbiAgICAkX3JldHVybjogJHF1ZXJ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHF1ZXJ5ID09IFwibWF4XCIgb3IgJHF1ZXJ5ID09IFwibWF4LWhlaWdodFwiIG9yICRxdWVyeSA9PSBcIm1heC13aWR0aFwiIHtcbiAgICAkX3JldHVybjogMDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkX3JldHVybjogbnVsbDtcbiAgfVxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG4vLyBNYXBweSBDb252ZXJ0IFRvIEVtIFtGdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrcyBhbmQgY29udmVydHMgcHggdmFsdWVzIHRvIGVtLiBMZWF2ZSBvdGhlciB1bml0cyB1bnRvdWNoZWQuXG5cbkBmdW5jdGlvbiBtYXBweS1jb252ZXJ0LXRvLWVtKCR2YWwpIHtcbiAgQGlmIHVuaXQoJHZhbCkgPT0gXCJweFwiIG9yICR2YWwgPT0gMCB7XG4gICAgQHJldHVybiBtYXBweS1lbSgkdmFsKTtcbiAgfSBAZWxzZSBpZiB1bml0KCR2YWwpID09IFwiZW1cIiB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9IEBlbHNlIGlmIHVuaXQoJHZhbCkgPT0gXCJyZW1cIiB7XG4gICAgQHJldHVybiBtYXBweS1zdHJpcC11bml0KCR2YWwpICogMWVtO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgdW5xdW90ZShcIkJyZWFrcG9pbnQgdmFsdWUgbXVzdCBoYXZlIGEgdW5pdCBpZiBpdCdzIGEgbnVtYmVyXCIpO1xuICB9XG59XG5cbi8vIE1hcHB5IEVtIFtGdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb252ZXJ0cyBwaXhlbHMgdG8gZW0gd2l0aCAkYmFzZS1mb250LXNpemVcbi8vIC0gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vaWp5LzE0NDE5NjdcbkBmdW5jdGlvbiBtYXBweS1lbSgkdGFyZ2V0LCAkY29udGV4dDogMTZweCkge1xuICBAaWYgJHRhcmdldCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiAkdGFyZ2V0IC8gJGNvbnRleHQgKiAxZW07XG59XG5cbkBmdW5jdGlvbiBtYXBweS1zdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIEltcGxvZGUgW0Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEltcGxvZGUgYSBsaXN0IGludG8gYSBzdHJpbmdcbkBmdW5jdGlvbiBpbXBsb2RlKCRsaXN0LCAkZ2x1ZTogJyAnKSB7XG4gICRyZXM6IG51bGw7XG4gICRsZW46IGxlbmd0aCgkbGlzdCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuIHtcbiAgICAkZTogbnRoKCRsaXN0LCAkaSk7XG4gICAgQGlmICRpID09ICRsZW4ge1xuICAgICAgJHJlczogdW5xdW90ZShcIiN7JHJlc30jeyRlfVwiKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHJlczogdW5xdW90ZShcIiN7JHJlc30jeyRlfSN7JGdsdWV9XCIpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJlcztcbn1cbiIsIiRicmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG4kdHlwaTogKG51bGw6ICgxNnB4LCAxLjUpKSAhZGVmYXVsdDtcbiR0eXBpLW1zOiBmYWxzZSAhZGVmYXVsdDtcbiR0eXBpLWJyZWFrcG9pbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ3R5L21peGlucyc7XG5AaW1wb3J0ICd0eS9mdW5jdGlvbnMnO1xuQGltcG9ydCAndHlwaS90eXBpJztcbiIsIlxuLy8gX3R5LWJyZWFrcG9pbnRcbi8vID09PT09PT09PT09PT09XG4vLyBBbGxvd3MgdXNlIG9mIGJyZWFrcG9pbnQtc2FzcyBhbmQgbWFwcHktYnAuXG4vLyBGYWxscyBiYWNrIHRvIGRlZmF1bHQgbWV0aG9kIG90aGVyd2lzZS5cbkBtaXhpbiBfdHktYnJlYWtwb2ludChcbiAgJHR5cGktbWFwXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IG1hcC1nZXQoJHR5cGktbWFwLCBicmVha3BvaW50KTtcbiAgJGJyZWFrcG9pbnRzOiBtYXAtZ2V0KCR0eXBpLW1hcCwgYnJlYWtwb2ludHMpO1xuICAkYnAtdmFsOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAkdHlwaS1icmVha3BvaW50ID09IGJyZWFrcG9pbnQge1xuICAgIEBpZiBtaXhpbi1leGlzdHMoYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RvIGVtcycsIHRydWUpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XG4gICAgICAgIEBpbmNsdWRlIF90eS13cml0ZS1wcm9wcygkdHlwaS1tYXApO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yICdCcmVha3BvaW50LXNhc3MgTGlicmFyeSBub3QgZm91bmQnXG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGktYnJlYWtwb2ludCA9PSBtYXBweS1icmVha3BvaW50IG9yICR0eXBpLWJyZWFrcG9pbnQgPT0gbWFwcHktYnJlYWtwb2ludHMge1xuICAgIEBpZiBtaXhpbi1leGlzdHMobWFwcHktYnApIHtcbiAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGluY2x1ZGUgX3R5LXdyaXRlLXByb3BzKCR0eXBpLW1hcCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ01hcHB5IEJyZWFrcG9pbnRzIExpYnJhcnkgbm90IGZvdW5kJ1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCl9KSB7XG4gICAgICBAaW5jbHVkZSBfdHktd3JpdGUtcHJvcHMoJHR5cGktbWFwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gX3R5LXdyaXRlLXByb3BzXG4vLyA9PT09PT09PT09PT09PT1cbi8vIFdyaXRlcyBmb250LXNpemUgKGFuZCBsaW5lIGhlaWdodCkgcHJvcGVydGllc1xuQG1peGluIF90eS13cml0ZS1wcm9wcyAoXG4gICR0eXBpLW1hcFxuKSB7XG4gICR0YXJnZXQ6IG1hcC1nZXQoJHR5cGktbWFwLCB0YXJnZXQpO1xuICAkYnJlYWtwb2ludDogbWFwLWdldCgkdHlwaS1tYXAsIGJyZWFrcG9pbnQpO1xuICAkdHlwaTogbWFwLWdldCgkdHlwaS1tYXAsIHR5cGkpO1xuICAkYmFzZTogbWFwLWdldCgkdHlwaS1tYXAsIGJhc2UpO1xuICAkcmVtOiBtYXAtZ2V0KCR0eXBpLW1hcCwgcmVtKTtcblxuICAkYnAtdmFsOiBtYXAtZ2V0KCR0YXJnZXQsICRicmVha3BvaW50KTtcbiAgJGZvbnQtc2l6ZTogbnVsbDtcbiAgJGxpbmUtaGVpZ2h0OiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRicC12YWwpID09ICdudWxsJyB7XG4gICAgJGxhc3QtdmFsaWQtYnJlYWtwb2ludDogbWFwLWdldCgkdHlwaS1tYXAsIGxhc3QtdmFsaWQtYnJlYWtwb2ludCk7XG4gICAgJGJwLXZhbDogbWFwLWdldCgkdGFyZ2V0LCAkbGFzdC12YWxpZC1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRicC12YWwpID09IFwibGlzdFwiIGFuZCBsZW5ndGgoJGJwLXZhbCkgPiAxIHtcbiAgICAkZm9udC1zaXplOiBudGgoJGJwLXZhbCwgMSk7XG4gICAgJGxpbmUtaGVpZ2h0OiBudGgoJGJwLXZhbCwgMik7XG4gICAgZm9udC1zaXplOiBfdHktZm9udC1zaXplKCRmb250LXNpemUsICRicmVha3BvaW50LCAkdHlwaSwgJHJlbSwgJGJhc2UsICR0eXBpLW1hcCk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuICBAZWxzZSAge1xuICAgICRmb250LXNpemU6ICRicC12YWw7XG4gICAgZm9udC1zaXplOiBfdHktZm9udC1zaXplKCRmb250LXNpemUsICRicmVha3BvaW50LCAkdHlwaSwgJHJlbSwgJGJhc2UsICR0eXBpLW1hcCk7XG4gIH1cbn0iLCIvLyBfdHktZm9udC1zaXplXG4vLyA9PT09PT09PT09PT09XG4vLyBDYWxscyBfdHktY2FsYy1mb250LXNpemUgb3IgX3R5LWJhc2Utc2l6ZVxuQGZ1bmN0aW9uIF90eS1mb250LXNpemUoXG4gICRmb250LXNpemUsXG4gICRicmVha3BvaW50LFxuICAkdHlwaSxcbiAgJHJlbSxcbiAgJGJhc2U6IGZhbHNlLFxuICAkdHlwaS1tYXA6IGZhbHNlXG4pIHtcbiAgQGlmICRiYXNlID09IHRydWUge1xuICAgIEByZXR1cm4gX3R5LWJhc2Utc2l6ZSgkZm9udC1zaXplKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBfdHktY2FsYy1mb250LXNpemUoJGZvbnQtc2l6ZSwgJGJyZWFrcG9pbnQsICR0eXBpLCAkcmVtLCAkdHlwaS1tYXApO1xuICB9XG59XG5cbi8vIF90eS1jYWxjLWZvbnQtc2l6ZVxuLy8gPT09PT09PVxuLy8gcmV0dXJucyBjb3JyZWN0IHJlbSB2YWx1ZSBkZXBlbmRpbmcgb25cbi8vIGJyZWFrcG9pbnRcbkBmdW5jdGlvbiBfdHktY2FsYy1mb250LXNpemUoXG4gICRmb250LXNpemUsXG4gICRicmVha3BvaW50LFxuICAkdHlwaSxcbiAgJHJlbSxcbiAgJHR5cGktbWFwOiBmYWxzZVxuKSB7XG4gIEBpZiB1bml0bGVzcygkZm9udC1zaXplKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhtcykge1xuICAgICAgJHR5cGktbXM6IG1hcC1nZXQoJHR5cGktbWFwLCBtcyk7XG4gICAgICBAaWYgJHJlbSB7XG4gICAgICAgIEByZXR1cm4gX3R5LXN0cmlwLXVuaXQoX3R5LW1zKCRmb250LXNpemUsICRicmVha3BvaW50LCAkdHlwaS1tcywgJHR5cGktbWFwKSkgKiAxcmVtO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gX3R5LW1zKCRmb250LXNpemUsICRicmVha3BvaW50LCAkdHlwaS1tcywgJHR5cGktbWFwKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIk1vZHVsYXIgU2NhbGUgTGlicmFyeSByZXF1aXJlZFwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgcHggYW5kIGVtIGludG8gcmVtXG4gIEBlbHNlIGlmICRyZW0ge1xuICAgIEBpZiB1bml0KCRmb250LXNpemUpID09ICdlbScge1xuICAgICAgQHJldHVybiBfdHktc3RyaXAtdW5pdCgkZm9udC1zaXplKSAqIDFyZW07XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnIHtcbiAgICAgICRiYXNlbWFwOiBtYXAtZ2V0KCR0eXBpLCAkYnJlYWtwb2ludCk7XG4gICAgICAkYmFzZWZvbnQ6IGlmKHR5cGUtb2YoJGJhc2VtYXApID09ICdsaXN0JywgbnRoKCRiYXNlbWFwLCAxKSwgJGJhc2VtYXApO1xuXG4gICAgICBAaWYgJGJhc2Vmb250ID09IG51bGwge1xuICAgICAgICAkYmFzZWZvbnQ6IG50aChtYXAtZ2V0KCR0eXBpLCBudWxsKSwgMSk7XG4gICAgICB9XG5cbiAgICAgIEByZXR1cm4gJGZvbnQtc2l6ZSAvICRiYXNlZm9udCAqIDFyZW07XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiAkZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnRzIHJlbSBhbmQgcHggaW50byBlbVxuICBAZWxzZSB7XG4gICAgQGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3JlbScge1xuICAgICAgQHJldHVybiBfdHktc3RyaXAtdW5pdCgkZm9udC1zaXplKSAqIDFlbTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiB1bml0KCRmb250LXNpemUpID09ICdweCcge1xuICAgICAgJGJhc2VtYXA6IG1hcC1nZXQoJHR5cGksICRicmVha3BvaW50KTtcbiAgICAgICRiYXNlZm9udDogaWYodHlwZS1vZigkYmFzZW1hcCkgPT0gJ2xpc3QnLCBudGgoJGJhc2VtYXAsIDEpLCAkYmFzZW1hcCk7XG5cbiAgICAgIEBpZiAkYmFzZWZvbnQgPT0gbnVsbCB7XG4gICAgICAgICRiYXNlZm9udDogbnRoKG1hcC1nZXQoJHR5cGksIG51bGwpLCAxKTtcbiAgICAgIH1cblxuICAgICAgQHJldHVybiBfdHktZW0oJGZvbnQtc2l6ZSwgJGJhc2Vmb250KTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRmb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vIF90eS1iYXNlLXNpemVcbi8vID09PT09PT09PT09PT1cbi8vIENvbnZlcnRzIFR5cGkgc2l6ZXMgaW50byBwZXJjZW50YWdlc1xuQGZ1bmN0aW9uIF90eS1iYXNlLXNpemUoXG4gICRmb250LXNpemVcbikge1xuICBAaWYgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuICRmb250LXNpemUgLyAxNnB4ICogMTAwJTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1R5cGkgZm9udCBzaXplcyBtdXN0IGJlIHdyaXR0ZW4gaW4gcGl4ZWxzJztcbiAgfVxufVxuXG5cbi8vIF90eS1zdHJpcC11bml0XG4vLyA9PT09PT09PT09PT09PVxuQGZ1bmN0aW9uIF90eS1zdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIF90eS1lbVxuLy8gPT09PT09PT1cbkBmdW5jdGlvbiBfdHktZW0oJGZvbnQtc2l6ZSwgJHJlZi1zaXplOiBmYWxzZSkge1xuICBAaWYgKCRyZWYtc2l6ZSkge1xuICAgIEByZXR1cm4gJGZvbnQtc2l6ZSAvICRyZWYtc2l6ZSAqIDFlbTtcbiAgfVxufVxuXG4vLyBfdHktcmVtXG4vLyA9PT09PT09PT1cbkBmdW5jdGlvbiBfdHktcmVtKCRmb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCRmb250LXNpemUpIC8gMTYgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ2VtJyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCRmb250LXNpemUpICogMXJlbTtcbiAgfVxufVxuXG4vLyBfdHktbXNcbi8vID09PT09PVxuQGZ1bmN0aW9uIF90eS1tcyhcbiAgJG11bHRpcGxpZXIsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdHlwaS1tczogJHR5cGktbXMsXG4gICR0eXBpLW1hcDogZmFsc2Vcbikge1xuICAkbXMtc2V0dGluZzogbnVsbDtcbiAgQGlmIG1hcC1oYXMta2V5KCR0eXBpLW1zLCAkYnJlYWtwb2ludCkge1xuICAgICRtcy1zZXR0aW5nOiBtYXAtZ2V0KCR0eXBpLW1zLCAkYnJlYWtwb2ludCk7XG4gIH0gQGVsc2Uge1xuICAgICRsYXN0LXZhbGlkLW1zOiBtYXAtZ2V0KCR0eXBpLW1hcCwgbGFzdC12YWxpZC1tcyk7XG4gICAgJG1zLXNldHRpbmc6IG1hcC1nZXQoJHR5cGktbXMsICRsYXN0LXZhbGlkLW1zKTtcbiAgfVxuXG4gICR0eS1tcy1iYXNlOiBudWxsO1xuICAkdHktbXMtcmF0aW86IG51bGw7XG5cbiAgQGZvciAkaSBmcm9tIDEgdG8gbGVuZ3RoKCRtcy1zZXR0aW5nKSArIDEge1xuICAgICR2YWw6IG50aCgkbXMtc2V0dGluZywgJGkpO1xuXG5cbiAgICAvLyBGb3IgY29tYmluYXRpb25zIG9mIG11bHRpcGxlIGJhc2VzICsgbXVsdGlwbGUgcmF0aW9zXG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIHtcbiAgICAgIEBpZiBub3QgdW5pdGxlc3MobnRoKCR2YWwsIDEpKSB7XG4gICAgICAgICR0eS1tcy1iYXNlOiAkdmFsO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0eS1tcy1yYXRpbzogJHZhbDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gRm9yIGNvbWJpbmF0aW9ucyBvZiAxIGJhc2UgKyBtdWx0aXBsZSByYXRpb3NcbiAgICBAZWxzZSB7XG4gICAgICBAaWYgdW5pdGxlc3MoJHZhbCkge1xuICAgICAgICBAaWYgJHR5LW1zLXJhdGlvID09IG51bGwge1xuICAgICAgICAgICR0eS1tcy1yYXRpbzogJHZhbDtcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR0eS1tcy1yYXRpbykgPT0gXCJudW1iZXJcIiB7XG4gICAgICAgICAgJHR5LW1zLXJhdGlvOiAkdHktbXMtcmF0aW8gJHZhbDtcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR0eS1tcy1yYXRpbykgPT0gXCJsaXN0XCIge1xuICAgICAgICAgICR0eS1tcy1yYXRpbzogYXBwZW5kKCR0eS1tcy1yYXRpbywgJHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaWYgJHR5LW1zLWJhc2UgPT0gbnVsbCB7XG4gICAgICAgICAgJHR5LW1zLWJhc2U6ICR2YWw7XG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdHktbXMtYmFzZSkgPT0gJ251bWJlcicge1xuICAgICAgICAgICR0eS1tcy1iYXNlOiAoJHR5LW1zLWJhc2UgJHZhbClcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR0eS1tcy1iYXNlKSA9PSAnbGlzdCcge1xuICAgICAgICAgICR0eS1tcy1iYXNlOiBhcHBlbmQoJHR5LW1zLWJhc2UsICR2YWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICR0eS1tcy1iYXNlID09IG51bGwge1xuICAgICR0eS1tcy1iYXNlOiAxZW07XG4gIH1cblxuICBAcmV0dXJuIG1zKCRtdWx0aXBsaWVyLCAkdHktbXMtYmFzZSwgJHR5LW1zLXJhdGlvKTtcbn1cblxuLy8gX3R5LWdldC1icmVha3BvaW50c1xuLy8gPT09PT09PT09PT09PT09PT09PVxuQGZ1bmN0aW9uIF90eS1nZXQtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzLCAkdHlwaS1tcywgJHRhcmdldCkge1xuICAkX3JldHVybjogbnVsbDtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiB0eXBlLW9mKCR0eXBpLW1zKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJHR5cGktbXMsICRicmVha3BvaW50KSB7XG4gICAgICBAaWYgbm90IGluZGV4KCRfcmV0dXJuLCAkYnJlYWtwb2ludCkge1xuICAgICAgICAkX3JldHVybjogYXBwZW5kKCRfcmV0dXJuLCAkYnJlYWtwb2ludCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCR0YXJnZXQsICRicmVha3BvaW50KSB7XG4gICAgICBAaWYgbm90IGluZGV4KCRfcmV0dXJuLCAkYnJlYWtwb2ludCkge1xuICAgICAgICAkX3JldHVybjogYXBwZW5kKCRfcmV0dXJuLCAkYnJlYWtwb2ludCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cbi8vIF90eS1nZXQtYmFzZS1mb250XG5AZnVuY3Rpb24gX3R5LWdldC1iYXNlLWZvbnQoJHR5cGkpIHtcbiAgJGJhc2UtbWFwOiBtYXAtZ2V0KCR0eXBpLCBudWxsKTtcbiAgQHJldHVybiBudGgoJGJhc2UtbWFwLCAxKTtcbn1cblxuLy8gX3R5LWdldC1iYXNlLWxpbmUtaGVpZ2h0XG5AZnVuY3Rpb24gX3R5LWdldC1iYXNlLWxpbmUtaGVpZ2h0KCR0eXBpKSB7XG4gICRiYXNlLW1hcDogbWFwLWdldCgkdHlwaSwgbnVsbCk7XG4gICRiYXNlLWxpbmUtaGVpZ2h0OiBudWxsO1xuXG4gIEBpZiBsZW5ndGgoJGJhc2UtbWFwKSA+IDEge1xuICAgICRiYXNlLWxpbmUtaGVpZ2h0OiBudGgoJGJhc2UtbWFwLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiJHR5cGkgbWFwIHNob3VsZCBjb250YWluIGEgc2Vjb25kIGFyZ3VtZW50IChsaW5lLWhlaWdodCkgaW4gdGhlIGBudWxsYCBrZXlcIjtcbiAgfVxuXG4gIEBpZiBub3QgdW5pdCgkYmFzZS1saW5lLWhlaWdodCkgPT0gXCJcIiB7XG4gICAgQGVycm9yIFwibGluZS1oZWlnaHQgbXVsdGlwbGUgb24gdGhlIGBudWxsYCBrZXkgc2hvdWxkIGJlIHVuaXRsZXNzXCI7XG4gIH1cblxuICBAcmV0dXJuICRiYXNlLWxpbmUtaGVpZ2h0O1xufVxuIiwiQG1peGluIHR5cGkoXG4gICR0YXJnZXQtbWFwLFxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cyxcbiAgJHR5cGk6ICR0eXBpLFxuICAkdHlwaS1tczogJHR5cGktbXMsXG4gICRiYXNlOiBmYWxzZSxcbiAgJHJlbTogdHJ1ZVxuKSB7XG4gICR0eXBpLW1hcDogKFxuICAgIHRhcmdldDogJHRhcmdldC1tYXAsXG4gICAgYnJlYWtwb2ludHM6ICRicmVha3BvaW50cyxcbiAgICB0eXBpOiAkdHlwaSxcbiAgICBiYXNlOiAkYmFzZSxcbiAgICByZW06ICRyZW0sXG4gICAgbXM6ICR0eXBpLW1zXG4gICk7XG5cbiAgJGJyZWFrcG9pbnRzLXRvLW91dHB1dDogX3R5LWdldC1icmVha3BvaW50cygkYnJlYWtwb2ludHMsICR0eXBpLW1zLCAkdGFyZ2V0LW1hcCk7XG4gIEBlYWNoICRicmVha3BvaW50IGluICRicmVha3BvaW50cy10by1vdXRwdXQge1xuICAgICR0YXJnZXQ6ICR0YXJnZXQtbWFwO1xuICAgICR0eXBpLW1hcDogbWFwLW1lcmdlKCR0eXBpLW1hcCwgKGJyZWFrcG9pbnQ6ICRicmVha3BvaW50KSk7XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfdHktd3JpdGUtcHJvcHMoJHR5cGktbWFwKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaW5jbHVkZSBfdHktYnJlYWtwb2ludCgkdHlwaS1tYXApO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiTWlzc2luZyAjeyRicmVha3BvaW50fSBpbiAkYnJlYWtwb2ludHMgbWFwXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIHByZXZpb3VzIHZhbGlkIGJyZWFrcG9pbnRcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHRhcmdldCwgJGJyZWFrcG9pbnQpIHtcbiAgICAgICR0eXBpLW1hcDogbWFwLW1lcmdlKCR0eXBpLW1hcCwgKGxhc3QtdmFsaWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQpKVxuICAgIH1cblxuICAgIC8vIEFkZCBwcmV2aW91cyB2YWxpZCBtc1xuICAgIEBpZiB0eXBlLW9mKCR0eXBpLW1zKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJHR5cGktbXMsICRicmVha3BvaW50KSAge1xuICAgICAgJHR5cGktbWFwOiBtYXAtbWVyZ2UoJHR5cGktbWFwLCAobGFzdC12YWxpZC1tczogJGJyZWFrcG9pbnQpKVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHlwaS1iYXNlKFxuICAkdHlwaTogJHR5cGksXG4gICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzLFxuICAkdHlwaS1tczogJHR5cGktbXMsXG4gICRiYXNlOiB0cnVlLFxuICAkcmVtOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgdHlwaShcbiAgICAkdHlwaSxcbiAgICAkYnJlYWtwb2ludHMsXG4gICAgJHR5cGk6ICR0eXBpLFxuICAgICR0eXBpLW1zOiAkdHlwaS1tcyxcbiAgICAkYmFzZTogJGJhc2UsXG4gICAgJHJlbTogJHJlbVxuICApO1xufVxuXG4vLyBWZXJ0aWNhbCByaHl0aG0gZnVuY3Rpb24uIFBvc3NpYmxlIHRvIG91dHB1dCBib3RoIEVNIGFuZCBSRU0uXG4vLyBSZXF1aXJlcyBsaW5lIGhlaWdodCB0byBiZSBzZXQgb24gJHR5cGkgbWFwIGZvciAnbnVsbCcgYnJlYWtwb2ludFxuQGZ1bmN0aW9uIHZyKCR2ciwgJGN1cnJlbnQtZm9udDogbnVsbCwgJHR5cGk6ICR0eXBpKSB7XG4gICRiYXNlLWZvbnQ6IF90eS1nZXQtYmFzZS1mb250KCR0eXBpKTtcbiAgJGJhc2UtbGluZS1oZWlnaHQ6IF90eS1nZXQtYmFzZS1saW5lLWhlaWdodCgkdHlwaSk7XG4gICRyaHl0aG0tY29udGV4dDogJHZyICogJGJhc2UtbGluZS1oZWlnaHQ7XG5cbiAgLy8gQ29udmVydHMgaW50byBFTSBpZiAkY3VycmVudC1mb250IGlzIHByb3ZpZGVkXG4gIEBpZiAkY3VycmVudC1mb250IHtcbiAgICBAaWYgdW5pdCgkY3VycmVudC1mb250KSA9PSBcInB4XCIge1xuICAgICAgJHJoeXRobS1jb250ZXh0OiAkcmh5dGhtLWNvbnRleHQgKiAkYmFzZS1mb250O1xuXG4gICAgICBAcmV0dXJuICRyaHl0aG0tY29udGV4dCAvICRjdXJyZW50LWZvbnQgKiAxZW07XG4gICAgfVxuXG4gICAgQGlmIHVuaXQoJGN1cnJlbnQtZm9udCkgPT0gXCJlbVwiIHtcbiAgICAgIEByZXR1cm4gJHJoeXRobS1jb250ZXh0IC8gX3R5LXN0cmlwLXVuaXQoJGN1cnJlbnQtZm9udCkgKiAxZW07XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiRm9udCBzaXplcyBzaG91bGQgZWl0aGVyIGJlIHB4IG9yIGVtIGlmICRjdXJyZW50LWZvbnQgaXMgcHJvdmlkZWRcIjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGlmIHVuaXQoJGJhc2UtbGluZS1oZWlnaHQpID09ICdweCcge1xuICAgICAgQHJldHVybiAkdnIgKiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqIDFyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICR2ciAqICRiYXNlLWxpbmUtaGVpZ2h0ICogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBWZXJ0aWNhbCBSaHl0aG1cbkBtaXhpbiBydnIoJHByb3BzLCAkdnIsICR0eXBpOiAkdHlwaSkge1xuICAkYmFzZS1mb250OiBfdHktZ2V0LWJhc2UtZm9udCgkdHlwaSk7XG4gICRiYXNlLWxpbmUtaGVpZ2h0OiBfdHktZ2V0LWJhc2UtbGluZS1oZWlnaHQoJHR5cGkpO1xuICAkdW5pdDogdW5pdCgkYmFzZS1saW5lLWhlaWdodCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICBAaWYgJHVuaXQgPT0gJ3B4JyB7XG4gICAgICAjeyRwcm9wfTogJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250ICogMXJlbSAqICR2cjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JHByb3B9OiAkYmFzZS1saW5lLWhlaWdodCAqIDFyZW0gKiAkdnI7XG4gICAgfVxuICAgICN7JHByb3B9OiBjYWxjKHZhcigtLWJhc2VsaW5lKSAqICN7MXJlbSAqICR2cn0pO1xuICB9XG59IiwiLy8gRGVmYXVsdHMgYW5kIHZhcmlhYmxlc1xuQGltcG9ydCAnbW9kdWxhcnNjYWxlL3ZhcnMnO1xuXG4vLyBDb3JlIGZ1bmN0aW9uc1xuQGltcG9ydCAnbW9kdWxhcnNjYWxlL3NldHRpbmdzJztcbkBpbXBvcnQgJ21vZHVsYXJzY2FsZS9wb3cnO1xuQGltcG9ydCAnbW9kdWxhcnNjYWxlL3N0cmlwLXVuaXRzJztcbkBpbXBvcnQgJ21vZHVsYXJzY2FsZS9zb3J0JztcbkBpbXBvcnQgJ21vZHVsYXJzY2FsZS9yb3VuZC1weCc7XG5AaW1wb3J0ICdtb2R1bGFyc2NhbGUvdGFyZ2V0JztcbkBpbXBvcnQgJ21vZHVsYXJzY2FsZS9mdW5jdGlvbic7XG5cbi8vIE1peGluc1xuQGltcG9ydCAnbW9kdWxhcnNjYWxlL3Jlc3BvbmQnO1xuXG4vLyBTeW50YXggc3VnYXJcbkBpbXBvcnQgJ21vZHVsYXJzY2FsZS9zdWdhcic7IiwiLy8gUmF0aW9zXG4kZG91YmxlLW9jdGF2ZSAgICA6IDQgICAgICAgICAgICAgICAgIDtcbiRwaSAgICAgICAgICAgICAgIDogMy4xNDE1OTI2NTM1OSAgICAgO1xuJG1ham9yLXR3ZWxmdGggICAgOiAzICAgICAgICAgICAgICAgICA7XG4kbWFqb3ItZWxldmVudGggICA6IDIuNjY2NjY2NjY3ICAgICAgIDtcbiRtYWpvci10ZW50aCAgICAgIDogMi41ICAgICAgICAgICAgICAgO1xuJG9jdGF2ZSAgICAgICAgICAgOiAyICAgICAgICAgICAgICAgICA7XG4kbWFqb3Itc2V2ZW50aCAgICA6IDEuODc1ICAgICAgICAgICAgIDtcbiRtaW5vci1zZXZlbnRoICAgIDogMS43Nzc3Nzc3NzggICAgICAgO1xuJG1ham9yLXNpeHRoICAgICAgOiAxLjY2NjY2NjY2NyAgICAgICA7XG4kcGhpICAgICAgICAgICAgICA6IDEuNjE4MDM0ICAgICAgICAgIDtcbiRnb2xkZW4gICAgICAgICAgIDogJHBoaSAgICAgICAgICAgICAgO1xuJG1pbm9yLXNpeHRoICAgICAgOiAxLjYgICAgICAgICAgICAgICA7XG4kZmlmdGggICAgICAgICAgICA6IDEuNSAgICAgICAgICAgICAgIDtcbiRhdWdtZW50ZWQtZm91cnRoIDogMS40MTQyMSAgICAgICAgICAgO1xuJGZvdXJ0aCAgICAgICAgICAgOiAxLjMzMzMzMzMzMyAgICAgICA7XG4kbWFqb3ItdGhpcmQgICAgICA6IDEuMjUgICAgICAgICAgICAgIDtcbiRtaW5vci10aGlyZCAgICAgIDogMS4yICAgICAgICAgICAgICAgO1xuJG1ham9yLXNlY29uZCAgICAgOiAxLjEyNSAgICAgICAgICAgICA7XG4kbWlub3Itc2Vjb25kICAgICA6IDEuMDY2NjY2NjY3ICAgICAgIDtcblxuLy8gQmFzZSBjb25maWdcbiRtcy1iYXNlICAgICAgICAgIDogMWVtICAgICAgICFkZWZhdWx0O1xuJG1zLXJhdGlvICAgICAgICAgOiAkZmlmdGggICAgIWRlZmF1bHQ7XG4kbW9kdWxhcnNjYWxlICAgICA6ICgpICAgICAgICAhZGVmYXVsdDsiLCIvLyBQYXJzZSBzZXR0aW5ncyBzdGFydGluZyB3aXRoIGRlZmF1bHRzLlxuLy8gU2V0dGluZ3Mgc2hvdWxkIGNhc2NhZGUgZG93biBsaWtlIHlvdSB3b3VsZCBleHBlY3QgaW4gQ1NTLlxuLy8gTW9yZSBzcGVjaWZpYyBvdmVycmlkZXMgcHJldmlvdXMgc2V0dGluZ3MuXG5cbkBmdW5jdGlvbiBtcy1zZXR0aW5ncygkYjogZmFsc2UsICRyOiBmYWxzZSwgJHQ6IGZhbHNlLCAkbTogJG1vZHVsYXJzY2FsZSkge1xuICAkYmFzZTogJG1zLWJhc2U7XG4gICRyYXRpbzogJG1zLXJhdGlvO1xuICAkdGhyZWFkOiBtYXAtZ2V0KCRtLCAkdCk7XG5cbiAgLy8gT3ZlcnJpZGUgd2l0aCB1c2VyIHNldHRpbmdzXG4gIEBpZiBtYXAtZ2V0KCRtLCBiYXNlKSB7XG4gICAgJGJhc2U6IG1hcC1nZXQoJG0sIGJhc2UpO1xuICB9XG4gIEBpZiBtYXAtZ2V0KCRtLCByYXRpbykge1xuICAgICRyYXRpbzogbWFwLWdldCgkbSwgcmF0aW8pO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgd2l0aCB0aHJlYWQgc2V0dGluZ3NcbiAgQGlmICR0aHJlYWQge1xuICAgIEBpZiBtYXAtZ2V0KCR0aHJlYWQsIGJhc2UpIHtcbiAgICAgICRiYXNlOiBtYXAtZ2V0KCR0aHJlYWQsIGJhc2UpO1xuICAgIH1cbiAgICBAaWYgbWFwLWdldCgkdGhyZWFkLCByYXRpbykge1xuICAgICAgJHJhdGlvOiBtYXAtZ2V0KCR0aHJlYWQsIHJhdGlvKTtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVycmlkZSB3aXRoIGlubGluZSBzZXR0aW5nc1xuICBAaWYgJGIge1xuICAgICRiYXNlOiAkYjtcbiAgfVxuICBAaWYgJHIge1xuICAgICRyYXRpbzogJHI7XG4gIH1cblxuICBAcmV0dXJuICRiYXNlICRyYXRpbztcbn0iLCIvLyBTYXNzIGRvZXMgbm90IGhhdmUgbmF0aXZlIHBvdygpIHN1cHBvcnQgc28gdGhpcyBuZWVkcyB0byBiZSBhZGRlZC5cbi8vIENvbXBhc3MgYW5kIG90aGVyIGxpYnMgaW1wbGVtZW50IHRoaXMgbW9yZSBleHRlbnNpdmVseS5cbi8vIEluIG9yZGVyIHRvIGtlZXAgdGhpcyBzaW1wbGUsIHVzZSB0aG9zZSB3aGVuIHRoZXkgYXJlIGF2YWxpYmxlLlxuLy8gSXNzdWUgZm9yIHBvdygpIHN1cHBvcnQgaW4gU2FzczogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjg0XG5cbkBmdW5jdGlvbiBtcy1wb3coJGIsJGUpIHtcblxuICAvLyBSZXR1cm4gMSBpZiBleHBvbmVudCBpcyAwXG4gIEBpZiAkZSA9PSAwIHtcbiAgICBAcmV0dXJuIDE7XG4gIH1cblxuICAvLyBJZiBwb3coKSBleGlzdHMgKGNvbXBhc3Mgb3IgbWF0aHNhc3MpIHVzZSB0aGF0LlxuICBAaWYgZnVuY3Rpb24tZXhpc3RzKCdwb3cnKSB7XG4gICAgQHJldHVybiBwb3coJGIsJGUpO1xuICB9XG5cbiAgLy8gVGhpcyBkb2VzIG5vdCBzdXBwb3J0IG5vbi1pbnRlZ2VyIGV4cG9uZW50cyxcbiAgLy8gQ2hlY2sgYW5kIHJldHVybiBhbiBlcnJvciBpZiBhIG5vbi1pbnRlZ2VyIGV4cG9uZW50IGlzIHBhc3NlZC5cbiAgQGlmIChmbG9vcigkZSkgIT0gJGUpIHtcbiAgICBAZXJyb3IgJ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuTm9uLWludGVnZXIgdmFsdWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIG1vZHVsYXJzY2FsZSBieSBkZWZhdWx0LlxuXG5UcnkgdXNpbmcgbWF0aHNhc3MgaW4geW91ciBwcm9qZWN0IHRvIGFkZCBub24taW50ZWdlciBzY2FsZSBzdXBwb3J0LlxuaHR0cHM6Ly9naXRodWIuY29tL3RlcmtlbC9tYXRoc2Fzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJ1xuICB9XG5cbiAgLy8gU2VlZCB0aGUgcmV0dXJuLlxuICAkbXMtcmV0dXJuOiAkYjtcblxuICAvLyBNdWx0aXBseSBvciBkaXZpZGUgYnkgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGltZXMuXG4gIEBpZiAkZSA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRvICRlIHtcbiAgICAgICRtcy1yZXR1cm46ICRtcy1yZXR1cm4gKiAkYjtcbiAgICB9XG4gIH1cbiAgQGlmICRlIDwgMCB7XG4gICAgQGZvciAkaSBmcm9tICRlIHRocm91Z2ggMCB7XG4gICAgICAkbXMtcmV0dXJuOiAkbXMtcmV0dXJuIC8gJGI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJG1zLXJldHVybjtcbn0iLCIvLyBTdHJpcHBpbmcgdW5pdHMgaXMgbm90IGEgYmVzdCBwcmFjdGljZVxuLy8gVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIHVzZWQgZWxzZXdoZXJlXG4vLyBJdCBpcyB1c2VkIGhlcmUgYmVjYXVzZSBjYWxjKCkgZG9lc24ndCBkbyB1bml0IGxvZ2ljXG4vLyBBTkQgdGFyZ2V0IHJhdGlvcyB1c2UgdW5pdHMgYXMgYSBoYWNrIHRvIGdldCBhIG51bWJlci5cbkBmdW5jdGlvbiBtcy11bml0bGVzcygkdmFsKSB7XG4gIEByZXR1cm4gKCR2YWwgLyAoJHZhbCAtICR2YWwgKyAxKSk7XG59IiwiLy8gQmFzaWMgbGlzdCBzb3J0aW5nXG4vLyBXb3VsZCBsaWtlIHRvIHJlcGxhY2Ugd2l0aCBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvMzBlNDg2M2JkMDNjZTBlMTYxN2Ncbi8vIFVuZm9ydHVuYXRlbHkgbGlic2FzcyBoYXMgYSBidWcgd2l0aCBwYXNzaW5nIGFyZ3VtZW50cyBpbnRvIHRoZSBtaW4oKSBmdW5jaXRvbi5cblxuQGZ1bmN0aW9uIG1zLXNvcnQoJGwpIHtcblxuICAvLyBsb29wIHVudGlsIHRoZSBsaXN0IGlzIGNvbmZpcm1lZCB0byBiZSBzb3J0ZWRcbiAgJHNvcnRlZDogZmFsc2U7XG4gIEB3aGlsZSAkc29ydGVkID09IGZhbHNlIHtcblxuICAgIC8vIFN0YXJ0IHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgbGlzdHMgYXJlIHNvcnRlZC5cbiAgICAkc29ydGVkOiB0cnVlO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsaXN0LCBjaGVja2luZyBlYWNoIHZhbHVlIHdpdGggdGhlIG9uZSBuZXh0IHRvIGl0LlxuICAgIC8vIFN3YXAgdGhlIHZhbHVlcyBpZiB0aGV5IG5lZWQgdG8gYmUgc3dhcHBlZC5cbiAgICAvLyBOb3Qgc3VwZXIgZmFzdCBidXQgc2ltcGxlIGFuZCBtb2R1bGFyIHNjYWxlIGRvZXNuJ3QgbGVhbiBoYXJkIG9uIHNvcnRpbmcuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGwpIHtcbiAgICAgICRuMTogbnRoKCRsLCRpIC0gMSk7XG4gICAgICAkbjI6IG50aCgkbCwkaSk7XG5cbiAgICAgIC8vIElmIHRoZSBmaXJzdCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIDJuZCwgc3dhcCB0aGVtLlxuICAgICAgQGlmICRuMSA+ICRuMiB7XG4gICAgICAgICRsOiBzZXQtbnRoKCRsLCAkaSwgJG4xKTtcbiAgICAgICAgJGw6IHNldC1udGgoJGwsICRpIC0gMSwgJG4yKTtcblxuICAgICAgICAvLyBUaGUgbGlzdCBpc24ndCBzb3J0ZWQgYW5kIG5lZWRzIHRvIGJlIGxvb3BlZCB0aHJvdWdoIGFnYWluLlxuICAgICAgICAkc29ydGVkOiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXR1cm4gdGhlIHNvcnRlZCBsaXN0LlxuICBAcmV0dXJuICRsO1xufSIsIi8vIE5vIHJlYXNvbiB0byBoYXZlIGRlY2ltYWwgcGl4ZWwgdmFsdWVzLFxuLy8gbm9ybWFsaXplIHRoZW0gdG8gd2hvbGUgbnVtYmVycy5cblxuQGZ1bmN0aW9uIG1zLXJvdW5kLXB4KCRyKSB7XG4gIEBpZiB1bml0KCRyKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHJvdW5kKCRyKTtcbiAgfVxuICBAcmV0dXJuICRyO1xufSIsIi8vIENvbnZlcnQgbnVtYmVyIHN0cmluZyB0byBudW1iZXJcbkBmdW5jdGlvbiBtcy10by1udW0oJG4pIHtcbiAgJGw6IHN0ci1sZW5ndGgoJG4pO1xuICAkcjogMDtcbiAgJG06IHN0ci1pbmRleCgkbiwnLicpO1xuICBAaWYgJG0gPT0gbnVsbCB7XG4gICAgJG06ICRsICsgMTtcbiAgfVxuICAvLyBMb29wIHRocm91Z2ggZGlnaXRzIGFuZCBjb252ZXJ0IHRvIG51bWJlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbCB7XG4gICAgJHY6IHN0ci1zbGljZSgkbiwkaSwkaSk7XG4gICAgQGlmICR2ID09ICcxJyB7ICR2OiAxOyB9XG4gICAgQGVsc2VpZiAkdiA9PSAnMicgeyAkdjogMjsgfVxuICAgIEBlbHNlaWYgJHYgPT0gJzMnIHsgJHY6IDM7IH1cbiAgICBAZWxzZWlmICR2ID09ICc0JyB7ICR2OiA0OyB9XG4gICAgQGVsc2VpZiAkdiA9PSAnNScgeyAkdjogNTsgfVxuICAgIEBlbHNlaWYgJHYgPT0gJzYnIHsgJHY6IDY7IH1cbiAgICBAZWxzZWlmICR2ID09ICc3JyB7ICR2OiA3OyB9XG4gICAgQGVsc2VpZiAkdiA9PSAnOCcgeyAkdjogODsgfVxuICAgIEBlbHNlaWYgJHYgPT0gJzknIHsgJHY6IDk7IH1cbiAgICBAZWxzZWlmICR2ID09ICcwJyB7ICR2OiAwOyB9XG4gICAgQGVsc2UgeyAkdjogbnVsbDsgfVxuICAgIEBpZiAkdiAhPSBudWxsIHtcbiAgICAgICRtOiAkbSAtIDE7XG4gICAgICAkcjogJHIgKyBtcy1wb3coMTAsJG0gLSAxKSAqICR2O1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGw6ICRsIC0gMTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcjtcbn1cblxuLy8gRmluZCBhIHJhdGlvIGJhc2VkIG9uIGEgdGFyZ2V0IHZhbHVlXG5AZnVuY3Rpb24gbXMtdGFyZ2V0KCR0LCRiKSB7XG4gIC8vIENvbnZlcnQgdG8gc3RyaW5nXG4gICR0OiAkdCArICcnO1xuICAvLyBSZW1vdmUgYmFzZSB1bml0cyB0byBjYWx1bGF0ZSByYXRpb1xuICAkYjogbXMtdW5pdGxlc3MobnRoKCRiLDEpKTtcbiAgLy8gRmluZCB3aGVyZSAnYXQnIGlzIGluIHRoZSBzdHJpbmdcbiAgJGF0OiBzdHItaW5kZXgoJHQsJ2F0Jyk7XG5cbiAgLy8gU2xpY2UgdGhlIHZhbHVlIGFuZCB0YXJnZXQgb3V0XG4gIC8vIGFuZCBjb252ZXJ0IHN0cmluZ3MgdG8gbnVtYmVyc1xuICAkdjogbXMtdG8tbnVtKHN0ci1zbGljZSgkdCwwLCRhdCAtIDEpKTtcbiAgJHQ6IG1zLXRvLW51bShzdHItc2xpY2UoJHQsJGF0ICsgMikpO1xuXG4gIC8vIFNvbHZlIHRoZSBtb2R1bGFyIHNjYWxlIGZ1bmN0aW9uIGZvciB0aGUgcmF0aW8uXG4gIEByZXR1cm4gbXMtcG93KCgkdi8kYiksKDEvJHQpKTtcbn0iLCJAZnVuY3Rpb24gbXMtZnVuY3Rpb24oJHY6IDAsICRiYXNlOiBmYWxzZSwgJHJhdGlvOiBmYWxzZSwgJHRocmVhZDogZmFsc2UsICRzZXR0aW5nczogJG1vZHVsYXJzY2FsZSkge1xuXG4gIC8vIFBhcnNlIHNldHRpbmdzXG4gICRtcy1zZXR0aW5nczogbXMtc2V0dGluZ3MoJGJhc2UsJHJhdGlvLCR0aHJlYWQsJHNldHRpbmdzKTtcbiAgJGJhc2U6IG50aCgkbXMtc2V0dGluZ3MsIDEpO1xuICAkcmF0aW86IG50aCgkbXMtc2V0dGluZ3MsIDIpO1xuXG4gIC8vIFJlbmRlciB0YXJnZXQgdmFsdWVzIGZyb20gc2V0dGluZ3MuXG4gIEBpZiB1bml0KCRyYXRpbykgIT0gJycge1xuICAgICRyYXRpbzogbXMtdGFyZ2V0KCRyYXRpbywkYmFzZSlcbiAgfVxuXG4gIC8vIEZhc3QgY2FsYyBpZiBub3QgbXVsdGkgc3RyYW5kZWRcbiAgQGlmKGxlbmd0aCgkYmFzZSkgPT0gMSkge1xuICAgIEByZXR1cm4gbXMtcm91bmQtcHgobXMtcG93KCRyYXRpbywgJHYpICogJGJhc2UpO1xuICB9XG5cbiAgLy8gQ3JlYXRlIG5ldyBiYXNlIGFycmF5XG4gICRtcy1iYXNlczogbnRoKCRiYXNlLDEpO1xuXG4gIC8vIE5vcm1hbGl6ZSBiYXNlIHZhbHVlc1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkYmFzZSkge1xuICAgIC8vIGluaXRpYWwgYmFzZSB2YWx1ZVxuICAgICRtcy1iYXNlOiBudGgoJGJhc2UsJGkpO1xuICAgIC8vIElmIHRoZSBiYXNlIGlzIGJpZ2dlciB0aGFuIHRoZSBtYWluIGJhc2VcbiAgICBAaWYoJG1zLWJhc2UgPiBudGgoJGJhc2UsMSkpIHtcbiAgICAgIC8vIGRpdmlkZSB0aGUgdmFsdWUgdW50aWwgaXQgYWxpZ25zIHdpdGggbWFpbiBiYXNlLlxuICAgICAgQHdoaWxlKCRtcy1iYXNlID4gbnRoKCRiYXNlLDEpKSB7XG4gICAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAvICRyYXRpbztcbiAgICAgIH1cbiAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAqICRyYXRpbztcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJhc2UgaXMgc21hbGxlciB0aGFuIHRoZSBtYWluIGJhc2UuXG4gICAgQGVsc2VpZiAoJG1zLWJhc2UgPCBudGgoJGJhc2UsMSkpIHtcbiAgICAgIC8vIHB1bXAgdXAgdGhlIHZhbHVlIHVudGlsIGl0IGFsaWducyB3aXRoIG1haW4gYmFzZS5cbiAgICAgIEB3aGlsZSAkbXMtYmFzZSA8IG50aCgkYmFzZSwxKSB7XG4gICAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAqICRyYXRpbztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUHVzaCBpbnRvIG5ldyBhcnJheVxuICAgICRtcy1iYXNlczogYXBwZW5kKCRtcy1iYXNlcywkbXMtYmFzZSk7XG4gIH1cblxuICAvLyBTb3J0IGFycmF5IGZyb20gc21hbGxlc3QgdG8gbGFyZ2VzdC5cbiAgJG1zLWJhc2VzOiBtcy1zb3J0KCRtcy1iYXNlcyk7XG5cbiAgLy8gRmluZCBzdGVwIHRvIHVzZSBpbiBjYWxjdWxhdGlvblxuICAkdnRlcDogZmxvb3IoJHYgLyBsZW5ndGgoJG1zLWJhc2VzKSk7XG4gIC8vIEZpbmQgYmFzZSB0byB1c2UgaW4gY2FsY3VsYXRpb25cbiAgJG1zLWJhc2U6IHJvdW5kKCgkdiAvIGxlbmd0aCgkbXMtYmFzZXMpIC0gJHZ0ZXApICogbGVuZ3RoKCRtcy1iYXNlcykpICsgMTtcblxuICBAcmV0dXJuIG1zLXJvdW5kLXB4KG1zLXBvdygkcmF0aW8sICR2dGVwKSAqIG50aCgkbXMtYmFzZXMsJG1zLWJhc2UpKTtcbn0iLCIvLyBHZW5lcmF0ZSBjYWxjKCkgZnVuY3Rpb25cbi8vIGJhc2VkIG9uIE1pa2UgUmlldGhtdWxsZXIncyBQcmVjaXNlIGNvbnRyb2wgb3ZlciByZXNwb25zaXZlIHR5cG9ncmFwaHlcbi8vIGh0dHA6Ly9tYWRlYnltaWtlLmNvbS5hdS93cml0aW5nL3ByZWNpc2UtY29udHJvbC1yZXNwb25zaXZlLXR5cG9ncmFwaHkvXG5AZnVuY3Rpb24gbXMtZmx1aWQoJHZhbDE6IDFlbSwgJHZhbDI6IDFlbSwgJGJyZWFrMTogMCwgJGJyZWFrMjogMCkge1xuICAkZGlmZjogbXMtdW5pdGxlc3MoJHZhbDIpIC0gbXMtdW5pdGxlc3MoJHZhbDEpO1xuXG4gIC8vIHYxICsgKHYyIC0gdjEpICogKCAoMTAwdncgLSBiMSkgLyBiMiAtIGIxIClcbiAgQHJldHVybiBjYWxjKCAjeyR2YWwxfSArICN7bXMtdW5pdGxlc3MoJHZhbDIpIC0gbXMtdW5pdGxlc3MoJHZhbDEpfSAqICggKCAxMDB2dyAtICN7JGJyZWFrMX0pIC8gI3ttcy11bml0bGVzcygkYnJlYWsyKSAtIG1zLXVuaXRsZXNzKCRicmVhazEpfSApICk7XG59XG5cbi8vIE1haW4gcmVzcG9uc2l2ZSBtaXhpblxuQG1peGluIG1zLXJlc3BvbmQoJHByb3AsICR2YWwsICRtYXA6ICRtb2R1bGFyc2NhbGUpIHtcbiAgJGJhc2U6ICRtcy1iYXNlO1xuICAkcmF0aW86ICRtcy1yYXRpbztcblxuICAkZmlyc3Qtd3JpdGU6IHRydWU7XG4gICRsYXN0LWJyZWFrOiBudWxsO1xuXG4gIC8vIGxvb3AgdGhyb3VnaCBhbGwgc2V0dGluZ3Mgd2l0aCBhIGJyZWFrcG9pbnQgdHlwZSB2YWx1ZVxuICBAZWFjaCAkdiwgJHMgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciB7XG4gICAgICBAaWYgdW5pdCgkdikgIT0gJycge1xuXG4gICAgICAgIC8vIFdyaXRlIG91dCB0aGUgZmlyc3QgdmFsdWUgd2l0aG91dCBhIG1lZGlhIHF1ZXJ5LlxuICAgICAgICBAaWYgJGZpcnN0LXdyaXRlIHtcbiAgICAgICAgICAjeyRwcm9wfTogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCk7XG5cbiAgICAgICAgICAvLyBOb3QgdGhlIGZpcnN0IHdyaXRlIGFueW1vcmUsIHJlc2V0IHRvIGZhbHNlIHRvIG1vdmUgb24uXG4gICAgICAgICAgJGZpcnN0LXdyaXRlOiBmYWxzZTtcbiAgICAgICAgICAkbGFzdC1icmVhazogJHY7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXcml0ZSBpbnRlcm1lZGlhdGUgYnJlYWtwb2ludHMuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxhc3QtYnJlYWspIGFuZCAobWF4LXdpZHRoOiAkdikge1xuICAgICAgICAgICAgJHZhbDE6IG1zLWZ1bmN0aW9uKCR2YWwsICR0aHJlYWQ6ICRsYXN0LWJyZWFrLCAkc2V0dGluZ3M6ICRtYXApO1xuICAgICAgICAgICAgJHZhbDI6IG1zLWZ1bmN0aW9uKCR2YWwsICR0aHJlYWQ6ICR2LCAkc2V0dGluZ3M6ICRtYXApO1xuICAgICAgICAgICAgI3skcHJvcH06IG1zLWZsdWlkKCR2YWwxLCR2YWwyLCRsYXN0LWJyZWFrLCR2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJGxhc3QtYnJlYWs6ICR2O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV3JpdGUgdGhlIGxhc3QgYnJlYWtwb2ludC5cbiAgQGlmICRsYXN0LWJyZWFrIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxhc3QtYnJlYWspIHtcbiAgICAgICN7JHByb3B9OiBtcy1mdW5jdGlvbigkdmFsLCAkdGhyZWFkOiAkbGFzdC1icmVhaywgJHNldHRpbmdzOiAkbWFwKTtcbiAgICB9XG4gIH1cbn0iLCIvLyBUbyBhdHRlbXB0IHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIG90aGVyIGxpYnJhcmllc1xuLy8gYWxsIGZ1bmNpdG9ucyBhcmUgbmFtZXNwYWNlZCB3aXRoIGBtcy1gLlxuLy8gSG93ZXZlciwgdG8gaW5jcmVhc2UgdXNhYmlsaXR5LCBhIHNob3J0aGFuZCBmdW5jdGlvbiBpcyBpbmNsdWRlZCBoZXJlLlxuXG5AZnVuY3Rpb24gbXMoJHY6IDAsICRiYXNlOiBmYWxzZSwgJHJhdGlvOiBmYWxzZSwgJHRocmVhZDogZmFsc2UsICRzZXR0aW5nczogJG1vZHVsYXJzY2FsZSkge1xuICBAcmV0dXJuIG1zLWZ1bmN0aW9uKCR2LCAkYmFzZSwgJHJhdGlvLCAkdGhyZWFkLCAkc2V0dGluZ3MpO1xufSIsIi8vIGZvcmNlcyBhbGwgaW5wdXRzLCB0ZXh0YXJlYXMgYW5kIGxhYmVscyB0byB1c2UgYm9yZGVyLWJveCBzaXppbmdcbmlucHV0LFxudGV4dGFyZWEge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxubGFiZWwge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gQWRhcHRpdmUgcGxhY2Vob2xkZXIgZGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUFJJVkFURSAtIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGFkYXB0aXZlIHBsYWNlaG9sZGVyXG5cbiRhcC1kZWZhdWx0OiAoXG4gIGhlaWdodDogM2VtLFxuICBtYXJnaW46IDFlbSxcbiAgYm9yZGVyOiAxcHgsXG4gIGJvcmRlci1yYWRpdXM6IDEuNWVtLFxuICBmb250LXNpemU6IDFlbSxcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjLFxuICBsYWJlbC1jb2xvcjogIzk5OTk5OSxcbiAgYWN0aXZlLWNvbG9yOiAjZTg3ZTIyLFxuICB2YWxpZC1jb2xvcjogIzIzYTA0NSxcbiAgcGxhY2Vob2xkZXItYmFja2dyb3VuZC1jb2xvcjogd2hpdGUsXG4gIHRleHRhcmVhOiBmYWxzZVxuICApO1xuXG4vLyBEZWZhdWx0IFVzZXIgUGxhY2Vob2xkZXIgU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBBbGxvd3MgJGFwLWRlZmF1bHQgdG8gYmUgb3ZlcndyaXR0ZW4gYnkgZGVmYXVsdCB1c2VyIHNldHRpbmdzXG5cbiRhZGFwdGl2ZS1wbGFjZWhvbGRlcjogKCk7XG5cblxuLy8gYWRhcHRpdmUtcGxhY2Vob2xkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIENyZWF0ZXMgYWRhcHRpdmUgcGxhY2Vob2xkZXJcblxuQG1peGluIGFkYXB0aXZlLXBsYWNlaG9sZGVyKCRtYXA6ICRhZGFwdGl2ZS1wbGFjZWhvbGRlcikge1xuICAvLyBPbmx5IG92ZXJ3cml0ZSBhcCBkZWZhdWx0cyBpZiAkbWFwIGlzICRhZGFwdGl2ZS1wbGFjZWhvbGRlclxuICBAaWYgJG1hcCA9PSAkYWRhcHRpdmUtcGxhY2Vob2xkZXIge1xuICAgICRhcC1kZWZhdWx0OiBtYXAtbWVyZ2UoJGFwLWRlZmF1bHQsICRtYXApICFnbG9iYWw7XG4gICAgJG1hcDogJGFwLWRlZmF1bHQ7XG4gIH1cbiAgLy8gVXBkYXRlcyBkZWZhdWx0IG1hcCB3aXRoIG5ldyB2YWx1ZXNcbiAgJG1hcDogbWFwLW1lcmdlKCRhcC1kZWZhdWx0LCAkbWFwKTtcbiAgLy8gR2V0cyB2YXJpYWJsZXNcbiAgJGhlaWdodDogbWFwLWdldCgkbWFwLCBoZWlnaHQpO1xuICAkbWFyZ2luOiBtYXAtZ2V0KCRtYXAsIG1hcmdpbik7XG4gICRib3JkZXI6IG1hcC1nZXQoJG1hcCwgYm9yZGVyKTtcbiAgJHJhZGl1czogbWFwLWdldCgkbWFwLCBib3JkZXItcmFkaXVzKTtcbiAgJGZvbnQtc2l6ZTogbWFwLWdldCgkbWFwLCBmb250LXNpemUpO1xuICAkYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYXAsIGJvcmRlci1jb2xvcik7XG4gICRsYWJlbC1jb2xvcjogbWFwLWdldCgkbWFwLCBsYWJlbC1jb2xvcik7XG4gICRhY3RpdmUtY29sb3I6IG1hcC1nZXQoJG1hcCwgYWN0aXZlLWNvbG9yKTtcbiAgJHZhbGlkLWNvbG9yOiBtYXAtZ2V0KCRtYXAsIHZhbGlkLWNvbG9yKTtcbiAgJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6IG1hcC1nZXQoJG1hcCwgcGxhY2Vob2xkZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICRpc1RleHRhcmVhOiBtYXAtZ2V0KCRtYXAsIHRleHRhcmVhKTtcbiAgJGJvcmRlcnM6ICRib3JkZXIgKiAyO1xuXG5cbiAgLy8gV2FybmluZ3MgZm9yIGJlc3QgcHJhY3RpY2VzXG4gIEBpZiAkaGVpZ2h0IDwgMiAqICRtYXJnaW4ge1xuICAgIEB3YXJuIFwiaGVpZ2h0IG5lZWRzIHRvIGJlIGF0IGxlYXN0IDJ4IG1hcmdpblwiO1xuICB9XG5cbiAgQGlmICRoZWlnaHQgPCAkZm9udC1zaXplIHtcbiAgICBAd2FybiBcImhlaWdodCBuZWVkcyB0byBiZSBhdCBsZWFzdCA+PSBmb250LXNpemVcIjtcbiAgfVxuXG4gIC8vIElucHV0IC8gVGV4dGFyZWEgcHJvcGVydGllc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGxhY2Vob2xkZXItYmFja2dyb3VuZDtcbiAgaGVpZ2h0OiBjYWxjKCN7JGhlaWdodH0gKyAjeyRib3JkZXJzfSk7XG4gIHBhZGRpbmc6ICRtYXJnaW47XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgYm9yZGVyOiAkYm9yZGVyIHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuXG4gIHJlc2l6ZTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyOiAkYm9yZGVyIHNvbGlkICRib3JkZXItY29sb3I7XG4gIH1cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlcjogJGJvcmRlciBzb2xpZCAkYWN0aXZlLWNvbG9yO1xuICAgICYgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG4gIC8vIFBsYWNlaG9sZGVyIFN0eWxlc1xuICAmICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIC8vIFZlcnRpY2FsbHkgYWxpZ24gbGFiZWwgd2l0aCBpbnB1dFxuICAgIEBpZiAkaXNUZXh0YXJlYSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoI3skaGVpZ2h0fSArICN7JGJvcmRlcnN9KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skbWFyZ2lufSArICN7JGJvcmRlcn0pO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAvLyBPZmZzZXQgbGFiZWwgY29ycmVjdGx5IHdpdGggbmVnYXRpdmUgbWFyZ2luc1xuICAgIEBpZiAkaXNUZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0jeyRoZWlnaHR9IC0gI3skYm9yZGVyc30pO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0jeyRoZWlnaHR9IC0gI3skYm9yZGVyfSk7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBjdXJzb3I6IHRleHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAvLyBJbml0aWFsIFRleHRcbiAgICAgIGNvbnRlbnQ6IGF0dHIocGxhY2Vob2xkZXIpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICAgIG1hcmdpbjogMCBjYWxjKCN7JG1hcmdpbn0gKyAjeyRib3JkZXJzfSk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgLy8gVHJhbnNmb3JtYXRpb24gcHJvcGVydGllc1xuXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBjb2xvcjtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgY29sb3I7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgLy8gU2V0IG9yaWdpbiB0byBsZWZ0IGNlbnRlciBzbyBpdCBzY2FsZXMgdG8gdGhlIGxlZnQgaW5zdGVhZCBvZiBjZW50ZXIgY2VudGVyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG5cbiAgICAgIC8vIEhlcmUncyBhIHZlcnNpb24gd2l0aG91dCBwcmVmaXhlc1xuICAgICAgLy8gdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcbiAgICAgIC8vIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAvLyB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgLy8gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgLy8gLy8gU2V0IG9yaWdpbiB0byBsZWZ0IGNlbnRlciBzbyBpdCBzY2FsZXMgdG8gdGhlIGxlZnQgaW5zdGVhZCBvZiBjZW50ZXIgY2VudGVyXG4gICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBGb2N1c2VkLCBhY3RpdmUgYW5kIHZhbGlkIHN0YXRlcyBmb3IgaW5wdXQgYW5kIHBsYWNlaG9sZGVyXG4gIC8vIFNoaWZ0cyB1cCBhbmQgYWRkcyBhIGJhY2tncm91bmQgd2hpdGVcbiAgJjpmb2N1cyxcbiAgJi5hY3RpdmUsXG4gICY6dmFsaWQge1xuICAgICYgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ7XG4gICAgICAvLyBzZXQgcGFkZGluZyBmb3IgbGVmdCAmIHJpZ2h0IG9mIHRpbnkgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nOiAwICRib3JkZXIgKiAxLjU7XG4gICAgICAvLyBBZGp1c3RlZCBhbGwgY2FsY3Mgd2l0aGluIHRyYW5zbGF0ZXMgYWNjb3JkaW5nIHRvIHRvIHNwbGl0IHVwIGludG8gdmFyaW91cyB0cmFuc2xhdGVZcyBpbnN0ZWFkIG9mIHVzaW5nIGNhbGMgZm9yIElFIDEwIHN1cHBvcnRcbiAgICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjE0NjkzNTAvbm90LXBvc3NpYmxlLXRvLXVzZS1jc3MtY2FsYy13aXRoLXRyYW5zZm9ybXRyYW5sYXRleC1pbi1pZVxuICAgICAgQGlmICRpc1RleHRhcmVhIHtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoKC0jeyRtYXJnaW59IC0gMC41ZW0pIC0gI3skYm9yZGVyICogMC41fSkpIHNjYWxlKDAuOCwgMC44KTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSAkbWFyZ2luIC0gMC41ZW0gKSB0cmFuc2xhdGVZKC0gJGJvcmRlciAqMC41KSBzY2FsZSgwLjgsIDAuOCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtICRtYXJnaW4gLSAwLjVlbSApIHRyYW5zbGF0ZVkoLSAkYm9yZGVyICowLjUpIHNjYWxlKDAuOCwgMC44KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSAkaGVpZ2h0ICowLjUpIHRyYW5zbGF0ZVkoLSAkYm9yZGVyICowLjUpIHNjYWxlKDAuOCwgMC44KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0gJGhlaWdodCAqMC41KSB0cmFuc2xhdGVZKC0gJGJvcmRlciAqMC41KSBzY2FsZSgwLjgsIDAuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIENoYW5nZSBwbGFjZWhvbGRlciB2YWx1ZSBvbmNlIHRleHQgaXMgZW50ZXJlZC5cbiAgJjp2YWxpZCB7XG4gICAgYm9yZGVyOiAkYm9yZGVyIHNvbGlkICR2YWxpZC1jb2xvcjtcbiAgICAmICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoYWx0KTtcbiAgICAgIGNvbG9yOiAkdmFsaWQtY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvKiEgSGlEUEkgdjIuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vaGlkcGkgKi9cblxuLy8gRm9yY2UgSGlEUEkgZ3JhcGhpY3Mgb24gcmVndWxhciBkaXNwbGF5c1xuJGhpZHBpLWRlYnVnOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ2hhbmdlIGRlZmF1bHQgZmlsZW5hbWUgcG9zdGZpeFxuLy8gZGVmYXVsdDogaW1hZ2VuYW1lX3gyLnBuZ1xuJGhpZHBpLXBvc3RmaXg6ICdfeDInICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IHBpeGVsIHJhdGlvOiAxLjMgdG8gc3VwcG9ydCBOZXh1cyA3XG4vLyBEZXBlbmRpbmcgb24geW91ciB0YXJnZXQsIHlvdSBtYXkgd2FudCB0byBzZXQgYVxuLy8gbW9yZSBzdWl0YWJsZSBtaW5pbXVtIHBpeGVsIHJhdGlvIGhlcmU6XG4vLyBodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvL1xuJGhpZHBpLW1pbi1waXhlbC1yYXRpbzogMS4zICFkZWZhdWx0O1xuXG5AbWl4aW4gaGlkcGktYWJzdHJhY3QoJGltYWdlLCAkZXh0ZW5zaW9uLCAkcG9zdGZpeDogJGhpZHBpLXBvc3RmaXgpIHtcbiAgJGltYWdlLWZ1bGxuYW1lOiAnI3skaW1hZ2V9LiN7JGV4dGVuc2lvbn0nO1xuICAkaW1hZ2UtaGlkcGktZnVsbG5hbWU6ICcjeyRpbWFnZX0jeyRwb3N0Zml4fS4jeyRleHRlbnNpb259JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoJGltYWdlLWhpZHBpLWZ1bGxuYW1lKTtcbiAgYmFja2dyb3VuZC1zaXplOiBpbWFnZS13aWR0aCgkaW1hZ2UtZnVsbG5hbWUpIGltYWdlLWhlaWdodCgkaW1hZ2UtZnVsbG5hbWUpO1xufVxuXG5AbWl4aW4gaGlkcGkoJGltYWdlOiBmYWxzZSwgJGV4dGVuc2lvbjogcG5nLCAkcG9zdGZpeDogJGhpZHBpLXBvc3RmaXgpIHtcbiAgQGlmICRoaWRwaS1kZWJ1ZyB7XG4gICAgQGlmICRpbWFnZSB7XG4gICAgICBAaW5jbHVkZSBoaWRwaS1hYnN0cmFjdCgkaW1hZ2UsICRleHRlbnNpb24sICRwb3N0Zml4KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICRpbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoJyN7JGltYWdlfS4jeyRleHRlbnNpb259Jyk7XG4gICAgfVxuICAgIC8vIEluc3BpcmVkIGJ5OlxuICAgIC8vIGh0dHA6Ly93d3cuYnJldHRqYW5rb3JkLmNvbS8yMDEyLzExLzI4L2Nyb3NzLWJyb3dzZXItcmV0aW5haGlnaC1yZXNvbHV0aW9uLW1lZGlhLXF1ZXJpZXMvXG4gICAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRoaWRwaS1taW4tcGl4ZWwtcmF0aW8pLFxuICAgICAgICAgICAobWluLXJlc29sdXRpb246ICRoaWRwaS1taW4tcGl4ZWwtcmF0aW8gKiA5NmRwaSksXG4gICAgICAgICAgIChtaW4tcmVzb2x1dGlvbjogJGhpZHBpLW1pbi1waXhlbC1yYXRpbyAqIDFkcHB4KSB7XG4gICAgICBAaWYgJGltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgaGlkcGktYWJzdHJhY3QoJGltYWdlLCAkZXh0ZW5zaW9uLCAkcG9zdGZpeCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHZW5lcmFsIGhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcblxuIiwiLy8gRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS1cbi8vIEdlbmVyYWwgZnVuY3Rpb25zIGZvciBwcm9qZWN0c1xuLy8gPT09PT09PT09PVxuXG4vLyBDb2xvclxuLy8gLS0tLS1cbi8vIEFuIGVhc3kgd2F5IHRvIGdldCBjb2xvcnMgZnJvbSB0aGUgJGNvbG9ycyBtYXBcbi8vID09PT09XG5cbkBmdW5jdGlvbiBjb2xvcigkY29sb3IsICRtYXA6ICRjb2xvcnMpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRjb2xvcik7XG59XG5cbi8vIE1hcC1mZXRjaFxuLy8gLS0tLS0tLS0tXG4vLyBBbiBlYXN5IHdheSB0byBmZXRjaCBhIGRlZXAgdmFsdWUgaW4gYSBtdWx0aS1sZXZlbCBtYXAuXG4vLyBXb3JrcyBtdWNoIGxpa2UgbWFwLWdldCgpIGV4Y2VwdCB0aGF0IHlvdSBwYXNzIG11bHRpcGxlXG4vLyBrZXlzIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyIHRvIGdvIGRvd24gbXVsdGlwbGUgbGV2ZWxzXG4vLyBpbiB0aGUgbmVzdGVkIG1hcC5cbi8vXG4vLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9qbG9uZy84NzYwMjc1XG4vLyA9PT09PT09PT1cblxuQGZ1bmN0aW9uIG1hcC1mZXRjaCgkbWFwLCAka2V5cykge1xuICAka2V5OiBudGgoJGtleXMsIDEpO1xuICAkbGVuZ3RoOiBsZW5ndGgoJGtleXMpO1xuICAkdmFsdWU6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIEBpZiAkbGVuZ3RoID4gMSB7XG4gICAgJHJlc3Q6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAkcmVzdDogYXBwZW5kKCRyZXN0LCBudGgoJGtleXMsICRpKSk7XG4gICAgfVxuICAgIEByZXR1cm4gbWFwLWZldGNoKCR2YWx1ZSwgJHJlc3QpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG4vLyBTdHJpcHMgdW5pdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cbiIsIi8vIE1JWElOU1xuLy8gLS0tLS0tXG4vLyBHZW5lcmFsIG1peGlucyBmb3IgcHJvamVjdHNcbi8vID09PT09PVxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbkBtaXhpbiBjZiB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgfVxufVxuXG4vLyBGb250IFNtb290aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIE1peGluIHRvIHR1cm4gb24gZm9udCBzbW9vdGhpbmcsIGVzcGVjaWFsbHkgZm9yIGxpZ2h0IHRleHQgb24gZGFyayBiYWNrZ3JvdW5kIGZvciBPU1hcbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB9XG59XG5cbi8vIE1hcHB5IEJyZWFrcG9pbnQgc2hvcnRjdXRzXG4vL1xuLy8gQlAgW01peGluXVxuLy8gLS0tLS0tLS0tLVxuLy8gQ29udmVuaWVuY2UgbWl4aW4gZm9yIE1hcHB5IEJyZWFrcG9pbnRzXG5AbWl4aW4gYnAoJHF1ZXJpZXMsICR0eXBlOiBhbGwsICRxdWVyeS1mYWxsYmFjazogbnVsbCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWFwcHktYnAoJHF1ZXJpZXMsICR0eXBlLCAkcXVlcnktZmFsbGJhY2ssICRicmVha3BvaW50cykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBxdWVyeSgkcXVlcnksICRtYXBweS1xdWVyaWVzOiAkcXVlcmllcykge1xuICBAaW5jbHVkZSBtYXBweS1xdWVyeSgkcXVlcnksICRtYXBweS1xdWVyaWVzKTtcbn1cblxuLy8gSXMtaW52aXNpYmxlXG4vLyAtLS0tLS0tLS0tLS1cbi8vIE1ha2VzIGVsZW1lbnQgaW52aXNpYmxlLCBidXQgc3RpbGwgYWNjZXNzaWJsZVxuLy8gLSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gaXMtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIElzLXZpc2libGVcbi8vIC0tLS0tLS0tLS1cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGlzLXZpc2libGUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbiAgY2xpcDogYXV0bztcbn1cblxuLy8gUGxhY2Vob2xkZXJcbi8vIC0tLS0tLS0tLS0tXG4vLyBDaGFuZ2VzIFBsYWNlaG9sZGVyIHN0eWxlc1xuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2hvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU0VMRUNUSU9OXG4vLyAtLS0tLS0tLS1cbi8vIENoYW5nZXMgc2VsZWN0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3JcbkBtaXhpbiBzZWxlY3Rpb24oJGJnLWNvbG9yLCAkdGV4dC1jb2xvcikge1xuICAmOjpzZWxlY3Rpb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuQG1peGluIHRleHQtb3ZlcmZsb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4vLyBaLWluZGV4XG4vLyAtLS0tLS0tXG5AbWl4aW4gemkoJGxvY2F0aW9uKSB7XG4gIHotaW5kZXg6IG1hcC1nZXQoJHppbmRleCwgJGxvY2F0aW9uKTtcbn1cblxuLy8gU2hhcGUgbWl4aW5zXG4vLyAtLS0tLVxuLy8gU2hhcGVzIGF2YWlsYmxlIHdpdGhpbiB0aGlzIG1peGluIGZpbGVzIGFyZTpcbi8vID09PT09PT09PT1cblxuLy8gU3F1YXJlXG4vLyAtLS0tLS1cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuXG4vLyBDaXJjbGVcbi8vIC0tLS0tLVxuQG1peGluIGNpcmNsZSgkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkd2lkdGg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi8vIFRyaWFuZ2xlXG4vLyAtLS0tLS0tLVxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGlzb3NjZWxlcyB0cmlhbmdsZXNcbi8vIC0gJHRyaWFuZ2xlLXNpemUgICAgICAgLSBVc2VkIHRvIHNldCBib3JkZXItc2l6ZS4gTm8gZGVmYXVsdCwgc2V0IGEgcHggb3IgZW0gc2l6ZS5cbi8vIC0gJHRyaWFuZ2xlLWNvbG9yICAgICAgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcbi8vIC0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAgLSBVc2VkIHRvIGRldGVybWluZSB3aGljaCBkaXJlY3Rpb24gdHJpYW5nbGUgcG9pbnRzLlxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuQG1peGluIHRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20ge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cbn1cbiIsIi8vIFR5cG9ncmFwaHkgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGb250IHdlaWdodFxuLy8gLS0tLS0tLS0tLS1cbkBtaXhpbiBmdygkdGFyZ2V0LCAkbWFwOiAkZm9udC13ZWlnaHRzKSB7XG4gIGZvbnQtd2VpZ2h0OiBtYXAtZmV0Y2goJGZvbnQtd2VpZ2h0cywgJHRhcmdldCk7XG59XG5cbi8vIEZvbnQgRmFtaWx5XG4vLyAtLS0tLS0tLS0tLVxuQG1peGluIGZmKCRmYW1pbHksICRtYXA6ICRmb250LWZhbWlsaWVzKSB7XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRtYXAsICRmYW1pbHkpO1xufVxuIiwiLy8gQ29sb3JzXG4vLyA9PT09PT1cbi8vIEZvciBwcm9qZWN0IGNvbG9ycy5cbi8vXG4vLyBBcHByb2FjaDpcbi8vIC0tLS0tLS0tLVxuLy8gQExhbmRvblNjaHJvcHAncyBhcHByb2FjaCBvZiBuYW1pbmcgY29sb3IgdmFyaWFibGVzLlxuLy8gLSBodHRwOi8vZGF2aWR3YWxzaC5uYW1lL3Nhc3MtY29sb3ItdmFyaWFibGVzLWRvbnQtc3Vja1xuLy8gLSBodHRwOi8vY2hpci5hZy9wcm9qZWN0cy9uYW1lLXRoYXQtY29sb3IvXG4vL1xuLy8gVXNhZ2U6XG4vLyAtLS0tLS1cbi8vIC50ZXN0IHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2hhbXJvY2spO1xuLy8gfVxuLy9cbi8vIE9QVElPTkFMOlxuLy8gLS0tLS0tLS1cbi8vIFN1YmxpbWUgZ3V0dGVyOiBodHRwczovL3N1YmxpbWUud2JvbmQubmV0L3BhY2thZ2VzL0d1dHRlciUyMENvbG9yXG4vLyBTZWUgdGhlIGNvbG9ycyB5b3UgdXNlZCBpbiB0aGUgZ3V0dGVyIChBd2Vzb21lIGlmIHlvdSB1c2Ugc3VibGltZSB0ZXh0KVxuLy8gPT09PT09PT09PVxuXG4vKlxuXG4kY29sb3JzOiAoXG4gIHBlbG9yb3VzOiAjMzk5ZGMxLFxuICBib25kaS1ibHVlOiAjMDA4NGI0LFxuICBzcGluZGxlOiAjYzBkZWVkLFxuICBjYXRza2lsbC13aGl0ZTogI2Y1ZjhmYSxcbiAgKTtcblxuKi9cblxuJHR5cG9ncmFwaHk6IChcblx0aGVhZGluZy1jb2xvcjogIzEzNTJCNyxcblx0c3ViLWhlYWRpbmctY29sb3I6ICMyMzFGMjAsXG5cdGJvZHktdGV4dC1jb2xvcjogIzIzMUYyMFxuKTtcblxuJGNvbG9yczogKFxuXHRibGFjazogIzIzMUYyMCxcblx0d2hpdGU6ICNmZmYsXG5cdGFsbW9zdC13aGl0ZTogI2VkZWRlZCxcblx0b2ZmLXdoaXRlOiAjZjRmNGY0LFxuXHRsaWdodC1ncmV5OiAjY2RjZWQ0LFxuXHRncmV5OiAjNjg2QjZFLFxuXHR5ZWxsb3c6ICNGRkREMTUsXG5cdGJsdWU6ICMxMzUyQjcsXG5cdGxpbmstY29sb3I6ICMxMzUyQjcsXG5cdGxpbmstaG92ZXItY29sb3I6ICMzMzc1RDMsXG5cdGxpbmstdGV4dC1jb2xvcjogI2ZmZlxuKTsiLCIvLyBOaWNlciBBbXBlcnNhbmRzXG5cblxuLyogQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQW1wZXJzYW5kJztcbiAgc3JjOiBsb2NhbCgnQmFza2VydmlsbGUtSXRhbGljJyksIGxvY2FsKCdHb3VkeU9sZFN0eWxlVC1JdGFsaWMnKSwgbG9jYWwoJ1BhbGF0aW5vLUl0YWxpYycpLCBsb2NhbCgnR2FyYW1vbmQtSXRhbGljJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMjY7XG59wqAqL1xuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdjb29wZXJlbGV2YXRpb25zLWJvb2snO1xuICAgIHNyYzogdXJsKCdjb29wZXJlbGV2YXRpb25zLWJvb2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJ2Nvb3BlcmVsZXZhdGlvbnMtYm9vay53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdjb29wZXJlbGV2YXRpb25zLWJvbGQnO1xuICAgIHNyYzogdXJsKCdjb29wZXJlbGV2YXRpb25zLWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJ2Nvb3BlcmVsZXZhdGlvbnMtYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3N3YWxkOjcwMHxNb250c2VycmF0OjYwMCw3MDAnKTtcblxuXG4vLyBGb250IEZhbWlsaWVzXG4vLyAtLS0tLS0tLS0tLS1cbiRmb250LWZhbWlsaWVzOiAoXG4gIGhlYWRlcjogKCdPc3dhbGQnLCBzYW5zLXNlcmlmKSxcbiAgc3ViLWhlYWRlcjogKCdNb250c2VycmF0Jywgc2Fucy1zZXJpZiksXG4gIHRleHQ6ICgnY29vcGVyZWxldmF0aW9ucy1ib29rJywgc2Fucy1zZXJpZiksXG4gIGNvZGU6ICgnTWVubG8nLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgbW9ub3NwYWNlKSxcbiAgcXVvdGU6ICgndm9sbGtvcm4nKSxcbiAgaWNvbnM6ICgnJylcbiAgKTtcblxuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLVxuLy8gRm9yIGFsbCBUeXBvZ3JhcGh5IHJlbGF0ZWQgdmFsdWVzLlxuLy8gVXNlcyBDb21wYXNzIFZlcnRpY2FsIFJoeXRobXMuXG4vLyA9PT09PT09PT09XG5cbiRtcy1yYXRpbzogMjsgLyogMS41IFBlcmZlY3QgRmlmdGggKi9cblxuJHR5cGk6IChcbiAgbnVsbDogKDE2cHgsIDEuNCksXG4gIG1lZDogMThweCxcbiAgd2lkZTogMjBweCxcbiAgbWVnYTogMjJweFxuICApO1xuXG4kaDEtZm9udC1tYXA6IChcbiAgbnVsbDogKG1zKDIpLCAxLjMpXG4gICk7XG5cbiRoMi1mb250LW1hcDogKFxuICBudWxsOiAobXMoMSksIDEuMylcbiAgKTtcblxuJGgzLWZvbnQtbWFwOiAoXG4gIG51bGw6IChtcygwKSwgMS4zKVxuICApO1xuXG4kaDQtZm9udC1tYXA6IChcbiAgbnVsbDogKG1zKDApLCAxLjMpXG4gICk7XG5cbiRoNS1mb250LW1hcDogKFxuICBudWxsOiAobXMoMCksIDEuMylcblxuICApO1xuXG4kaDYtZm9udC1tYXA6IChcbiAgbnVsbDogKG1zKDApLCAxLjMpXG4gICk7XG5cblxuJGNvZGUtZm9udC1tYXA6IChcbiAgbnVsbDogKG1zKDEpLCAxLjMpXG4gICk7XG5cblxuJHdyYXBwZXItbGVuZ3RoOiA1MGVtO1xuJG9wdGltYWwtbGluZS1sZW5ndGg6IDMxLjk0OHJlbTsgLy9TVlxuXG5cblxuIiwiXG4vLyBUaGVtZXNcbi8vIC0tLS0tLVxuLy8gTWFwIGZvciBwcm9qZWN0IHRoZW1lcy4gVXNlcyBhIHRoZW1pbmcgbWV0aG9kIFxuLy8gZGV2ZWxvcGVkIGJ5IEB6ZWxsd2sgd2l0aCB0aGUgaGVscCBvZiBAZXpla2trZy4gXG4vLyBTZWUgVGhlbWlmeSBtaXhpbiBmb3IgbW9yZSBpbmZvLlxuLy8gPT09PT09XG4vLyAkdGhlbWVzOiAoXG4vLyAgIHRoZW1lMTogKFxuLy8gICAgIGNvbG9yOiAjMzMzLFxuLy8gICAgIGJhY2tncm91bmQ6ICNmZmYsXG4vLyAgICAgKSxcbi8vICAgdGhlbWUyOiAoXG4vLyAgICAgY29sb3I6IGNvbG9yKHdoaXRlKSxcbi8vICAgICBiYWNrZ3JvdW5kOiAjMDAwXG4vLyAgICAgKSxcbi8vICAgdGhlbWUzOiAoXG4vLyAgICAgY29sb3I6IHJlZCwgXG4vLyAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvc29tZWltYWdlLnBuZycpXG4vLyAgICAgKVxuLy8gICApO1xuIiwiXG4vLyBCcmVha3BvaW50cyBNYXBcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gU3RvcmVzIHZhcmlhYmxlcyBmb3IgYWxsIGJyZWFrcG9pbnRzIHVzZWQgZm9yIHRoZSBzaXRlLlxuLy8gLSBVc2VzIHRoZSBgbWFwcHktYnAoKWAgbWl4aW4gdG8gb3V0cHV0IHZhbHVlcyBtaW4td2lkdGggb3IgbWF4LXdpdGguXG4vLyAtIE9wdGlvbmFsbHkgYWxsb3dzIGZvciBwb3J0cmFpdCBvciBsYW5kc2NhcGUgb3JpZW50YXRpb25cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3plbGx3ay9tYXBweS1icmVha3BvaW50cyBmb3IgbW9yZSBpbmZvLlxuLy8gPT09PT09PT09PT09PT09PVxuXG4kYnJlYWtwb2ludHM6IChcbiAgJ3NtYWxsJzogNDAwcHgsXG4gICdtZWQnOiA2NDBweCxcbiAgJ2xhcmdlJzogOTAwcHgsXG4gICd3aWRlJzogMTEwMHB4LFxuICAnbWVnYSc6IDE0MDBweCxcbiAgKTtcblxuJG1hcHB5LXF1ZXJpZXM6IChcbiAgJ3BvcnRyYWl0LXRhYmxldCc6IG1hcHB5LWJwKG1lZCksXG4gICd0YWJsZXQnOiBtYXBweS1icChtZWQgd2lkZSksXG4gICdkZXNrdG9wJzogbWFwcHktYnAod2lkZSksXG4gICdtZWdhJzogbWFwcHktYnAobWVnYSlcbiAgKTtcbiIsIi8vIFRIRU1FIFJFU0VUXG4vLyAtLS0tLS0tLS0tLVxuLy8gUGVyc29uYWwgcmVzZXRzIGluIGFkZGl0aW9uIHRvIE5vcm1hbGl6ZS5zY3NzXG4vLyA9PT09PT09PT09PVxuXG4vLyBVc2UgYm9yZGVyLWJveCBmb3IgZXZlcnl0aGluZ1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vLyBSZXNldHMgbWFyZ2lucyBhbmQgcGFkZGluZ3MgZm9yIGhlYWRlcnMsIHVsLCBvbCBhbmQgcFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxudWwsXG5saSxcbnAsXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBSZW1vdmVzIGFsbCBkZWNpbWFscyBhbmQgZGlzY3MgZnJvbSBsaVxubGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBDb21wbGV0ZWx5IHJlc2V0cyBmb3JtIGl0ZW1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTdXBlciBoYXJkIHJlc2V0IHRoYXQgcmVtb3ZlcyBhbGwgYm9yZGVyc1xuLy8gYW5kIHJhZGl1c2VzIG9mIGFsbCBmb3JtIGl0ZW1zLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLy8gU2V0IEltYWdlIGFuZCBPYmplY3RzIHRvIGhhdmUgYSBtYXgtd2lkdGggb2YgMTAwJVxuZW1iZWQsXG5pZnJhbWUsXG5pbWcsXG5vYmplY3QsXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gVGFtaW5nIFRhYmxlIGxheW91dHNcbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG4iLCIvLyBUaGVtZSBiYXNlXG4vLyAtLS0tLS0tLS0tXG5cbi8vIERlZmluaXRpb24gbGlzdHMgKEZyb20gTGVhJ3MgYm9vaywgQ1NTIFNlY3JldHMpXG5kdCxcbmRkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5kZCArIGR0OmJlZm9yZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGNvbnRlbnQ6ICdcXEEnO1xufVxuXG5kZCArIGRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcsICc7XG59XG5cbi8vIEludHJpbnNpYyBzaXppbmcgb24gZmlndXJlICsgRmFsbGJhY2tcbmZpZ3VyZSB7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAvLyBtYXgtd2lkdGg6IG1pbi1jb250ZW50O1xuICBtYXJnaW46IGF1dG87XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBZGFwdGF0aW9uIG9mIExvYm90b21pemVkIE93bHMgU2VsZWN0b3Igb24gcCBlbGVtZW50c1xuLy8gaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvYXhpb21hdGljLWNzcy1hbmQtbG9ib3RvbWl6ZWQtb3dsc1xuXG4vLyBwICsgcCxcbi8vIHAgKyBmaWd1cmUsXG4vLyBwICsgaW1nLFxuLy8gZmlndXJlICsgcCxcbi8vIGltZyArIHAsXG5wICsgKixcbiogKyBibG9ja3F1b3RlLFxuKiArIHAge1xuICBtYXJnaW4tdG9wOiB2cigxKTtcbn1cblxuaDIgKyBwIHtcbiAgbWFyZ2luLXRvcDogdnIoMC41KTtcbn1cblxuaDIgKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiB2cigxKTtcbn1cblxuLy8gQWRkcyBkZWZhdWx0IFVMIGFuZCBMSSBzdHlsZXMgYmFjayBPTkxZIGZvciBhcnRpY2xlc1xuLy8gQWRkcyBtYXJnaW4gYm90dG9tIG9mIDEgcmh5dGhtIHRvIGltYWdlcyBPTkxZIGZvciBhcnRpY2xlc1xuYXJ0aWNsZSB7XG4gIHVsLFxuICBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogdnIoMC4yNSk7XG4gIH1cblxuICB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgb2wgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxufSIsIiRzdXN5OiAoXG4gIGNvbHVtbnM6IDEyLFxuICBndXR0ZXJzOiAwLjI1LFxuICBnbG9iYWwtYm94LXNpemluZzogYm9yZGVyLWJveCxcbiAgZGVidWc6IChpbWFnZTogc2hvdy1jb2x1bW5zKVxuICApO1xuIiwiLy8gTGF5b3V0c1xuLy8gPT09PT09PVxuXG4vLyBTdGlja3kgRm9vdGVyXG4vLyBib2R5IHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vICAgbWluLWhlaWdodDogMTAwdmg7XG4vLyB9XG5cbi8vIG1haW4ge1xuLy8gICBmbGV4OiAxO1xuLy8gfVxuXG4vLyBzZWN0aW9uIHtcbi8vICAgLy8gVGhpcyB3b3VsZCBnaXZlIGEgZml4ZWQgbWF4LXdpZHRoIG9mIDk2MHB4XG4vLyAgIEBpbmNsdWRlIGJwKDk2MHB4KSB7XG4vLyAgICAgcGFkZGluZzogMCBjYWxjKDUwJSAtIDQ4MHB4KTtcbi8vICAgfVxuLy8gfVxuIiwiLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXRzIHR5cG9ncmFwaHkgZm9yIGFsbCBvZiBkb2N1bWVudFxuLy8gPT09PT09PT09PT09PT09XG5cbmh0bWwge1xuICBAaW5jbHVkZSB0eXBpLWJhc2U7XG4gIEBpbmNsdWRlIGZmKHRleHQpO1xuICBAaW5jbHVkZSBmb250LXNtb290aGluZztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGNvbG9yKGJvZHktdGV4dC1jb2xvcik7XG5cbiAgLy8gT3B0bWl6ZXMgZm9udCByZW5kZXJpbmcgZm9yIGxlZ2liaWxpdHkuXG4gIC8vIE1heSBicmVhayB3aXRoIHNvbWUgYnJvd3NlcnMsIGNvbW1lbnQgb3V0IGFzIG5lY2Vzc2FyeS5cbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICAvLyBSZW1vdmUgZGlzY3JldGlvbmFyeS1saWdhdHVyZXMgYXMgbmVjZXNzYXJ5XG4gIGZvbnQtdmFyaWFudC1saWdhdHVyZXM6IGNvbW1vbi1saWdhdHVyZXM7XG4gICAvKmRpc2NyZXRpb25hcnktbGlnYXR1cmVzIGhpc3RvcmljYWwtbGlnYXR1cmVzOyovXG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgZmYoaGVhZGVyKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IGNvbG9yKGhlYWRpbmctY29sb3IsICR0eXBvZ3JhcGh5KTtcbn1cblxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIEBpbmNsdWRlIGZmKHN1Yi1oZWFkZXIpO1xuICBjb2xvcjogY29sb3Ioc3ViLWhlYWRpbmctY29sb3IsICR0eXBvZ3JhcGh5KTtcbn1cblxuaDEge0BpbmNsdWRlIHR5cGkoJGgxLWZvbnQtbWFwKTsgfVxuaDIge0BpbmNsdWRlIHR5cGkoJGgyLWZvbnQtbWFwKTsgfVxuaDMge0BpbmNsdWRlIHR5cGkoJGgzLWZvbnQtbWFwKTsgfVxuaDQge0BpbmNsdWRlIHR5cGkoJGg0LWZvbnQtbWFwKTsgfVxuaDUge0BpbmNsdWRlIHR5cGkoJGg1LWZvbnQtbWFwKTsgfVxuaDYge0BpbmNsdWRlIHR5cGkoJGg2LWZvbnQtbWFwKTsgfVxuY29kZSB7QGluY2x1ZGUgdHlwaSgkY29kZS1mb250LW1hcCk7IH1cblxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxucHJlLCBjb2RlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgdGFiLXNpemU6IDI7XG4gICAgICBmb250LXNpemU6IC44NDQ0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI2cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG59XG5cbi8vIEN1c3RvbSBVbmRlcmxpbmVzXG4vLyBhIHtcbi8vICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoZ3JheSwgZ3JheSkgbm8tcmVwZWF0O1xuLy8gICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4O1xuLy8gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEuMTVlbTtcbi8vICAgLy8gSWYgd2FudCB0byBzZXQgdGV4dC1zaGFkb3csIG11c3QgYmUgc2FtZSBjb2xvciBhcyBiYWNrZ3JvdW5kIGNvbG9yXG4vLyAgIC8vIHRleHQtc2hhZG93OiAwLjE1ZW0gMCB3aGl0ZSwgLTAuMTVlbSAwIHdoaXRlO1xuLy8gfVxuXG4iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInBhdGhcIjtcbkBpbXBvcnQgXCJjb3JlXCI7XG5AaW1wb3J0IFwibGFyZ2VyXCI7XG5AaW1wb3J0IFwiZml4ZWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG5AaW1wb3J0IFwiYm9yZGVyZWQtcHVsbGVkXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJyb3RhdGVkLWZsaXBwZWRcIjtcbkBpbXBvcnQgXCJzdGFja2VkXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbkBpbXBvcnQgXCJzY3JlZW4tcmVhZGVyXCI7XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG4kZmEtZm9udC1zaXplLWJhc2U6ICAgMTRweCAhZGVmYXVsdDtcbiRmYS1saW5lLWhlaWdodC1iYXNlOiAxICFkZWZhdWx0O1xuLy8kZmEtZm9udC1wYXRoOiAgICAgICAgXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250c1wiICFkZWZhdWx0OyAvLyBmb3IgcmVmZXJlbmNpbmcgQm9vdHN0cmFwIENETiBmb250IGZpbGVzIGRpcmVjdGx5XG4kZmEtY3NzLXByZWZpeDogICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgXCI0LjcuMFwiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRmYS1saS13aWR0aDogICAgICAgICAoMzBlbSAvIDE0KSAhZGVmYXVsdDtcblxuJGZhLXZhci01MDBweDogXCJcXGYyNmVcIjtcbiRmYS12YXItYWRkcmVzcy1ib29rOiBcIlxcZjJiOVwiO1xuJGZhLXZhci1hZGRyZXNzLWJvb2stbzogXCJcXGYyYmFcIjtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcIlxcZjJiYlwiO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQtbzogXCJcXGYyYmNcIjtcbiRmYS12YXItYWRqdXN0OiBcIlxcZjA0MlwiO1xuJGZhLXZhci1hZG46IFwiXFxmMTcwXCI7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXCJcXGYwMzdcIjtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXCJcXGYwMzlcIjtcbiRmYS12YXItYWxpZ24tbGVmdDogXCJcXGYwMzZcIjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFwiXFxmMDM4XCI7XG4kZmEtdmFyLWFtYXpvbjogXCJcXGYyNzBcIjtcbiRmYS12YXItYW1idWxhbmNlOiBcIlxcZjBmOVwiO1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXCJcXGYyYTNcIjtcbiRmYS12YXItYW5jaG9yOiBcIlxcZjEzZFwiO1xuJGZhLXZhci1hbmRyb2lkOiBcIlxcZjE3YlwiO1xuJGZhLXZhci1hbmdlbGxpc3Q6IFwiXFxmMjA5XCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcIlxcZjEwM1wiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXCJcXGYxMDBcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcIlxcZjEwMVwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFwiXFxmMTAyXCI7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFwiXFxmMTA3XCI7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFwiXFxmMTA0XCI7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcIlxcZjEwNVwiO1xuJGZhLXZhci1hbmdsZS11cDogXCJcXGYxMDZcIjtcbiRmYS12YXItYXBwbGU6IFwiXFxmMTc5XCI7XG4kZmEtdmFyLWFyY2hpdmU6IFwiXFxmMTg3XCI7XG4kZmEtdmFyLWFyZWEtY2hhcnQ6IFwiXFxmMWZlXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOiBcIlxcZjBhYlwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXCJcXGYwYThcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tZG93bjogXCJcXGYwMWFcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tbGVmdDogXCJcXGYxOTBcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tcmlnaHQ6IFwiXFxmMThlXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOiBcIlxcZjAxYlwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFwiXFxmMGE5XCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXCJcXGYwYWFcIjtcbiRmYS12YXItYXJyb3ctZG93bjogXCJcXGYwNjNcIjtcbiRmYS12YXItYXJyb3ctbGVmdDogXCJcXGYwNjBcIjtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFwiXFxmMDYxXCI7XG4kZmEtdmFyLWFycm93LXVwOiBcIlxcZjA2MlwiO1xuJGZhLXZhci1hcnJvd3M6IFwiXFxmMDQ3XCI7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFwiXFxmMGIyXCI7XG4kZmEtdmFyLWFycm93cy1oOiBcIlxcZjA3ZVwiO1xuJGZhLXZhci1hcnJvd3MtdjogXCJcXGYwN2RcIjtcbiRmYS12YXItYXNsLWludGVycHJldGluZzogXCJcXGYyYTNcIjtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcIlxcZjJhMlwiO1xuJGZhLXZhci1hc3RlcmlzazogXCJcXGYwNjlcIjtcbiRmYS12YXItYXQ6IFwiXFxmMWZhXCI7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcIlxcZjI5ZVwiO1xuJGZhLXZhci1hdXRvbW9iaWxlOiBcIlxcZjFiOVwiO1xuJGZhLXZhci1iYWNrd2FyZDogXCJcXGYwNGFcIjtcbiRmYS12YXItYmFsYW5jZS1zY2FsZTogXCJcXGYyNGVcIjtcbiRmYS12YXItYmFuOiBcIlxcZjA1ZVwiO1xuJGZhLXZhci1iYW5kY2FtcDogXCJcXGYyZDVcIjtcbiRmYS12YXItYmFuazogXCJcXGYxOWNcIjtcbiRmYS12YXItYmFyLWNoYXJ0OiBcIlxcZjA4MFwiO1xuJGZhLXZhci1iYXItY2hhcnQtbzogXCJcXGYwODBcIjtcbiRmYS12YXItYmFyY29kZTogXCJcXGYwMmFcIjtcbiRmYS12YXItYmFyczogXCJcXGYwYzlcIjtcbiRmYS12YXItYmF0aDogXCJcXGYyY2RcIjtcbiRmYS12YXItYmF0aHR1YjogXCJcXGYyY2RcIjtcbiRmYS12YXItYmF0dGVyeTogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS0wOiBcIlxcZjI0NFwiO1xuJGZhLXZhci1iYXR0ZXJ5LTE6IFwiXFxmMjQzXCI7XG4kZmEtdmFyLWJhdHRlcnktMjogXCJcXGYyNDJcIjtcbiRmYS12YXItYmF0dGVyeS0zOiBcIlxcZjI0MVwiO1xuJGZhLXZhci1iYXR0ZXJ5LTQ6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFwiXFxmMjQ0XCI7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcIlxcZjI0MlwiO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFwiXFxmMjQzXCI7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFwiXFxmMjQxXCI7XG4kZmEtdmFyLWJlZDogXCJcXGYyMzZcIjtcbiRmYS12YXItYmVlcjogXCJcXGYwZmNcIjtcbiRmYS12YXItYmVoYW5jZTogXCJcXGYxYjRcIjtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFwiXFxmMWI1XCI7XG4kZmEtdmFyLWJlbGw6IFwiXFxmMGYzXCI7XG4kZmEtdmFyLWJlbGwtbzogXCJcXGYwYTJcIjtcbiRmYS12YXItYmVsbC1zbGFzaDogXCJcXGYxZjZcIjtcbiRmYS12YXItYmVsbC1zbGFzaC1vOiBcIlxcZjFmN1wiO1xuJGZhLXZhci1iaWN5Y2xlOiBcIlxcZjIwNlwiO1xuJGZhLXZhci1iaW5vY3VsYXJzOiBcIlxcZjFlNVwiO1xuJGZhLXZhci1iaXJ0aGRheS1jYWtlOiBcIlxcZjFmZFwiO1xuJGZhLXZhci1iaXRidWNrZXQ6IFwiXFxmMTcxXCI7XG4kZmEtdmFyLWJpdGJ1Y2tldC1zcXVhcmU6IFwiXFxmMTcyXCI7XG4kZmEtdmFyLWJpdGNvaW46IFwiXFxmMTVhXCI7XG4kZmEtdmFyLWJsYWNrLXRpZTogXCJcXGYyN2VcIjtcbiRmYS12YXItYmxpbmQ6IFwiXFxmMjlkXCI7XG4kZmEtdmFyLWJsdWV0b290aDogXCJcXGYyOTNcIjtcbiRmYS12YXItYmx1ZXRvb3RoLWI6IFwiXFxmMjk0XCI7XG4kZmEtdmFyLWJvbGQ6IFwiXFxmMDMyXCI7XG4kZmEtdmFyLWJvbHQ6IFwiXFxmMGU3XCI7XG4kZmEtdmFyLWJvbWI6IFwiXFxmMWUyXCI7XG4kZmEtdmFyLWJvb2s6IFwiXFxmMDJkXCI7XG4kZmEtdmFyLWJvb2ttYXJrOiBcIlxcZjAyZVwiO1xuJGZhLXZhci1ib29rbWFyay1vOiBcIlxcZjA5N1wiO1xuJGZhLXZhci1icmFpbGxlOiBcIlxcZjJhMVwiO1xuJGZhLXZhci1icmllZmNhc2U6IFwiXFxmMGIxXCI7XG4kZmEtdmFyLWJ0YzogXCJcXGYxNWFcIjtcbiRmYS12YXItYnVnOiBcIlxcZjE4OFwiO1xuJGZhLXZhci1idWlsZGluZzogXCJcXGYxYWRcIjtcbiRmYS12YXItYnVpbGRpbmctbzogXCJcXGYwZjdcIjtcbiRmYS12YXItYnVsbGhvcm46IFwiXFxmMGExXCI7XG4kZmEtdmFyLWJ1bGxzZXllOiBcIlxcZjE0MFwiO1xuJGZhLXZhci1idXM6IFwiXFxmMjA3XCI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFwiXFxmMjBkXCI7XG4kZmEtdmFyLWNhYjogXCJcXGYxYmFcIjtcbiRmYS12YXItY2FsY3VsYXRvcjogXCJcXGYxZWNcIjtcbiRmYS12YXItY2FsZW5kYXI6IFwiXFxmMDczXCI7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW86IFwiXFxmMjc0XCI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW86IFwiXFxmMjcyXCI7XG4kZmEtdmFyLWNhbGVuZGFyLW86IFwiXFxmMTMzXCI7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzogXCJcXGYyNzFcIjtcbiRmYS12YXItY2FsZW5kYXItdGltZXMtbzogXCJcXGYyNzNcIjtcbiRmYS12YXItY2FtZXJhOiBcIlxcZjAzMFwiO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFwiXFxmMDgzXCI7XG4kZmEtdmFyLWNhcjogXCJcXGYxYjlcIjtcbiRmYS12YXItY2FyZXQtZG93bjogXCJcXGYwZDdcIjtcbiRmYS12YXItY2FyZXQtbGVmdDogXCJcXGYwZDlcIjtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFwiXFxmMGRhXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ6IFwiXFxmMTkxXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OiBcIlxcZjE1MlwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItY2FyZXQtdXA6IFwiXFxmMGQ4XCI7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXCJcXGYyMThcIjtcbiRmYS12YXItY2FydC1wbHVzOiBcIlxcZjIxN1wiO1xuJGZhLXZhci1jYzogXCJcXGYyMGFcIjtcbiRmYS12YXItY2MtYW1leDogXCJcXGYxZjNcIjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFwiXFxmMjRjXCI7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcIlxcZjFmMlwiO1xuJGZhLXZhci1jYy1qY2I6IFwiXFxmMjRiXCI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFwiXFxmMWYxXCI7XG4kZmEtdmFyLWNjLXBheXBhbDogXCJcXGYxZjRcIjtcbiRmYS12YXItY2Mtc3RyaXBlOiBcIlxcZjFmNVwiO1xuJGZhLXZhci1jYy12aXNhOiBcIlxcZjFmMFwiO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXCJcXGYwYTNcIjtcbiRmYS12YXItY2hhaW46IFwiXFxmMGMxXCI7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXCJcXGYxMjdcIjtcbiRmYS12YXItY2hlY2s6IFwiXFxmMDBjXCI7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXCJcXGYwNThcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlLW86IFwiXFxmMDVkXCI7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXCJcXGYxNGFcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlLW86IFwiXFxmMDQ2XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFwiXFxmMTNhXCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFwiXFxmMTM3XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcIlxcZjEzOFwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXCJcXGYxMzlcIjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcIlxcZjA3OFwiO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFwiXFxmMDUzXCI7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFwiXFxmMDc3XCI7XG4kZmEtdmFyLWNoaWxkOiBcIlxcZjFhZVwiO1xuJGZhLXZhci1jaHJvbWU6IFwiXFxmMjY4XCI7XG4kZmEtdmFyLWNpcmNsZTogXCJcXGYxMTFcIjtcbiRmYS12YXItY2lyY2xlLW86IFwiXFxmMTBjXCI7XG4kZmEtdmFyLWNpcmNsZS1vLW5vdGNoOiBcIlxcZjFjZVwiO1xuJGZhLXZhci1jaXJjbGUtdGhpbjogXCJcXGYxZGJcIjtcbiRmYS12YXItY2xpcGJvYXJkOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1jbG9jay1vOiBcIlxcZjAxN1wiO1xuJGZhLXZhci1jbG9uZTogXCJcXGYyNGRcIjtcbiRmYS12YXItY2xvc2U6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLWNsb3VkOiBcIlxcZjBjMlwiO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXCJcXGYwZWRcIjtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcIlxcZjBlZVwiO1xuJGZhLXZhci1jbnk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWNvZGU6IFwiXFxmMTIxXCI7XG4kZmEtdmFyLWNvZGUtZm9yazogXCJcXGYxMjZcIjtcbiRmYS12YXItY29kZXBlbjogXCJcXGYxY2JcIjtcbiRmYS12YXItY29kaWVwaWU6IFwiXFxmMjg0XCI7XG4kZmEtdmFyLWNvZmZlZTogXCJcXGYwZjRcIjtcbiRmYS12YXItY29nOiBcIlxcZjAxM1wiO1xuJGZhLXZhci1jb2dzOiBcIlxcZjA4NVwiO1xuJGZhLXZhci1jb2x1bW5zOiBcIlxcZjBkYlwiO1xuJGZhLXZhci1jb21tZW50OiBcIlxcZjA3NVwiO1xuJGZhLXZhci1jb21tZW50LW86IFwiXFxmMGU1XCI7XG4kZmEtdmFyLWNvbW1lbnRpbmc6IFwiXFxmMjdhXCI7XG4kZmEtdmFyLWNvbW1lbnRpbmctbzogXCJcXGYyN2JcIjtcbiRmYS12YXItY29tbWVudHM6IFwiXFxmMDg2XCI7XG4kZmEtdmFyLWNvbW1lbnRzLW86IFwiXFxmMGU2XCI7XG4kZmEtdmFyLWNvbXBhc3M6IFwiXFxmMTRlXCI7XG4kZmEtdmFyLWNvbXByZXNzOiBcIlxcZjA2NlwiO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXCJcXGYyMGVcIjtcbiRmYS12YXItY29udGFvOiBcIlxcZjI2ZFwiO1xuJGZhLXZhci1jb3B5OiBcIlxcZjBjNVwiO1xuJGZhLXZhci1jb3B5cmlnaHQ6IFwiXFxmMWY5XCI7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFwiXFxmMjVlXCI7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcIlxcZjA5ZFwiO1xuJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQ6IFwiXFxmMjgzXCI7XG4kZmEtdmFyLWNyb3A6IFwiXFxmMTI1XCI7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFwiXFxmMDViXCI7XG4kZmEtdmFyLWNzczM6IFwiXFxmMTNjXCI7XG4kZmEtdmFyLWN1YmU6IFwiXFxmMWIyXCI7XG4kZmEtdmFyLWN1YmVzOiBcIlxcZjFiM1wiO1xuJGZhLXZhci1jdXQ6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLWN1dGxlcnk6IFwiXFxmMGY1XCI7XG4kZmEtdmFyLWRhc2hib2FyZDogXCJcXGYwZTRcIjtcbiRmYS12YXItZGFzaGN1YmU6IFwiXFxmMjEwXCI7XG4kZmEtdmFyLWRhdGFiYXNlOiBcIlxcZjFjMFwiO1xuJGZhLXZhci1kZWFmOiBcIlxcZjJhNFwiO1xuJGZhLXZhci1kZWFmbmVzczogXCJcXGYyYTRcIjtcbiRmYS12YXItZGVkZW50OiBcIlxcZjAzYlwiO1xuJGZhLXZhci1kZWxpY2lvdXM6IFwiXFxmMWE1XCI7XG4kZmEtdmFyLWRlc2t0b3A6IFwiXFxmMTA4XCI7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFwiXFxmMWJkXCI7XG4kZmEtdmFyLWRpYW1vbmQ6IFwiXFxmMjE5XCI7XG4kZmEtdmFyLWRpZ2c6IFwiXFxmMWE2XCI7XG4kZmEtdmFyLWRvbGxhcjogXCJcXGYxNTVcIjtcbiRmYS12YXItZG90LWNpcmNsZS1vOiBcIlxcZjE5MlwiO1xuJGZhLXZhci1kb3dubG9hZDogXCJcXGYwMTlcIjtcbiRmYS12YXItZHJpYmJibGU6IFwiXFxmMTdkXCI7XG4kZmEtdmFyLWRyaXZlcnMtbGljZW5zZTogXCJcXGYyYzJcIjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlLW86IFwiXFxmMmMzXCI7XG4kZmEtdmFyLWRyb3Bib3g6IFwiXFxmMTZiXCI7XG4kZmEtdmFyLWRydXBhbDogXCJcXGYxYTlcIjtcbiRmYS12YXItZWRnZTogXCJcXGYyODJcIjtcbiRmYS12YXItZWRpdDogXCJcXGYwNDRcIjtcbiRmYS12YXItZWVyY2FzdDogXCJcXGYyZGFcIjtcbiRmYS12YXItZWplY3Q6IFwiXFxmMDUyXCI7XG4kZmEtdmFyLWVsbGlwc2lzLWg6IFwiXFxmMTQxXCI7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFwiXFxmMTQyXCI7XG4kZmEtdmFyLWVtcGlyZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZW52ZWxvcGU6IFwiXFxmMGUwXCI7XG4kZmEtdmFyLWVudmVsb3BlLW86IFwiXFxmMDAzXCI7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW46IFwiXFxmMmI2XCI7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tbzogXCJcXGYyYjdcIjtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcIlxcZjE5OVwiO1xuJGZhLXZhci1lbnZpcmE6IFwiXFxmMjk5XCI7XG4kZmEtdmFyLWVyYXNlcjogXCJcXGYxMmRcIjtcbiRmYS12YXItZXRzeTogXCJcXGYyZDdcIjtcbiRmYS12YXItZXVyOiBcIlxcZjE1M1wiO1xuJGZhLXZhci1ldXJvOiBcIlxcZjE1M1wiO1xuJGZhLXZhci1leGNoYW5nZTogXCJcXGYwZWNcIjtcbiRmYS12YXItZXhjbGFtYXRpb246IFwiXFxmMTJhXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTogXCJcXGYwNmFcIjtcbiRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU6IFwiXFxmMDcxXCI7XG4kZmEtdmFyLWV4cGFuZDogXCJcXGYwNjVcIjtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcIlxcZjIzZVwiO1xuJGZhLXZhci1leHRlcm5hbC1saW5rOiBcIlxcZjA4ZVwiO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTogXCJcXGYxNGNcIjtcbiRmYS12YXItZXllOiBcIlxcZjA2ZVwiO1xuJGZhLXZhci1leWUtc2xhc2g6IFwiXFxmMDcwXCI7XG4kZmEtdmFyLWV5ZWRyb3BwZXI6IFwiXFxmMWZiXCI7XG4kZmEtdmFyLWZhOiBcIlxcZjJiNFwiO1xuJGZhLXZhci1mYWNlYm9vazogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stZjogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw6IFwiXFxmMjMwXCI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXCJcXGYwODJcIjtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXCJcXGYwNDlcIjtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcIlxcZjA1MFwiO1xuJGZhLXZhci1mYXg6IFwiXFxmMWFjXCI7XG4kZmEtdmFyLWZlZWQ6IFwiXFxmMDllXCI7XG4kZmEtdmFyLWZlbWFsZTogXCJcXGYxODJcIjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFwiXFxmMGZiXCI7XG4kZmEtdmFyLWZpbGU6IFwiXFxmMTViXCI7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOiBcIlxcZjFjNlwiO1xuJGZhLXZhci1maWxlLWF1ZGlvLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtY29kZS1vOiBcIlxcZjFjOVwiO1xuJGZhLXZhci1maWxlLWV4Y2VsLW86IFwiXFxmMWMzXCI7XG4kZmEtdmFyLWZpbGUtaW1hZ2UtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1tb3ZpZS1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLW86IFwiXFxmMDE2XCI7XG4kZmEtdmFyLWZpbGUtcGRmLW86IFwiXFxmMWMxXCI7XG4kZmEtdmFyLWZpbGUtcGhvdG8tbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1waWN0dXJlLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOiBcIlxcZjFjNFwiO1xuJGZhLXZhci1maWxlLXNvdW5kLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtdGV4dDogXCJcXGYxNWNcIjtcbiRmYS12YXItZmlsZS10ZXh0LW86IFwiXFxmMGY2XCI7XG4kZmEtdmFyLWZpbGUtdmlkZW8tbzogXCJcXGYxYzhcIjtcbiRmYS12YXItZmlsZS13b3JkLW86IFwiXFxmMWMyXCI7XG4kZmEtdmFyLWZpbGUtemlwLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGVzLW86IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWZpbG06IFwiXFxmMDA4XCI7XG4kZmEtdmFyLWZpbHRlcjogXCJcXGYwYjBcIjtcbiRmYS12YXItZmlyZTogXCJcXGYwNmRcIjtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxmMTM0XCI7XG4kZmEtdmFyLWZpcmVmb3g6IFwiXFxmMjY5XCI7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcIlxcZjJiMFwiO1xuJGZhLXZhci1mbGFnOiBcIlxcZjAyNFwiO1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXCJcXGYxMWVcIjtcbiRmYS12YXItZmxhZy1vOiBcIlxcZjExZFwiO1xuJGZhLXZhci1mbGFzaDogXCJcXGYwZTdcIjtcbiRmYS12YXItZmxhc2s6IFwiXFxmMGMzXCI7XG4kZmEtdmFyLWZsaWNrcjogXCJcXGYxNmVcIjtcbiRmYS12YXItZmxvcHB5LW86IFwiXFxmMGM3XCI7XG4kZmEtdmFyLWZvbGRlcjogXCJcXGYwN2JcIjtcbiRmYS12YXItZm9sZGVyLW86IFwiXFxmMTE0XCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcIlxcZjA3Y1wiO1xuJGZhLXZhci1mb2xkZXItb3Blbi1vOiBcIlxcZjExNVwiO1xuJGZhLXZhci1mb250OiBcIlxcZjAzMVwiO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFwiXFxmMmI0XCI7XG4kZmEtdmFyLWZvbnRpY29uczogXCJcXGYyODBcIjtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcIlxcZjI4NlwiO1xuJGZhLXZhci1mb3J1bWJlZTogXCJcXGYyMTFcIjtcbiRmYS12YXItZm9yd2FyZDogXCJcXGYwNGVcIjtcbiRmYS12YXItZm91cnNxdWFyZTogXCJcXGYxODBcIjtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFwiXFxmMmM1XCI7XG4kZmEtdmFyLWZyb3duLW86IFwiXFxmMTE5XCI7XG4kZmEtdmFyLWZ1dGJvbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1nYW1lcGFkOiBcIlxcZjExYlwiO1xuJGZhLXZhci1nYXZlbDogXCJcXGYwZTNcIjtcbiRmYS12YXItZ2JwOiBcIlxcZjE1NFwiO1xuJGZhLXZhci1nZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZ2VhcjogXCJcXGYwMTNcIjtcbiRmYS12YXItZ2VhcnM6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFwiXFxmMjJkXCI7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFwiXFxmMjY1XCI7XG4kZmEtdmFyLWdnOiBcIlxcZjI2MFwiO1xuJGZhLXZhci1nZy1jaXJjbGU6IFwiXFxmMjYxXCI7XG4kZmEtdmFyLWdpZnQ6IFwiXFxmMDZiXCI7XG4kZmEtdmFyLWdpdDogXCJcXGYxZDNcIjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXCJcXGYxZDJcIjtcbiRmYS12YXItZ2l0aHViOiBcIlxcZjA5YlwiO1xuJGZhLXZhci1naXRodWItYWx0OiBcIlxcZjExM1wiO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcIlxcZjA5MlwiO1xuJGZhLXZhci1naXRsYWI6IFwiXFxmMjk2XCI7XG4kZmEtdmFyLWdpdHRpcDogXCJcXGYxODRcIjtcbiRmYS12YXItZ2xhc3M6IFwiXFxmMDAwXCI7XG4kZmEtdmFyLWdsaWRlOiBcIlxcZjJhNVwiO1xuJGZhLXZhci1nbGlkZS1nOiBcIlxcZjJhNlwiO1xuJGZhLXZhci1nbG9iZTogXCJcXGYwYWNcIjtcbiRmYS12YXItZ29vZ2xlOiBcIlxcZjFhMFwiO1xuJGZhLXZhci1nb29nbGUtcGx1czogXCJcXGYwZDVcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtY2lyY2xlOiBcIlxcZjJiM1wiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1vZmZpY2lhbDogXCJcXGYyYjNcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcIlxcZjBkNFwiO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcIlxcZjFlZVwiO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXCJcXGYxOWRcIjtcbiRmYS12YXItZ3JhdGlwYXk6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdyYXY6IFwiXFxmMmQ2XCI7XG4kZmEtdmFyLWdyb3VwOiBcIlxcZjBjMFwiO1xuJGZhLXZhci1oLXNxdWFyZTogXCJcXGYwZmRcIjtcbiRmYS12YXItaGFja2VyLW5ld3M6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLWhhbmQtZ3JhYi1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLWxpemFyZC1vOiBcIlxcZjI1OFwiO1xuJGZhLXZhci1oYW5kLW8tZG93bjogXCJcXGYwYTdcIjtcbiRmYS12YXItaGFuZC1vLWxlZnQ6IFwiXFxmMGE1XCI7XG4kZmEtdmFyLWhhbmQtby1yaWdodDogXCJcXGYwYTRcIjtcbiRmYS12YXItaGFuZC1vLXVwOiBcIlxcZjBhNlwiO1xuJGZhLXZhci1oYW5kLXBhcGVyLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmQtcGVhY2UtbzogXCJcXGYyNWJcIjtcbiRmYS12YXItaGFuZC1wb2ludGVyLW86IFwiXFxmMjVhXCI7XG4kZmEtdmFyLWhhbmQtcm9jay1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzLW86IFwiXFxmMjU3XCI7XG4kZmEtdmFyLWhhbmQtc3BvY2stbzogXCJcXGYyNTlcIjtcbiRmYS12YXItaGFuZC1zdG9wLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmRzaGFrZS1vOiBcIlxcZjJiNVwiO1xuJGZhLXZhci1oYXJkLW9mLWhlYXJpbmc6IFwiXFxmMmE0XCI7XG4kZmEtdmFyLWhhc2h0YWc6IFwiXFxmMjkyXCI7XG4kZmEtdmFyLWhkZC1vOiBcIlxcZjBhMFwiO1xuJGZhLXZhci1oZWFkZXI6IFwiXFxmMWRjXCI7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFwiXFxmMDI1XCI7XG4kZmEtdmFyLWhlYXJ0OiBcIlxcZjAwNFwiO1xuJGZhLXZhci1oZWFydC1vOiBcIlxcZjA4YVwiO1xuJGZhLXZhci1oZWFydGJlYXQ6IFwiXFxmMjFlXCI7XG4kZmEtdmFyLWhpc3Rvcnk6IFwiXFxmMWRhXCI7XG4kZmEtdmFyLWhvbWU6IFwiXFxmMDE1XCI7XG4kZmEtdmFyLWhvc3BpdGFsLW86IFwiXFxmMGY4XCI7XG4kZmEtdmFyLWhvdGVsOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFwiXFxmMjU0XCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXCJcXGYyNTJcIjtcbiRmYS12YXItaG91cmdsYXNzLTM6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtbzogXCJcXGYyNTBcIjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3V6ejogXCJcXGYyN2NcIjtcbiRmYS12YXItaHRtbDU6IFwiXFxmMTNiXCI7XG4kZmEtdmFyLWktY3Vyc29yOiBcIlxcZjI0NlwiO1xuJGZhLXZhci1pZC1iYWRnZTogXCJcXGYyYzFcIjtcbiRmYS12YXItaWQtY2FyZDogXCJcXGYyYzJcIjtcbiRmYS12YXItaWQtY2FyZC1vOiBcIlxcZjJjM1wiO1xuJGZhLXZhci1pbHM6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLWltYWdlOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1pbWRiOiBcIlxcZjJkOFwiO1xuJGZhLXZhci1pbmJveDogXCJcXGYwMWNcIjtcbiRmYS12YXItaW5kZW50OiBcIlxcZjAzY1wiO1xuJGZhLXZhci1pbmR1c3RyeTogXCJcXGYyNzVcIjtcbiRmYS12YXItaW5mbzogXCJcXGYxMjlcIjtcbiRmYS12YXItaW5mby1jaXJjbGU6IFwiXFxmMDVhXCI7XG4kZmEtdmFyLWlucjogXCJcXGYxNTZcIjtcbiRmYS12YXItaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXCJcXGYxOWNcIjtcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFwiXFxmMjZiXCI7XG4kZmEtdmFyLWludGVyc2V4OiBcIlxcZjIyNFwiO1xuJGZhLXZhci1pb3hob3N0OiBcIlxcZjIwOFwiO1xuJGZhLXZhci1pdGFsaWM6IFwiXFxmMDMzXCI7XG4kZmEtdmFyLWpvb21sYTogXCJcXGYxYWFcIjtcbiRmYS12YXItanB5OiBcIlxcZjE1N1wiO1xuJGZhLXZhci1qc2ZpZGRsZTogXCJcXGYxY2NcIjtcbiRmYS12YXIta2V5OiBcIlxcZjA4NFwiO1xuJGZhLXZhci1rZXlib2FyZC1vOiBcIlxcZjExY1wiO1xuJGZhLXZhci1rcnc6IFwiXFxmMTU5XCI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcIlxcZjFhYlwiO1xuJGZhLXZhci1sYXB0b3A6IFwiXFxmMTA5XCI7XG4kZmEtdmFyLWxhc3RmbTogXCJcXGYyMDJcIjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXCJcXGYyMDNcIjtcbiRmYS12YXItbGVhZjogXCJcXGYwNmNcIjtcbiRmYS12YXItbGVhbnB1YjogXCJcXGYyMTJcIjtcbiRmYS12YXItbGVnYWw6IFwiXFxmMGUzXCI7XG4kZmEtdmFyLWxlbW9uLW86IFwiXFxmMDk0XCI7XG4kZmEtdmFyLWxldmVsLWRvd246IFwiXFxmMTQ5XCI7XG4kZmEtdmFyLWxldmVsLXVwOiBcIlxcZjE0OFwiO1xuJGZhLXZhci1saWZlLWJvdXk6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtYnVveTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1yaW5nOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXNhdmVyOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWdodGJ1bGItbzogXCJcXGYwZWJcIjtcbiRmYS12YXItbGluZS1jaGFydDogXCJcXGYyMDFcIjtcbiRmYS12YXItbGluazogXCJcXGYwYzFcIjtcbiRmYS12YXItbGlua2VkaW46IFwiXFxmMGUxXCI7XG4kZmEtdmFyLWxpbmtlZGluLXNxdWFyZTogXCJcXGYwOGNcIjtcbiRmYS12YXItbGlub2RlOiBcIlxcZjJiOFwiO1xuJGZhLXZhci1saW51eDogXCJcXGYxN2NcIjtcbiRmYS12YXItbGlzdDogXCJcXGYwM2FcIjtcbiRmYS12YXItbGlzdC1hbHQ6IFwiXFxmMDIyXCI7XG4kZmEtdmFyLWxpc3Qtb2w6IFwiXFxmMGNiXCI7XG4kZmEtdmFyLWxpc3QtdWw6IFwiXFxmMGNhXCI7XG4kZmEtdmFyLWxvY2F0aW9uLWFycm93OiBcIlxcZjEyNFwiO1xuJGZhLXZhci1sb2NrOiBcIlxcZjAyM1wiO1xuJGZhLXZhci1sb25nLWFycm93LWRvd246IFwiXFxmMTc1XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctbGVmdDogXCJcXGYxNzdcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1yaWdodDogXCJcXGYxNzhcIjtcbiRmYS12YXItbG9uZy1hcnJvdy11cDogXCJcXGYxNzZcIjtcbiRmYS12YXItbG93LXZpc2lvbjogXCJcXGYyYThcIjtcbiRmYS12YXItbWFnaWM6IFwiXFxmMGQwXCI7XG4kZmEtdmFyLW1hZ25ldDogXCJcXGYwNzZcIjtcbiRmYS12YXItbWFpbC1mb3J3YXJkOiBcIlxcZjA2NFwiO1xuJGZhLXZhci1tYWlsLXJlcGx5OiBcIlxcZjExMlwiO1xuJGZhLXZhci1tYWlsLXJlcGx5LWFsbDogXCJcXGYxMjJcIjtcbiRmYS12YXItbWFsZTogXCJcXGYxODNcIjtcbiRmYS12YXItbWFwOiBcIlxcZjI3OVwiO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcIlxcZjA0MVwiO1xuJGZhLXZhci1tYXAtbzogXCJcXGYyNzhcIjtcbiRmYS12YXItbWFwLXBpbjogXCJcXGYyNzZcIjtcbiRmYS12YXItbWFwLXNpZ25zOiBcIlxcZjI3N1wiO1xuJGZhLXZhci1tYXJzOiBcIlxcZjIyMlwiO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXCJcXGYyMjdcIjtcbiRmYS12YXItbWFycy1zdHJva2U6IFwiXFxmMjI5XCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLWg6IFwiXFxmMjJiXCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFwiXFxmMjJhXCI7XG4kZmEtdmFyLW1heGNkbjogXCJcXGYxMzZcIjtcbiRmYS12YXItbWVhbnBhdGg6IFwiXFxmMjBjXCI7XG4kZmEtdmFyLW1lZGl1bTogXCJcXGYyM2FcIjtcbiRmYS12YXItbWVka2l0OiBcIlxcZjBmYVwiO1xuJGZhLXZhci1tZWV0dXA6IFwiXFxmMmUwXCI7XG4kZmEtdmFyLW1laC1vOiBcIlxcZjExYVwiO1xuJGZhLXZhci1tZXJjdXJ5OiBcIlxcZjIyM1wiO1xuJGZhLXZhci1taWNyb2NoaXA6IFwiXFxmMmRiXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFwiXFxmMTMwXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFwiXFxmMTMxXCI7XG4kZmEtdmFyLW1pbnVzOiBcIlxcZjA2OFwiO1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFwiXFxmMDU2XCI7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXCJcXGYxNDZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlLW86IFwiXFxmMTQ3XCI7XG4kZmEtdmFyLW1peGNsb3VkOiBcIlxcZjI4OVwiO1xuJGZhLXZhci1tb2JpbGU6IFwiXFxmMTBiXCI7XG4kZmEtdmFyLW1vYmlsZS1waG9uZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9keDogXCJcXGYyODVcIjtcbiRmYS12YXItbW9uZXk6IFwiXFxmMGQ2XCI7XG4kZmEtdmFyLW1vb24tbzogXCJcXGYxODZcIjtcbiRmYS12YXItbW9ydGFyLWJvYXJkOiBcIlxcZjE5ZFwiO1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcIlxcZjIxY1wiO1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcIlxcZjI0NVwiO1xuJGZhLXZhci1tdXNpYzogXCJcXGYwMDFcIjtcbiRmYS12YXItbmF2aWNvbjogXCJcXGYwYzlcIjtcbiRmYS12YXItbmV1dGVyOiBcIlxcZjIyY1wiO1xuJGZhLXZhci1uZXdzcGFwZXItbzogXCJcXGYxZWFcIjtcbiRmYS12YXItb2JqZWN0LWdyb3VwOiBcIlxcZjI0N1wiO1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXCJcXGYyNDhcIjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXCJcXGYyNjNcIjtcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFwiXFxmMjY0XCI7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcIlxcZjIzZFwiO1xuJGZhLXZhci1vcGVuaWQ6IFwiXFxmMTliXCI7XG4kZmEtdmFyLW9wZXJhOiBcIlxcZjI2YVwiO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcIlxcZjIzY1wiO1xuJGZhLXZhci1vdXRkZW50OiBcIlxcZjAzYlwiO1xuJGZhLXZhci1wYWdlbGluZXM6IFwiXFxmMThjXCI7XG4kZmEtdmFyLXBhaW50LWJydXNoOiBcIlxcZjFmY1wiO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXCJcXGYxZDhcIjtcbiRmYS12YXItcGFwZXItcGxhbmUtbzogXCJcXGYxZDlcIjtcbiRmYS12YXItcGFwZXJjbGlwOiBcIlxcZjBjNlwiO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFwiXFxmMWRkXCI7XG4kZmEtdmFyLXBhc3RlOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1wYXVzZTogXCJcXGYwNGNcIjtcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcIlxcZjI4YlwiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGUtbzogXCJcXGYyOGNcIjtcbiRmYS12YXItcGF3OiBcIlxcZjFiMFwiO1xuJGZhLXZhci1wYXlwYWw6IFwiXFxmMWVkXCI7XG4kZmEtdmFyLXBlbmNpbDogXCJcXGYwNDBcIjtcbiRmYS12YXItcGVuY2lsLXNxdWFyZTogXCJcXGYxNGJcIjtcbiRmYS12YXItcGVuY2lsLXNxdWFyZS1vOiBcIlxcZjA0NFwiO1xuJGZhLXZhci1wZXJjZW50OiBcIlxcZjI5NVwiO1xuJGZhLXZhci1waG9uZTogXCJcXGYwOTVcIjtcbiRmYS12YXItcGhvbmUtc3F1YXJlOiBcIlxcZjA5OFwiO1xuJGZhLXZhci1waG90bzogXCJcXGYwM2VcIjtcbiRmYS12YXItcGljdHVyZS1vOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWUtY2hhcnQ6IFwiXFxmMjAwXCI7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFwiXFxmMmFlXCI7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcIlxcZjFhOFwiO1xuJGZhLXZhci1waWVkLXBpcGVyLXBwOiBcIlxcZjFhN1wiO1xuJGZhLXZhci1waW50ZXJlc3Q6IFwiXFxmMGQyXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1wOiBcIlxcZjIzMVwiO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcIlxcZjBkM1wiO1xuJGZhLXZhci1wbGFuZTogXCJcXGYwNzJcIjtcbiRmYS12YXItcGxheTogXCJcXGYwNGJcIjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFwiXFxmMTQ0XCI7XG4kZmEtdmFyLXBsYXktY2lyY2xlLW86IFwiXFxmMDFkXCI7XG4kZmEtdmFyLXBsdWc6IFwiXFxmMWU2XCI7XG4kZmEtdmFyLXBsdXM6IFwiXFxmMDY3XCI7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcIlxcZjA1NVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZTogXCJcXGYwZmVcIjtcbiRmYS12YXItcGx1cy1zcXVhcmUtbzogXCJcXGYxOTZcIjtcbiRmYS12YXItcG9kY2FzdDogXCJcXGYyY2VcIjtcbiRmYS12YXItcG93ZXItb2ZmOiBcIlxcZjAxMVwiO1xuJGZhLXZhci1wcmludDogXCJcXGYwMmZcIjtcbiRmYS12YXItcHJvZHVjdC1odW50OiBcIlxcZjI4OFwiO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFwiXFxmMTJlXCI7XG4kZmEtdmFyLXFxOiBcIlxcZjFkNlwiO1xuJGZhLXZhci1xcmNvZGU6IFwiXFxmMDI5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcIlxcZjEyOFwiO1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFwiXFxmMDU5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZS1vOiBcIlxcZjI5Y1wiO1xuJGZhLXZhci1xdW9yYTogXCJcXGYyYzRcIjtcbiRmYS12YXItcXVvdGUtbGVmdDogXCJcXGYxMGRcIjtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFwiXFxmMTBlXCI7XG4kZmEtdmFyLXJhOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yYW5kb206IFwiXFxmMDc0XCI7XG4kZmEtdmFyLXJhdmVscnk6IFwiXFxmMmQ5XCI7XG4kZmEtdmFyLXJlYmVsOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yZWN5Y2xlOiBcIlxcZjFiOFwiO1xuJGZhLXZhci1yZWRkaXQ6IFwiXFxmMWExXCI7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXCJcXGYyODFcIjtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXCJcXGYxYTJcIjtcbiRmYS12YXItcmVmcmVzaDogXCJcXGYwMjFcIjtcbiRmYS12YXItcmVnaXN0ZXJlZDogXCJcXGYyNWRcIjtcbiRmYS12YXItcmVtb3ZlOiBcIlxcZjAwZFwiO1xuJGZhLXZhci1yZW5yZW46IFwiXFxmMThiXCI7XG4kZmEtdmFyLXJlb3JkZXI6IFwiXFxmMGM5XCI7XG4kZmEtdmFyLXJlcGVhdDogXCJcXGYwMWVcIjtcbiRmYS12YXItcmVwbHk6IFwiXFxmMTEyXCI7XG4kZmEtdmFyLXJlcGx5LWFsbDogXCJcXGYxMjJcIjtcbiRmYS12YXItcmVzaXN0YW5jZTogXCJcXGYxZDBcIjtcbiRmYS12YXItcmV0d2VldDogXCJcXGYwNzlcIjtcbiRmYS12YXItcm1iOiBcIlxcZjE1N1wiO1xuJGZhLXZhci1yb2FkOiBcIlxcZjAxOFwiO1xuJGZhLXZhci1yb2NrZXQ6IFwiXFxmMTM1XCI7XG4kZmEtdmFyLXJvdGF0ZS1sZWZ0OiBcIlxcZjBlMlwiO1xuJGZhLXZhci1yb3RhdGUtcmlnaHQ6IFwiXFxmMDFlXCI7XG4kZmEtdmFyLXJvdWJsZTogXCJcXGYxNThcIjtcbiRmYS12YXItcnNzOiBcIlxcZjA5ZVwiO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcIlxcZjE0M1wiO1xuJGZhLXZhci1ydWI6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1ydXBlZTogXCJcXGYxNTZcIjtcbiRmYS12YXItczE1OiBcIlxcZjJjZFwiO1xuJGZhLXZhci1zYWZhcmk6IFwiXFxmMjY3XCI7XG4kZmEtdmFyLXNhdmU6IFwiXFxmMGM3XCI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcIlxcZjBjNFwiO1xuJGZhLXZhci1zY3JpYmQ6IFwiXFxmMjhhXCI7XG4kZmEtdmFyLXNlYXJjaDogXCJcXGYwMDJcIjtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcIlxcZjAxMFwiO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXCJcXGYwMGVcIjtcbiRmYS12YXItc2VsbHN5OiBcIlxcZjIxM1wiO1xuJGZhLXZhci1zZW5kOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1zZW5kLW86IFwiXFxmMWQ5XCI7XG4kZmEtdmFyLXNlcnZlcjogXCJcXGYyMzNcIjtcbiRmYS12YXItc2hhcmU6IFwiXFxmMDY0XCI7XG4kZmEtdmFyLXNoYXJlLWFsdDogXCJcXGYxZTBcIjtcbiRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTogXCJcXGYxZTFcIjtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcIlxcZjE0ZFwiO1xuJGZhLXZhci1zaGFyZS1zcXVhcmUtbzogXCJcXGYwNDVcIjtcbiRmYS12YXItc2hla2VsOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1zaGVxZWw6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLXNoaWVsZDogXCJcXGYxMzJcIjtcbiRmYS12YXItc2hpcDogXCJcXGYyMWFcIjtcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcIlxcZjIxNFwiO1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFwiXFxmMjkwXCI7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXCJcXGYyOTFcIjtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXCJcXGYwN2FcIjtcbiRmYS12YXItc2hvd2VyOiBcIlxcZjJjY1wiO1xuJGZhLXZhci1zaWduLWluOiBcIlxcZjA5MFwiO1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcIlxcZjJhN1wiO1xuJGZhLXZhci1zaWduLW91dDogXCJcXGYwOGJcIjtcbiRmYS12YXItc2lnbmFsOiBcIlxcZjAxMlwiO1xuJGZhLXZhci1zaWduaW5nOiBcIlxcZjJhN1wiO1xuJGZhLXZhci1zaW1wbHlidWlsdDogXCJcXGYyMTVcIjtcbiRmYS12YXItc2l0ZW1hcDogXCJcXGYwZThcIjtcbiRmYS12YXItc2t5YXRsYXM6IFwiXFxmMjE2XCI7XG4kZmEtdmFyLXNreXBlOiBcIlxcZjE3ZVwiO1xuJGZhLXZhci1zbGFjazogXCJcXGYxOThcIjtcbiRmYS12YXItc2xpZGVyczogXCJcXGYxZGVcIjtcbiRmYS12YXItc2xpZGVzaGFyZTogXCJcXGYxZTdcIjtcbiRmYS12YXItc21pbGUtbzogXCJcXGYxMThcIjtcbiRmYS12YXItc25hcGNoYXQ6IFwiXFxmMmFiXCI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcIlxcZjJhY1wiO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFwiXFxmMmFkXCI7XG4kZmEtdmFyLXNub3dmbGFrZS1vOiBcIlxcZjJkY1wiO1xuJGZhLXZhci1zb2NjZXItYmFsbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1zb3J0OiBcIlxcZjBkY1wiO1xuJGZhLXZhci1zb3J0LWFscGhhLWFzYzogXCJcXGYxNWRcIjtcbiRmYS12YXItc29ydC1hbHBoYS1kZXNjOiBcIlxcZjE1ZVwiO1xuJGZhLXZhci1zb3J0LWFtb3VudC1hc2M6IFwiXFxmMTYwXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRlc2M6IFwiXFxmMTYxXCI7XG4kZmEtdmFyLXNvcnQtYXNjOiBcIlxcZjBkZVwiO1xuJGZhLXZhci1zb3J0LWRlc2M6IFwiXFxmMGRkXCI7XG4kZmEtdmFyLXNvcnQtZG93bjogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1udW1lcmljLWFzYzogXCJcXGYxNjJcIjtcbiRmYS12YXItc29ydC1udW1lcmljLWRlc2M6IFwiXFxmMTYzXCI7XG4kZmEtdmFyLXNvcnQtdXA6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvdW5kY2xvdWQ6IFwiXFxmMWJlXCI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFwiXFxmMTk3XCI7XG4kZmEtdmFyLXNwaW5uZXI6IFwiXFxmMTEwXCI7XG4kZmEtdmFyLXNwb29uOiBcIlxcZjFiMVwiO1xuJGZhLXZhci1zcG90aWZ5OiBcIlxcZjFiY1wiO1xuJGZhLXZhci1zcXVhcmU6IFwiXFxmMGM4XCI7XG4kZmEtdmFyLXNxdWFyZS1vOiBcIlxcZjA5NlwiO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXCJcXGYxOGRcIjtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFwiXFxmMTZjXCI7XG4kZmEtdmFyLXN0YXI6IFwiXFxmMDA1XCI7XG4kZmEtdmFyLXN0YXItaGFsZjogXCJcXGYwODlcIjtcbiRmYS12YXItc3Rhci1oYWxmLWVtcHR5OiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtZnVsbDogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1oYWxmLW86IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItbzogXCJcXGYwMDZcIjtcbiRmYS12YXItc3RlYW06IFwiXFxmMWI2XCI7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXCJcXGYxYjdcIjtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXCJcXGYwNDhcIjtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcIlxcZjA1MVwiO1xuJGZhLXZhci1zdGV0aG9zY29wZTogXCJcXGYwZjFcIjtcbiRmYS12YXItc3RpY2t5LW5vdGU6IFwiXFxmMjQ5XCI7XG4kZmEtdmFyLXN0aWNreS1ub3RlLW86IFwiXFxmMjRhXCI7XG4kZmEtdmFyLXN0b3A6IFwiXFxmMDRkXCI7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcIlxcZjI4ZFwiO1xuJGZhLXZhci1zdG9wLWNpcmNsZS1vOiBcIlxcZjI4ZVwiO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXCJcXGYyMWRcIjtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXCJcXGYwY2NcIjtcbiRmYS12YXItc3R1bWJsZXVwb246IFwiXFxmMWE0XCI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXCJcXGYxYTNcIjtcbiRmYS12YXItc3Vic2NyaXB0OiBcIlxcZjEyY1wiO1xuJGZhLXZhci1zdWJ3YXk6IFwiXFxmMjM5XCI7XG4kZmEtdmFyLXN1aXRjYXNlOiBcIlxcZjBmMlwiO1xuJGZhLXZhci1zdW4tbzogXCJcXGYxODVcIjtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFwiXFxmMmRkXCI7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcIlxcZjEyYlwiO1xuJGZhLXZhci1zdXBwb3J0OiBcIlxcZjFjZFwiO1xuJGZhLXZhci10YWJsZTogXCJcXGYwY2VcIjtcbiRmYS12YXItdGFibGV0OiBcIlxcZjEwYVwiO1xuJGZhLXZhci10YWNob21ldGVyOiBcIlxcZjBlNFwiO1xuJGZhLXZhci10YWc6IFwiXFxmMDJiXCI7XG4kZmEtdmFyLXRhZ3M6IFwiXFxmMDJjXCI7XG4kZmEtdmFyLXRhc2tzOiBcIlxcZjBhZVwiO1xuJGZhLXZhci10YXhpOiBcIlxcZjFiYVwiO1xuJGZhLXZhci10ZWxlZ3JhbTogXCJcXGYyYzZcIjtcbiRmYS12YXItdGVsZXZpc2lvbjogXCJcXGYyNmNcIjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXCJcXGYxZDVcIjtcbiRmYS12YXItdGVybWluYWw6IFwiXFxmMTIwXCI7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcIlxcZjAzNFwiO1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcIlxcZjAzNVwiO1xuJGZhLXZhci10aDogXCJcXGYwMGFcIjtcbiRmYS12YXItdGgtbGFyZ2U6IFwiXFxmMDA5XCI7XG4kZmEtdmFyLXRoLWxpc3Q6IFwiXFxmMDBiXCI7XG4kZmEtdmFyLXRoZW1laXNsZTogXCJcXGYyYjJcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTA6IFwiXFxmMmNiXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTE6IFwiXFxmMmNhXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTI6IFwiXFxmMmM5XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTM6IFwiXFxmMmM4XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTQ6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OiBcIlxcZjJjYlwiO1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcIlxcZjJjN1wiO1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcIlxcZjJjOVwiO1xuJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOiBcIlxcZjJjYVwiO1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXCJcXGYyYzhcIjtcbiRmYS12YXItdGh1bWItdGFjazogXCJcXGYwOGRcIjtcbiRmYS12YXItdGh1bWJzLWRvd246IFwiXFxmMTY1XCI7XG4kZmEtdmFyLXRodW1icy1vLWRvd246IFwiXFxmMDg4XCI7XG4kZmEtdmFyLXRodW1icy1vLXVwOiBcIlxcZjA4N1wiO1xuJGZhLXZhci10aHVtYnMtdXA6IFwiXFxmMTY0XCI7XG4kZmEtdmFyLXRpY2tldDogXCJcXGYxNDVcIjtcbiRmYS12YXItdGltZXM6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXCJcXGYwNTdcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlLW86IFwiXFxmMDVjXCI7XG4kZmEtdmFyLXRpbWVzLXJlY3RhbmdsZTogXCJcXGYyZDNcIjtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlLW86IFwiXFxmMmQ0XCI7XG4kZmEtdmFyLXRpbnQ6IFwiXFxmMDQzXCI7XG4kZmEtdmFyLXRvZ2dsZS1kb3duOiBcIlxcZjE1MFwiO1xuJGZhLXZhci10b2dnbGUtbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItdG9nZ2xlLW9mZjogXCJcXGYyMDRcIjtcbiRmYS12YXItdG9nZ2xlLW9uOiBcIlxcZjIwNVwiO1xuJGZhLXZhci10b2dnbGUtcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLXRvZ2dsZS11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItdHJhZGVtYXJrOiBcIlxcZjI1Y1wiO1xuJGZhLXZhci10cmFpbjogXCJcXGYyMzhcIjtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXCJcXGYyMjVcIjtcbiRmYS12YXItdHJhc2g6IFwiXFxmMWY4XCI7XG4kZmEtdmFyLXRyYXNoLW86IFwiXFxmMDE0XCI7XG4kZmEtdmFyLXRyZWU6IFwiXFxmMWJiXCI7XG4kZmEtdmFyLXRyZWxsbzogXCJcXGYxODFcIjtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFwiXFxmMjYyXCI7XG4kZmEtdmFyLXRyb3BoeTogXCJcXGYwOTFcIjtcbiRmYS12YXItdHJ1Y2s6IFwiXFxmMGQxXCI7XG4kZmEtdmFyLXRyeTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHR5OiBcIlxcZjFlNFwiO1xuJGZhLXZhci10dW1ibHI6IFwiXFxmMTczXCI7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFwiXFxmMTc0XCI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHY6IFwiXFxmMjZjXCI7XG4kZmEtdmFyLXR3aXRjaDogXCJcXGYxZThcIjtcbiRmYS12YXItdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFwiXFxmMDgxXCI7XG4kZmEtdmFyLXVtYnJlbGxhOiBcIlxcZjBlOVwiO1xuJGZhLXZhci11bmRlcmxpbmU6IFwiXFxmMGNkXCI7XG4kZmEtdmFyLXVuZG86IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFwiXFxmMjlhXCI7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFwiXFxmMTljXCI7XG4kZmEtdmFyLXVubGluazogXCJcXGYxMjdcIjtcbiRmYS12YXItdW5sb2NrOiBcIlxcZjA5Y1wiO1xuJGZhLXZhci11bmxvY2stYWx0OiBcIlxcZjEzZVwiO1xuJGZhLXZhci11bnNvcnRlZDogXCJcXGYwZGNcIjtcbiRmYS12YXItdXBsb2FkOiBcIlxcZjA5M1wiO1xuJGZhLXZhci11c2I6IFwiXFxmMjg3XCI7XG4kZmEtdmFyLXVzZDogXCJcXGYxNTVcIjtcbiRmYS12YXItdXNlcjogXCJcXGYwMDdcIjtcbiRmYS12YXItdXNlci1jaXJjbGU6IFwiXFxmMmJkXCI7XG4kZmEtdmFyLXVzZXItY2lyY2xlLW86IFwiXFxmMmJlXCI7XG4kZmEtdmFyLXVzZXItbWQ6IFwiXFxmMGYwXCI7XG4kZmEtdmFyLXVzZXItbzogXCJcXGYyYzBcIjtcbiRmYS12YXItdXNlci1wbHVzOiBcIlxcZjIzNFwiO1xuJGZhLXZhci11c2VyLXNlY3JldDogXCJcXGYyMWJcIjtcbiRmYS12YXItdXNlci10aW1lczogXCJcXGYyMzVcIjtcbiRmYS12YXItdXNlcnM6IFwiXFxmMGMwXCI7XG4kZmEtdmFyLXZjYXJkOiBcIlxcZjJiYlwiO1xuJGZhLXZhci12Y2FyZC1vOiBcIlxcZjJiY1wiO1xuJGZhLXZhci12ZW51czogXCJcXGYyMjFcIjtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcIlxcZjIyNlwiO1xuJGZhLXZhci12ZW51cy1tYXJzOiBcIlxcZjIyOFwiO1xuJGZhLXZhci12aWFjb2luOiBcIlxcZjIzN1wiO1xuJGZhLXZhci12aWFkZW86IFwiXFxmMmE5XCI7XG4kZmEtdmFyLXZpYWRlby1zcXVhcmU6IFwiXFxmMmFhXCI7XG4kZmEtdmFyLXZpZGVvLWNhbWVyYTogXCJcXGYwM2RcIjtcbiRmYS12YXItdmltZW86IFwiXFxmMjdkXCI7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXCJcXGYxOTRcIjtcbiRmYS12YXItdmluZTogXCJcXGYxY2FcIjtcbiRmYS12YXItdms6IFwiXFxmMTg5XCI7XG4kZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lOiBcIlxcZjJhMFwiO1xuJGZhLXZhci12b2x1bWUtZG93bjogXCJcXGYwMjdcIjtcbiRmYS12YXItdm9sdW1lLW9mZjogXCJcXGYwMjZcIjtcbiRmYS12YXItdm9sdW1lLXVwOiBcIlxcZjAyOFwiO1xuJGZhLXZhci13YXJuaW5nOiBcIlxcZjA3MVwiO1xuJGZhLXZhci13ZWNoYXQ6IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdlaWJvOiBcIlxcZjE4YVwiO1xuJGZhLXZhci13ZWl4aW46IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdoYXRzYXBwOiBcIlxcZjIzMlwiO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcIlxcZjE5M1wiO1xuJGZhLXZhci13aGVlbGNoYWlyLWFsdDogXCJcXGYyOWJcIjtcbiRmYS12YXItd2lmaTogXCJcXGYxZWJcIjtcbiRmYS12YXItd2lraXBlZGlhLXc6IFwiXFxmMjY2XCI7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXCJcXGYyZDNcIjtcbiRmYS12YXItd2luZG93LWNsb3NlLW86IFwiXFxmMmQ0XCI7XG4kZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTogXCJcXGYyZDBcIjtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcIlxcZjJkMVwiO1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXCJcXGYyZDJcIjtcbiRmYS12YXItd2luZG93czogXCJcXGYxN2FcIjtcbiRmYS12YXItd29uOiBcIlxcZjE1OVwiO1xuJGZhLXZhci13b3JkcHJlc3M6IFwiXFxmMTlhXCI7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFwiXFxmMjk3XCI7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFwiXFxmMmRlXCI7XG4kZmEtdmFyLXdwZm9ybXM6IFwiXFxmMjk4XCI7XG4kZmEtdmFyLXdyZW5jaDogXCJcXGYwYWRcIjtcbiRmYS12YXIteGluZzogXCJcXGYxNjhcIjtcbiRmYS12YXIteGluZy1zcXVhcmU6IFwiXFxmMTY5XCI7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXCJcXGYyM2JcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWFob286IFwiXFxmMTllXCI7XG4kZmEtdmFyLXljOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15Yy1zcXVhcmU6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLXllbHA6IFwiXFxmMWU5XCI7XG4kZmEtdmFyLXllbjogXCJcXGYxNTdcIjtcbiRmYS12YXIteW9hc3Q6IFwiXFxmMmIxXCI7XG4kZmEtdmFyLXlvdXR1YmU6IFwiXFxmMTY3XCI7XG4kZmEtdmFyLXlvdXR1YmUtcGxheTogXCJcXGYxNmFcIjtcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFwiXFxmMTY2XCI7XG5cbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGZhLWljb24oKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgI3skZmEtZm9udC1zaXplLWJhc2V9LyN7JGZhLWxpbmUtaGVpZ2h0LWJhc2V9IEZvbnRBd2Vzb21lOyAvLyBzaG9ydGVuaW5nIGZvbnQgZGVjbGFyYXRpb25cbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBjYW4ndCBoYXZlIGZvbnQtc2l6ZSBpbmhlcml0IG9uIGxpbmUgYWJvdmUsIHNvIG5lZWQgdG8gb3ZlcnJpZGVcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87IC8vIG9wdGltaXplbGVnaWJpbGl0eSB0aHJvd3MgdGhpbmdzIG9mZiAjMTA5NFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGZhLWljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0sIG1pcnJvcj0xKVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzLiBBIGxhIEJvb3RzdHJhcCA0LlxuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9I3skZmEtdmVyc2lvbn0nKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj0jeyRmYS12ZXJzaW9ufSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuLy8gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L0ZvbnRBd2Vzb21lLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTsgLy8gdXNlZCB3aGVuIGRldmVsb3BpbmcgZm9udHNcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuIiwiLy8gQmFzZSBDbGFzcyBEZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgI3skZmEtZm9udC1zaXplLWJhc2V9LyN7JGZhLWxpbmUtaGVpZ2h0LWJhc2V9IEZvbnRBd2Vzb21lOyAvLyBzaG9ydGVuaW5nIGZvbnQgZGVjbGFyYXRpb25cbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBjYW4ndCBoYXZlIGZvbnQtc2l6ZSBpbmhlcml0IG9uIGxpbmUgYWJvdmUsIHNvIG5lZWQgdG8gb3ZlcnJpZGVcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87IC8vIG9wdGltaXplbGVnaWJpbGl0eSB0aHJvd3MgdGhpbmdzIG9mZiAjMTA5NFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS0zeCB7IGZvbnQtc2l6ZTogM2VtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbiIsIi8vIEZpeGVkIFdpZHRoIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skZmEtY3NzLXByZWZpeH0tZncge1xuICB3aWR0aDogKDE4ZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogJGZhLWxpLXdpZHRoO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gID4gbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLSRmYS1saS13aWR0aDtcbiAgd2lkdGg6ICRmYS1saS13aWR0aDtcbiAgdG9wOiAoMmVtIC8gMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICAgIGxlZnQ6IC0kZmEtbGktd2lkdGggKyAoNGVtIC8gMTQpO1xuICB9XG59XG4iLCIvLyBCb3JkZXJlZCAmIFB1bGxlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyIHtcbiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTtcbiAgYm9yZGVyOiBzb2xpZCAuMDhlbSAkZmEtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG5cbi8qIERlcHJlY2F0ZWQgYXMgb2YgNC40LjAgKi9cbi5wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG4ucHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgJi5wdWxsLWxlZnQgeyBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cbiAgJi5wdWxsLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IC4zZW07IH1cbn1cbiIsIi8vIFNwaW5uaW5nIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3BpbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbiAgICAgICAgICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuIiwiLy8gUm90YXRlZCAmIEZsaXBwZWQgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS05MCAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSg5MGRlZywgMSk7ICB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDE4MGRlZywgMik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoMjcwZGVnLCAzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKC0xLCAxLCAwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgICB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgxLCAtMSwgMik7IH1cblxuLy8gSG9vayBmb3IgSUU4LTlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS05MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0yNzAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwge1xuICBmaWx0ZXI6IG5vbmU7XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCwgLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7IGNvbG9yOiAkZmEtaW52ZXJzZTsgfVxuIiwiLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuXG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbXVzaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbG07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoLWxhcmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbW92ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoLW1pbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG93ZXItb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbmFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvd25sb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVmcmVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRwaG9uZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2ttYXJrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJpbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wcmludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9sZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdGFsaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pdGFsaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtaGVpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtd2lkdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWNlbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tanVzdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVkZW50OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3V0ZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpZGVvLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGljdHVyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGljdHVyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1tYXJrZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGp1c3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlcC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lamVjdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mby1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9zc2hhaXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3Jvc3NoYWlyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXMtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1mb3J3YXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwYW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXN0ZXJpc2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2lmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXJuaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYW5kb207IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hZ25ldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV0d2VldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJldHdlZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctY2FydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW9wZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXItY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FtZXJhLXJldHJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta2V5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcnM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLW91dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmtlZGluLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1iLXRhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYi10YWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyb3BoeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXBsb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlbW9uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGhvbmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVkaXQtY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGRkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1bGxob3JuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZXJ0aWZpY2F0ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNlcnRpZmljYXRlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xvYmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cmVuY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cmVuY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXNrczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhc2tzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsdGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnJpZWZjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncm91cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNjaXNzb3JzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlcmNsaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mbG9wcHktbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsb3BweS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmF2aWNvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVvcmRlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC11bDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LW9sOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaWtldGhyb3VnaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmlrZXRocm91Z2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmRlcmxpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWdpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJ1Y2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vbmV5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbHVtbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnNvcnRlZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bmRvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlZ2FsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nYXZlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdhdmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFjaG9tZXRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2g6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2x0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0ZW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpdGVtYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVtYnJlbGxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsaXBib2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlnaHRidWxiLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLW1kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGV0aG9zY29wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VpdGNhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2ZmZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXRsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3V0bGVyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3NwaXRhbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1idWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1idWxhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVka2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVka2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlnaHRlci1qZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWdodGVyLWpldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXNrdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFwdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFibGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLXBob25lOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb2JpbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bpbm5lcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwaW5uZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1Yi1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc21pbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mcm93bi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWgtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYW1lcGFkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleWJvYXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWctY2hlY2tlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVybWluYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXJtaW5hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5LWFsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1oYWxmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2F0aW9uLWFycm93OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWZvcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlLWZvcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxpbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluLWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoYWluLWJyb2tlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1cGVyc2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Vic2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXJhc2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHV6emxlLXBpZWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHV6emxlLXBpZWNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9waG9uZS1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaWVsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1heGNkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1heGNkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaHRtbDU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3NzMzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuY2hvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmxvY2stYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsc2V5ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVsbGlwc2lzLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnNzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbXBhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtZG93bjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtcmlnaHQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ldXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ldXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYnA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYnA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbnI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJtYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWVuOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1qcHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qcHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcm91YmxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ydWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ydWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWtydzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtydzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ0YzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYW1vdW50LWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb3Bib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcm9wYm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1vdmVyZmxvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluc3RhZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsaWNrcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpdGJ1Y2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHVtYmxyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJsci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcHBsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZHJvaWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbnV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcmliYmJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2t5cGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm91cnNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWxsbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZlbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGlwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYXRpcGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vb24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmNoaXZlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12azsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZW5yZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWdlbGluZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG90LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZG90LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW1lby1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dXJraXNoLWxpcmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwYWNlLXNodXR0bGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsYWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd29yZHByZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmlkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGl0dXRpb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bml2ZXJzaXR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLWJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYWR1YXRpb24tY2FwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15YWhvbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHVtYmxldXBvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlbGljaW91czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJ1cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItam9vbWxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYW5ndWFnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZheDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZheDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGlsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoaWxkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bvb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG9vbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVhbS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1dG9tb2JpbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGF4aTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRheGk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG90aWZ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRldmlhbnRhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc291bmRjbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGF0YWJhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1wZGYtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS13b3JkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWV4Y2VsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waG90by1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1pbWFnZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWFyY2hpdmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc291bmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hdWRpby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tb3ZpZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXZpZGVvLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXZpZGVvLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtY29kZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZXBlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanNmaWRkbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJvdXk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYnVveTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1zYXZlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcG9ydDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlmZS1yaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtby1ub3RjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNpc3RhbmNlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlYmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtcGlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVtcGlyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWMtc3F1YXJlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhY2tlci1uZXdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuY2VudC13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbmNlbnQtd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXFxOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VjaGF0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13ZWl4aW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXItcGxhbmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oaXN0b3J5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtdGhpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcmFncmFwaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib21iOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9tYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2Nlci1iYWxsLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnV0Ym9sLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW5vY3VsYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlub2N1bGFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsaWRlc2hhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWVscDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV3c3BhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWZpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lmaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxjdWxhdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS13YWxsZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtdmlzYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1tYXN0ZXJjYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaXNjb3ZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1hbWV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2Mtc3RyaXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29weXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZWRyb3BwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWVkcm9wcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWludC1icnVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpcnRoZGF5LWNha2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXJ0aGRheS1jYWtlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJlYS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFyZWEtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluZS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhc3RmbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRvZ2dsZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmljeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pb3hob3N0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWxsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nZWxsaXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hlcWVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lYW5wYXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1eXNlbGxhZHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbm5lY3RkZXZlbG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kYXNoY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnVtYmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9ydW1iZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhbnB1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlbGxzeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXJ0c2luYnVsazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2ltcGx5YnVpbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lhdGxhczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreWF0bGFzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRpYW1vbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1zZWNyZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW90b3JjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RyZWV0LXZpZXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydGJlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVyY3VyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyc2V4OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhbnNnZW5kZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtZG91YmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51cy1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1uZXV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZW5kZXJsZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2VuZGVybGVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGF0c2FwcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlcnZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWNvaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFjb2luOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YndheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGl1bTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXljOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15LWNvbWJpbmF0b3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3B0aW4tbW9uc3RlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHBlZGl0ZWRzc2w7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0wOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb3VzZS1wb2ludGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pLWN1cnNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC1ncm91cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2JqZWN0LXVuZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1qY2I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWRpbmVycy1jbHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYWxhbmNlLXNjYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWVuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtZ3JhYi1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcm9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zdG9wLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGFwZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLWxpemFyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1zcG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBvaW50ZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGVhY2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYWRlbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWdpc3RlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2ctY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJpcGFkdmlzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmlwYWR2aXNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZXQtcG9ja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aWtpcGVkaWEtdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNhZmFyaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNocm9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlZm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10djpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbGV2aXNpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb250YW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLTUwMHB4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1hem9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItcGx1cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItdGltZXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1jaGVjay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmR1c3RyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtcGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXNpZ25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3V6ejsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibGFjay10aWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250aWNvbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtYWxpZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWRnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGllcGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kaWVwaWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9keDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXByb2R1Y3QtaHVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWl4Y2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY3JpYmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFza2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhc2h0YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibHVldG9vdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGgtYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsdWV0b290aC1iOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlcmNlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRsYWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3BiZWdpbm5lcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZm9ybXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGZvcm1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52aXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxpbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1icmFpbGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNsLWludGVycHJldGluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWZuZXNzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlLWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZS1nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24tbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3ctdmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG93LXZpc2lvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWRlbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFkZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25hcGNoYXQtZ2hvc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyc3Qtb3JkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlbWVpc2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZHNoYWtlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtb3BlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW9wZW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbm9kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1ib29rLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmNhcmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtYmFkZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZyZWUtY29kZS1jYW1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxlZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3dlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGh0dWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXMxNTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG9kY2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LXJlc3RvcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYW5kY2FtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF2OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV0c3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW1kYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYXZlbHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWVyY2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVlcmNhc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb2NoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNub3dmbGFrZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnBvd2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVldHVwOyB9XG4iLCIvLyBTY3JlZW4gUmVhZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3Itb25seSB7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTsgfVxuIiwiLyogU3R1ZGlvIFZveWFnZXIgU2VhY2hlc3QgKi9cblxuQG1peGluIGRvd25BcnJvdygkc2l6ZTogMC4yNWVtLCAkY29sb3VyOiAjMDAwKSB7XG4gIHdpZHRoOiAwOyBcbiAgaGVpZ2h0OiAwOyBcbiAgYm9yZGVyLWxlZnQ6ICN7JHNpemV9IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICN7JHNpemV9IHNvbGlkIHRyYW5zcGFyZW50O1xuICBcbiAgYm9yZGVyLXRvcDogI3skc2l6ZX0gc29saWQgI3skY29sb3VyfTtcbn1cblxuQG1peGluIHVwQXJyb3coJHNpemU6IDAuMjVlbSwgJGNvbG91cjogIzAwMCkge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwOyBcbiAgYm9yZGVyLWxlZnQ6ICN7JHNpemV9IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICN7JHNpemV9IHNvbGlkIHRyYW5zcGFyZW50O1xuICBcbiAgYm9yZGVyLWJvdHRvbTogI3skc2l6ZX0gc29saWQgI3skY29sb3VyfTtcbn1cblxuXG5AbWl4aW4gYmFja2dyb3VuZC0yeCgkcGF0aCwgJGJnY29sb3I6IGluaGVyaXQsICRleHQ6IFwicG5nXCIsICRzaXplOiBjb3ZlciwgJHBvczogbGVmdCB0b3AsICRyZXBlYXQ6IG5vLXJlcGVhdCkge1xuXG4gICRhdDF4X3BhdGg6IFwiI3skcGF0aH0uI3skZXh0fVwiO1xuICAkYXQyeF9wYXRoOiBcIiN7JHBhdGh9QDJ4LiN7JGV4dH1cIjtcbiAgXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZ2NvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRhdDF4X3BhdGh9XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogJHJlcGVhdDtcbiBcbiAgQG1lZGlhIGFsbCBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyA6IDEuNSksXG4gIGFsbCBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMvMiksXG4gIGFsbCBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbiAgYWxsIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skYXQyeF9wYXRofVwiKTsgXG4gIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgfVxuICA+IC5jb250ZW50cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxufSIsIi8vSnVzdCB0aGUgYml0cyBJIG5lZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vY3Nha2lpc3R2YW4vZHJvcGRvd25cbi8vQ3VzdG9taXNlZCB3aXRoIG1vYmlsZSB2ZXJzaW9uXG5uYXYuZGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJsYWNrKTtcbiAgICBwYWRkaW5nOiAxLjRyZW07XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAvKmRpc3BsYXk6IG5vbmU7Ki9cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3Iob2ZmLXdoaXRlKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoZ3JleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoZ3JleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYVtocmVmPVwiI1wiXSB7XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Iob2ZmLXdoaXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhICsgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMCAwIDAuNWVtO1xuICAgICAgICAgICAgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLypjb2xvcjogY29sb3Iob2ZmLXdoaXRlKTsqL1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC8qJjpmb2N1cyB+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH0qL1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiBTZWNvbmQgTGV2ZWwgTWVudSAtIGhpZGUgKi9cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgLypkaXNwbGF5OiBub25lOyovXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgLyogQWxsIGl0ZW1zIG9wZW4gZm9yIHRoaXMgc2l0ZSAqL1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1wYXJlbnQsXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoZ3JleSk7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihncmV5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYVtocmVmPVwiI1wiXSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoZ3JleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTFlbTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZG93bkFycm93KDAuM2VtLCByZ2JhKGNvbG9yKGxpZ2h0LWdyZXkpLDAuNSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEgKyB1bC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLyogc2Vjb25kIGxldmVsIGl0ZW1zICovXG4gICAgICAgICAgICB1bCxcbiAgICAgICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyZXkpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAuMWVtIDAgMC4zM2VtIGxpZ2h0ZW4oY29sb3IoZ3JleSksIDEwJSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTAuNDllbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMWVtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB1cEFycm93KDAuNWVtLCBjb2xvcihncmV5KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Iob2ZmLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gdWwge1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtcGFyZW50LFxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKGxpZ2h0LWdyZXkpLCAxMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGlnaHQtZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIFxuICAgIEhhbWJ1cmdlciBtZW51IGljb25cbiAgICBBdXRob3I6IFRpbSBKZW5zZW5cbiAgICBEYXRlOiBOb3YgMjAxNlxuXG4gICAgQmFzZWQgb24gaWNvbiBhbmltYXRpb24gZGVzaWduIGJ5IEplc3NlIENvdWNoXG4gICAgaHR0cHM6Ly9jb2RlcGVuLmlvL2Rlc2lnbmNvdWNoL3Blbi9BdHlvcFxuXG5cbiAgICBIVE1MOlxuXG4gICAgPGEgW2ljb24gcGxhY2Vob2xkZXIgZWxlbWVudF0+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgPC9hPlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBWYXJzICovXG4kaWNvbldpZHRoOiAyZW07XG4kaWNvbkhlaWdodDogMmVtO1xuJHNwYW5XaWR0aDogMS4xZW07XG4kc3BhbkhlaWdodDogMC4yNWVtO1xuJHNwYW5PZmZzZXQ6ICgkaWNvbkhlaWdodCAtICgkc3BhbkhlaWdodCAqIDQuNSkpIC8gMjtcbiRibGFjazogIzAwMDtcblxuLyogSWNvbiAqL1xuJWhiLWljb24ge1xuICB3aWR0aDogJGljb25XaWR0aDtcbiAgaGVpZ2h0OiAkaWNvbkhlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLWluLW91dDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAoJGljb25XaWR0aCAtICRzcGFuV2lkdGgpIC8gMjtcbiAgICBoZWlnaHQ6ICRzcGFuSGVpZ2h0O1xuICAgIHdpZHRoOiAkc3BhbldpZHRoO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiAkc3BhbkhlaWdodDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2UtaW4tb3V0LCB3aWR0aCAuMjVzIGVhc2UtaW4tb3V0LCBsZWZ0IC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiAkc3Bhbk9mZnNldDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSwmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0b3A6ICRzcGFuT2Zmc2V0ICsgKCRzcGFuSGVpZ2h0ICogMS43NSk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgdG9wOiAkc3Bhbk9mZnNldCArICgkc3BhbkhlaWdodCAqIDMuNSk7XG4gICAgfVxuICB9XG4gIC8qIEljb24gT3BlbiAqL1xuICAmLm9wZW4ge1xuICAgIHNwYW4ge1xuXG4gICAgICAmOm50aC1jaGlsZCgxKSwgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICB0b3A6ICRzcGFuT2Zmc2V0ICsgKCRzcGFuSGVpZ2h0ICogMS43NSk7IC8vYW5pbWF0ZSB0byBjZW50ZXJcbiAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIH0gIFxuICAgIH0gIFxuICB9XG59XG4iLCIiLCJAaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnb2JqZWN0cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzJztcbkBpbXBvcnQgJ2xheW91dHMnOyIsIjpyb290IHtcbiAgICAtLWhlYWRlci13aWR0aDogMjV2dztcbn1cblxuaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuYm9keS5uby1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBkaXYge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbjo6c2VsZWN0aW9uIHsgY29sb3I6IGNvbG9yKGJsYWNrKTsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGlnaHQtZ3JleSk7IH1cblxuKiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5hIHtcbiAgICBjb2xvcjogY29sb3IobGluay1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLW91dDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstaG92ZXItY29sb3IpO1xuICAgIH1cbn1cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICtpbnB1dCxcbiAgICAgICAgK3RleHRhcmVhLFxuICAgICAgICArc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICArZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihsaWdodC1ncmV5KTtcbiAgICB9XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IobGlnaHQtZ3JleSk7XG4gICAgaGVpZ2h0OiAyLjVlbTtcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC41cyBlYXNlLW91dDtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoZ3JleSk7XG4gICAgfVxufVxuXG5zZWxlY3Qge1xuICAgIG1hcmdpbjogMC4yNWVtIDAgMWVtO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogNmVtO1xufVxuXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgaGVpZ2h0OiAzZW07XG59XG5cbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogY2hlY2tib3g7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMC4yNWVtIDAuNWVtO1xufVxuXG5cbi8qKitibG9ja3F1b3RlLFxuKitwLFxuKitmaWd1cmUge1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG59Ki9cblxuYmxvY2txdW90ZSB7XG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxufVxuXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG59XG5cbnN1YiB7XG4gICAgZm9udC1zaXplOiAwLjRlbTtcbn1cblxuXG5oZWFkZXIge31cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbnVsIHtcbiAgICBtYXgtd2lkdGg6ICRvcHRpbWFsLWxpbmUtbGVuZ3RoO1xufSIsIi8qIE9CSkVDVFMgKi9cblxuLm8tYnRuIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAwLjI1ZW0gMC41ZW07XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0QGluY2x1ZGUgZmYoaGVhZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IobGluay1jb2xvcik7XG5cdGNvbG9yOiBjb2xvcihsaW5rLXRleHQtY29sb3IpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1vdXQ7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmstaG92ZXItY29sb3IpO1xuXHRcdGNvbG9yOiBjb2xvcihsaW5rLXRleHQtY29sb3IpO1xuXHR9XG5cdEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuXHRcdHBhZGRpbmc6IDAuNWVtIDFlbTtcblx0fVxufVxuXG4uby1zdWJoZWFkIHtcbmRpc3BsYXk6IGJsb2NrO1xudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbm1hcmdpbi1ib3R0b206IDFlbTtcdFxufSIsIi8qIENPTVBPTkVOVFMgKi9cbi5jLWdsb2JhbCB7XG5cbn1cblxuLmMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjayk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoY29sb3IoYmxhY2spLCAwKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbiAgICBAaW5jbHVkZSBtYXBweS1xdWVyeShwb3J0cmFpdC10YWJsZXQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBwYWRkaW5nOiA0ZW0gMmVtO1xuICAgICAgICAuaG0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmlzLXBpbm5lZCB7XG4gICAgICAgIHBhZGRpbmc6IDBlbSA1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDZweCAxNXB4IC02cHggcmdiYShjb2xvcihibGFjayksIDAuNjcpO1xuICAgIH1cbn1cblxuXG4uYy1nbG9iYWxuYXYge1xuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAvKkBpbmNsdWRlIGZmKGhlYWRlcik7Ki9cbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktcXVlcnkocG9ydHJhaXQtdGFibGV0KSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG0ge1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIEBleHRlbmQgJWhiLWljb247XG59XG5cbi5jLWxvZ28ge1xuICAgIHdpZHRoOiA1MHZ3O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5pcy1waW5uZWQge1xuICAgIC5jLWxvZ28ge1xuICAgICAgICB3aWR0aDogNGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICAgICAgI2xvZ290eXBlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltjbGFzcyo9J2Mtc2VjdGlvbiddOm5vdChbY2xhc3MqPSdjLXNlY3Rpb25fXyddKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIC5vLXN1YmhlYWQge1xuICAgICAgICBjb2xvcjogY29sb3IoYmx1ZSk7XG4gICAgICAgIEBpbmNsdWRlIGZmKGhlYWRlcik7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktcXVlcnkocG9ydHJhaXQtdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICB9XG59XG5cbi5jLXNlY3Rpb24tLXdlbGNvbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBAaW5jbHVkZSBtYXBweS1xdWVyeShkZXNrdG9wKSB7XG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC4xZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih5ZWxsb3cpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIC8qZm9udC1zaXplOiAxLjJlbSAhaW1wb3J0YW50OyovXG4gICAgfVxufVxuXG4uYy1zZWN0aW9uLS1hYm91dHVzLCAuYy1zZWN0aW9uLS1iZW5lZml0c3RveW91IHtcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgfVxufVxuXG4uYy1zZWN0aW9uLS10aGFua3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgICAvKkBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNWVtO1xuICAgIH0qL1xufVxuXG4uYy1zZWN0aW9uLS1iZW5lZml0c3RveW91IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmxhY2spICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC45OTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtMngoJy4uL2ltZy9zb2xhci1wYW5lbC0xMzkzODgwJywgaW5oZXJpdCwgJ2pwZycsIGNvdmVyLCBjZW50ZXIgY2VudGVyLCBuby1yZXBlYXQpO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAuby1zdWJoZWFkIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IoYmx1ZSksIDI1JSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jLXNlY3Rpb24tLWFib3V0dXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjaykgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjk5O1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC0yeCgnLi4vaW1nL2xhd3JlbmNlLXdhbHRlcnMtMjgxNDY4JywgaW5oZXJpdCwgJ2pwZycsIGNvdmVyLCBjZW50ZXIgY2VudGVyLCBuby1yZXBlYXQpO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAuby1zdWJoZWFkIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IoYmx1ZSksIDI1JSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jLXNlY3Rpb24tLXdob3dld29ya3dpdGgge1xuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIC5jLWFydGljbGUge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDR2dztcbiAgICAgICAgfVxuICAgICAgICAuYy1ieFNsaWRlck5hdiB7XG4gICAgICAgICAgICAvKmZsb2F0OiByaWdodDsqL1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KGRlc2t0b3ApIHtcbiAgICAgICAgLmMtYXJ0aWNsZSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMHZ3O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi5jLXNlY3Rpb24tLXByaWNpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjaykgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjk5O1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC0yeCgnLi4vaW1nL2hlbGxvcXVlbmNlLTYxMTg5JywgaW5oZXJpdCwgJ2pwZycsIGNvdmVyLCBjZW50ZXIgY2VudGVyLCBuby1yZXBlYXQpO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn0qL1xuXG4uYy1mcmVlcXVvdGUge1xuICAgIGNvbG9yOiBjb2xvcih5ZWxsb3cpICFpbXBvcnRhbnQ7XG59XG5cbi5jLWZhbmN5LWJ1bGxldHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAvKm1heC13aWR0aDogY2FsYygjeyRvcHRpbWFsLWxpbmUtbGVuZ3RofSArIDdlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IC0zLjVlbTsqL1xuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZmxleC1iYXNpczogNDQlO1xuICAgICAgICBtYXJnaW46IDFlbSAzJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBpLmZhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IobGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktcXVlcnkocG9ydHJhaXQtdGFibGV0KSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMWVtIDAuMjUlO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjQlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KGRlc2t0b3ApIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAxZW0gMC41JTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDE4JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtaXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBtYXBweS1xdWVyeShwb3J0cmFpdC10YWJsZXQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG59XG4uYy1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogMzMlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAyMGVtO1xuICAgIG1hcmdpbjogMS4yNWVtIDAuMWVtIDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KGRhcmtlbihjb2xvcihibHVlKSwyMCUpLGNvbG9yKGJsdWUpKTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNWVtO1xuICAgIGJveC1zaGFkb3c6ICAwcHggNXB4IDE3cHggLTVweCByZ2JhKGNvbG9yKGJsYWNrKSwgMC42Nyk7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMjVzIGVhc2Utb3V0LCBib3gtc2hhZG93IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICY6aG92ZXIge1xuICAgICAgICBtYXJnaW46IDAuNzVlbSAwLjFlbSAwLjVlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IC01cHggcmdiYShjb2xvcihibGFjayksIDAuNDcpO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLm8tYnRuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMS41ZW0gMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihibHVlKSwgMTAlKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKGJsdWUpLCAyMCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuLmMtaXRlbV90aXRsZSB7XG4gICAgQGluY2x1ZGUgZmYoaGVhZGVyKTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIHBhZGRpbmc6IDJlbSAwIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jLWl0ZW1fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbn1cbi5jLWl0ZW1faG91c2Uge1xuICAgIC8qcG9zaXRpb246IGFic29sdXRlOyovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qdG9wOiAxMCU7Ki9cbn1cbi5jLWl0ZW1fcHJpY2V0YWcge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihjb2xvcihibGFjayksMTAlKTsqL1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG59XG5cbjpyb290IHtcbiAgICAtLWNsaWVudGNhcmQtbWF4SGVpZ2h0OiAzNmVtO1xufVxuXG4uYy1jbGllbnRjYXJkcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaGFkb3c6IDJweCA2cHggMTdweCAtNXB4IHJnYmEoY29sb3IoYmxhY2spLCAwLjY3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihhbG1vc3Qtd2hpdGUpO1xuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1jbGllbnRjYXJkLW1heEhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLWNsaWVudGNhcmQtbWF4SGVpZ2h0KTtcbiAgICB9XG59XG5cbi5jLWNsaWVudGNhcmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBoMyxcbiAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgICBoZWlnaHQ6IDEyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNWVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1xdWVyeShwb3J0cmFpdC10YWJsZXQpIHtcbiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tY2xpZW50Y2FyZC1tYXhIZWlnaHQpO1xuICAgIH1cbn1cblxuXG5cbi5jLWJ4U2xpZGVyTmF2IHt9XG5cbi5ieC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmJ4LXZpZXdwb3J0IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogdmFyKC0tY2xpZW50Y2FyZC1tYXhIZWlnaHQpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ieC1jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMGVtO1xuICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cblxuXG5cbi8qIENvdWxkbid0IGdldCBjdXN0b20gYXJyb3dzIHdvcmtpbmcgeWV0ICovXG5cbi5jLWJ4U2xpZGVyTmF2X19hcnJvdyxcbi5ieC1wcmV2LFxuLmJ4LW5leHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogM2VtO1xuICAgIGhlaWdodDogM2VtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNWVtO1xuICAgIC8qYm9yZGVyOiAxcHggc29saWQgY29sb3IoYWxtb3N0LXdoaXRlKTsqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggLTRweCByZ2JhKGNvbG9yKGJsYWNrKSwgMC42Nyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IC02ZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2Utb3V0O1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTEuNmVtO1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgY29udGVudDogXCJcXGYxNzZcIjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyZXkpO1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIH1cbiAgICAmLmxlZnQsXG4gICAgJi5ieC1wcmV2IHtcbiAgICAgICAgaSB7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJpZ2h0LFxuICAgICYuYngtbmV4dCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxNzVcIjtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1xdWVyeShwb3J0cmFpdC10YWJsZXQpIHtcbiAgICAgICAgJi5sZWZ0LFxuICAgICAgICAmLmJ4LXByZXYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWFydGljbGUge1xuICAgIHBhZGRpbmc6IDNlbSAxZW0gMmVtO1xuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgfVxufVxuXG4uYy1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMmVtO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihsaWdodC1ncmV5KTtcbiAgICBhcnRpY2xlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAqK3Age1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuLmMtZm9vdGVyLWxvZ29zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHAge1xuICAgICAgICBmbGV4LWJhc2lzOiA0NyU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbi5jLXN2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICdMYXRvJztcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5cbiIsIi8qIExBWU9VVFMgKi9cbi5sLWdsb2JhbCB7XG5cdEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1oZWFkZXItd2lkdGgpO1xuXHR9XG5cdEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KGRlc2t0b3ApIHtcbiAgICBcdC0taGVhZGVyLXdpZHRoOiAyMHZ3O1xuICAgIH1cbn1cblxuLmwtaGVhZGVyIHtcblx0aGVpZ2h0OiAyNXZoO1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgLmhtIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDEuNmVtO1xuICAgICAgICByaWdodDogMWVtO1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiB2YXIoLS1oZWFkZXItd2lkdGgpO1xuICAgIFx0aGVpZ2h0OiAxMDB2aDtcbiAgICBcdGJveC1zaGFkb3c6IDVweCAycHggMjBweCAxcHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIH1cbn1cblxuXG4ubC1nbG9iYWxuYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qYWxpZ24tc2VsZjogZmxleC1lbmQ7Ki9cbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgQGluY2x1ZGUgbWFwcHktcXVlcnkocG9ydHJhaXQtdGFibGV0KSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4ubC5mYW5jeS1idWxsZXRzIHt9XG5cbltjbGFzcyo9J2wtc2VjdGlvbiddOm5vdChbY2xhc3MqPSdsLXNlY3Rpb25fXyddKSB7XG4gICAgQGluY2x1ZGUgbWFwcHktcXVlcnkocG9ydHJhaXQtdGFibGV0KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuLmwtc2VjdGlvbi0tYmVuZWZpdHN0b3lvdSB7XG5cdEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5sLXNlY3Rpb24tLXdlbGNvbWUge1xuXHRoZWlnaHQ6IDc1dmg7XG5cdEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4ubC1mb290ZXIge1xuICAgIEBpbmNsdWRlIG1hcHB5LXF1ZXJ5KHBvcnRyYWl0LXRhYmxldCkge1xuICAgICAgICAvKmZsZXgtZGlyZWN0aW9uOiByb3c7Ki9cbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDNlbSAyZW07XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OzZCQUU2QjtBRUY3Qiw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7O0dBSUc7QW9Db0JILE9BQU8sQ0FBQyw0RUFBSTtBcENsQlosQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsSUFBSTtFQUFHLE9BQU87RUFDM0Isb0JBQW9CLEVBQUUsSUFBSTtFQUFHLE9BQU87RUFDcEMsd0JBQXdCLEVBQUUsSUFBSTtFQUFHLE9BQU8sRUFDekM7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztHQUVHO0FBRUgsQUFBQSxPQUFPO0FBQ1AsQUFBQSxLQUFLO0FBQ0wsQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxHQUFHO0FBQ0gsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLEdBQUc7RUFDZCxNQUFNLEVBQUUs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 */
