/** Foundation for Sites by ZURB Version 6.2.3 foundation.zurb.com Licensed under MIT Open Source */
/* SelectBoxIt container */
.selectboxit-container { position: relative; display: inline-block; vertical-align: top; }

/* Styles that apply to all SelectBoxIt elements */
.selectboxit-container * { font-size: 14px; text-transform: uppercase; /* Prevents text selection */ -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: -moz-none; -ms-user-select: none; -o-user-select: none; user-select: none; outline: none; white-space: nowrap; }

/* Button */
.selectboxit-container .selectboxit { width: 226px !important; /* Width of the dropdown button */ cursor: pointer; margin: 0; padding: 0; overflow: hidden; display: block; position: relative; }

/* Height and Vertical Alignment of Text */
.selectboxit-container span, .selectboxit-container .selectboxit-options a { height: 36px; /* Height of the drop down */ line-height: 36px; /* Vertically positions the drop down text */ display: block; }

/* Focus pseudo selector */
.selectboxit-container .selectboxit:focus { outline: 0; }

/* Disabled Mouse Interaction */
.selectboxit.selectboxit-disabled, .selectboxit-options .selectboxit-disabled { opacity: 0.65; filter: alpha(opacity=65); box-shadow: none; cursor: default; }

/* Button Text */
.selectboxit-text { overflow: hidden; text-overflow: ellipsis; float: left; max-width: 100% !important; }

.selectboxit .selectboxit-option-icon-container { margin-left: 5px; }

/* Options List */
.selectboxit-container .selectboxit-options { box-sizing: border-box; min-width: 100%; /* Minimum Width of the dropdown list box options */ *width: 100%; margin: 0; padding: 0; list-style: none; position: absolute; overflow-x: hidden; overflow-y: auto; cursor: pointer; display: none; z-index: 9999999999999; text-align: left; box-shadow: none; }

/* Individual options */
.selectboxit-option .selectboxit-option-anchor { padding: 0 2px; }

/* Individual Option Hover Action */
.selectboxit-option .selectboxit-option-anchor:hover { text-decoration: none; }

/* Individual Option Optgroup Header */
.selectboxit-option, .selectboxit-optgroup-header { text-indent: 5px; /* Horizontal Positioning of the select box option text */ margin: 0; list-style-type: none; }

/* Drop Down optgroup headers */
.selectboxit-optgroup-header { font-weight: bold; }

/* Drop Down optgroup header hover psuedo class */
.selectboxit-optgroup-header:hover { cursor: default; }

/* Drop Down down arrow container */
.selectboxit-arrow-container { /* Positions the down arrow */ width: 42px; position: absolute; right: 0; }

/* Drop Down down arrow */
.selectboxit .selectboxit-arrow-container .selectboxit-arrow { /* Horizontally centers the down arrow */ margin: -5px auto 0; position: absolute; top: 50%; right: 0; left: 0; }

/* Drop Down down arrow for jQueryUI and jQuery Mobile */
.selectboxit .selectboxit-arrow-container .selectboxit-arrow.ui-icon { top: 30%; }

/* Drop Down individual option icon positioning */
.selectboxit-option-icon-container { float: left; }

.selectboxit-container .selectboxit-option-icon { margin: 0; padding: 0; vertical-align: middle; }

/* Drop Down individual option icon positioning */
.selectboxit-option-icon-url { width: 18px; background-size: 18px 18px; background-repeat: no-repeat; height: 100%; background-position: center; float: left; }

.selectboxit-rendering { display: inline-block !important; *display: inline !important; zoom: 1 !important; visibility: visible !important; position: absolute !important; top: -9999px !important; left: -9999px !important; }

/* jQueryUI and jQuery Mobile compatability fix - Feel free to remove this style if you are not using jQuery Mobile */
.jqueryui .ui-icon { background-color: inherit; }

/* Another jQueryUI and jQuery Mobile compatability fix - Feel free to remove this style if you are not using jQuery Mobile */
.jqueryui .ui-icon-triangle-1-s { background-position: -64px -16px; }

/* Default Theme ------------- Note: Feel free to remove all of the CSS underneath this line if you are not using the default theme */
.selectboxit-btn { border: 1px solid #314c91; }

.selectboxit-btn.selectboxit-enabled:hover, .selectboxit-btn.selectboxit-enabled:focus { color: #333333; text-decoration: none; }

.selectboxit-default-arrow { width: 20px; height: 20px; background: url(../img/arrow.png) no-repeat; }

.selectboxit-list { background-color: #ffffff; border: 1px solid #314c91; width: 100%; }

.selectboxit-list .selectboxit-option-anchor { color: #333333; }

.selectboxit-list > .selectboxit-focus > .selectboxit-option-anchor { color: #ffffff; background-color: #9c0000; }

.selectboxit-list > .selectboxit-disabled > .selectboxit-option-anchor { color: #999999; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/** 1. Set default font family to sans-serif. 2. Prevent iOS and IE text size adjust after device orientation change, without disabling user zoom. */
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

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

/* HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }

/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background-color: transparent; }

/** Improve readability of focused elements when they are also in an active/hover state. */
a:active, a:hover { outline: 0; }

/* Text-level semantics ========================================================================== */
/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }

/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
b, strong { font-weight: bold; }

/** Address styling not present in Safari and Chrome. */
dfn { font-style: italic; }

/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }

/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }

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

sup { top: -0.5em; }

sub { bottom: -0.25em; }

/* Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9/10. */
img { border: 0; }

/** Correct overflow not hidden in IE 9/10/11. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** Address margin not present in IE 8/9 and Safari. */
figure { margin: 1em 40px; }

/** Address differences between Firefox and other browsers. */
hr { box-sizing: content-box; height: 0; }

/** Contain overflow in all browsers. */
pre { overflow: auto; }

/** Address odd `em`-unit font size rendering in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }

/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
button { overflow: visible; }

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
button, select { text-transform: none; }

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: not-allowed; }

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
input { line-height: normal; }

/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width. 1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome. */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ box-sizing: content-box; /* 2 */ }

/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Define consistent border, margin, and padding. [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling. */
/* fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } */
/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** Remove default vertical scrollbar in IE 8/9/10/11. */
textarea { overflow: auto; }

/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup { font-weight: bold; }

/* Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

.foundation-mq { font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html { font-size: 100%; box-sizing: border-box; }

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

body { padding: 0; margin: 0; font-family: "Geometria", Arial, sans-serif; font-weight: normal; line-height: 1.5; color: #0a0a0a; background: #fefefe; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

img { max-width: 100%; height: auto; -ms-interpolation-mode: bicubic; display: inline-block; vertical-align: middle; }

textarea { height: auto; min-height: 50px; border-radius: 0; }

select { width: 100%; border-radius: 0; }

#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object, .mqa-display img, .mqa-display embed, .mqa-display object { max-width: none !important; }

button { -webkit-appearance: none; -moz-appearance: none; background: transparent; padding: 0; border: 0; border-radius: 0; line-height: 1; }

[data-whatinput='mouse'] button { outline: 0; }

.is-visible { display: block !important; }

.is-hidden { display: none !important; }

.row { max-width: 1217px; margin-left: auto; margin-right: auto; }

.row::before, .row::after { content: ' '; display: table; }

.row::after { clear: both; }

.row.collapse > .column, .row.collapse > .columns { padding-left: 0; padding-right: 0; }

.row .row { max-width: none; margin-left: -1.25rem; margin-right: -1.25rem; }

@media screen and (min-width: 40em) { .row .row { margin-left: -1.75rem; margin-right: -1.75rem; } }

.row .row.collapse { margin-left: 0; margin-right: 0; }

.row.expanded { max-width: none; }

.row.expanded .row { margin-left: auto; margin-right: auto; }

.column, .columns { width: 100%; float: left; padding-left: 1.25rem; padding-right: 1.25rem; }

@media screen and (min-width: 40em) { .column, .columns { padding-left: 1.75rem; padding-right: 1.75rem; } }

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) { float: right; }
.norightm{float: left;}
.column.norightm:last-child:not(:first-child){
    float: left;
}

.column.end:last-child:last-child, .end.columns:last-child:last-child { float: left; }

.column.row.row, .row.row.columns { float: none; }

.row .column.row.row, .row .row.row.columns { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }

.small-1 { width: 8.33333%; }

.small-push-1 { position: relative; left: 8.33333%; }

.small-pull-1 { position: relative; left: -8.33333%; }

.small-offset-0 { margin-left: 0%; }

.small-2 { width: 16.66667%; }

.small-push-2 { position: relative; left: 16.66667%; }

.small-pull-2 { position: relative; left: -16.66667%; }

.small-offset-1 { margin-left: 8.33333%; }

.small-3 { width: 25%; }

.small-push-3 { position: relative; left: 25%; }

.small-pull-3 { position: relative; left: -25%; }

.small-offset-2 { margin-left: 16.66667%; }

.small-4 { width: 33.33333%; }

.small-push-4 { position: relative; left: 33.33333%; }

.small-pull-4 { position: relative; left: -33.33333%; }

.small-offset-3 { margin-left: 25%; }

.small-5 { width: 41.66667%; }

.small-push-5 { position: relative; left: 41.66667%; }

.small-pull-5 { position: relative; left: -41.66667%; }

.small-offset-4 { margin-left: 33.33333%; }

.small-6 { width: 50%; }

.small-push-6 { position: relative; left: 50%; }

.small-pull-6 { position: relative; left: -50%; }

.small-offset-5 { margin-left: 41.66667%; }

.small-7 { width: 58.33333%; }

.small-push-7 { position: relative; left: 58.33333%; }

.small-pull-7 { position: relative; left: -58.33333%; }

.small-offset-6 { margin-left: 50%; }

.small-8 { width: 66.66667%; }

.small-push-8 { position: relative; left: 66.66667%; }

.small-pull-8 { position: relative; left: -66.66667%; }

.small-offset-7 { margin-left: 58.33333%; }

.small-9 { width: 75%; }

.small-push-9 { position: relative; left: 75%; }

.small-pull-9 { position: relative; left: -75%; }

.small-offset-8 { margin-left: 66.66667%; }

.small-10 { width: 83.33333%; }

.small-push-10 { position: relative; left: 83.33333%; }

.small-pull-10 { position: relative; left: -83.33333%; }

.small-offset-9 { margin-left: 75%; }

.small-11 { width: 91.66667%; }

.small-push-11 { position: relative; left: 91.66667%; }

.small-pull-11 { position: relative; left: -91.66667%; }

.small-offset-10 { margin-left: 83.33333%; }

.small-12 { width: 100%; }

.small-offset-11 { margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns { width: 100%; float: left; }

.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) { clear: none; }

.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) { clear: both; }

.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child { float: left; }

.small-up-2 > .column, .small-up-2 > .columns { width: 50%; float: left; }

.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) { clear: none; }

.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) { clear: both; }

.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child { float: left; }

.small-up-3 > .column, .small-up-3 > .columns { width: 33.33333%; float: left; }

.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) { clear: none; }

.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) { clear: both; }

.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child { float: left; }

.small-up-4 > .column, .small-up-4 > .columns { width: 25%; float: left; }

.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) { clear: none; }

.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) { clear: both; }

.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child { float: left; }

.small-up-5 > .column, .small-up-5 > .columns { width: 20%; float: left; }

.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) { clear: none; }

.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) { clear: both; }

.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child { float: left; }

.small-up-6 > .column, .small-up-6 > .columns { width: 16.66667%; float: left; }

.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) { clear: none; }

.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) { clear: both; }

.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child { float: left; }

.small-up-7 > .column, .small-up-7 > .columns { width: 14.28571%; float: left; }

.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) { clear: none; }

.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) { clear: both; }

.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child { float: left; }

.small-up-8 > .column, .small-up-8 > .columns { width: 12.5%; float: left; }

.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) { clear: none; }

.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) { clear: both; }

.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child { float: left; }

.small-collapse > .column, .small-collapse > .columns { padding-left: 0; padding-right: 0; }

.small-collapse .row, .expanded.row .small-collapse.row { margin-left: 0; margin-right: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns { padding-left: 1.25rem; padding-right: 1.25rem; }

.small-centered { float: none; margin-left: auto; margin-right: auto; }

.small-uncentered, .small-push-0, .small-pull-0 { position: static; margin-left: 0; margin-right: 0; float: left; }
@media screen and (min-width: 639px) and (max-width: 641px) {
    .medium-4.mobile100 { width: 100%; }
}
@media screen and (min-width: 40em) { .medium-1 { width: 8.33333%; }
  .medium-push-1 { position: relative; left: 8.33333%; }
  .medium-pull-1 { position: relative; left: -8.33333%; }
  .medium-offset-0 { margin-left: 0%; }
  .medium-2 { width: 16.66667%; }
  .medium-push-2 { position: relative; left: 16.66667%; }
  .medium-pull-2 { position: relative; left: -16.66667%; }
  .medium-offset-1 { margin-left: 8.33333%; }
  .medium-3 { width: 25%; }
  .medium-push-3 { position: relative; left: 25%; }
  .medium-pull-3 { position: relative; left: -25%; }
  .medium-offset-2 { margin-left: 16.66667%; }
  .medium-4 { width: 33.33333%; }
  .medium-push-4 { position: relative; left: 33.33333%; }
  .medium-pull-4 { position: relative; left: -33.33333%; }
  .medium-offset-3 { margin-left: 25%; }
  .medium-5 { width: 41.66667%; }
  .medium-push-5 { position: relative; left: 41.66667%; }
  .medium-pull-5 { position: relative; left: -41.66667%; }
  .medium-offset-4 { margin-left: 33.33333%; }
  .medium-6 { width: 50%; }
  .medium-push-6 { position: relative; left: 50%; }
  .medium-pull-6 { position: relative; left: -50%; }
  .medium-offset-5 { margin-left: 41.66667%; }
  .medium-7 { width: 58.33333%; }
  .medium-push-7 { position: relative; left: 58.33333%; }
  .medium-pull-7 { position: relative; left: -58.33333%; }
  .medium-offset-6 { margin-left: 50%; }
  .medium-8 { width: 66.66667%; }
  .medium-push-8 { position: relative; left: 66.66667%; }
  .medium-pull-8 { position: relative; left: -66.66667%; }
  .medium-offset-7 { margin-left: 58.33333%; }
  .medium-9 { width: 75%; }
  .medium-push-9 { position: relative; left: 75%; }
  .medium-pull-9 { position: relative; left: -75%; }
  .medium-offset-8 { margin-left: 66.66667%; }
  .medium-10 { width: 83.33333%; }
  .medium-push-10 { position: relative; left: 83.33333%; }
  .medium-pull-10 { position: relative; left: -83.33333%; }
  .medium-offset-9 { margin-left: 75%; }
  .medium-11 { width: 91.66667%; }
  .medium-push-11 { position: relative; left: 91.66667%; }
  .medium-pull-11 { position: relative; left: -91.66667%; }
  .medium-offset-10 { margin-left: 83.33333%; }
  .medium-12 { width: 100%; }
  .medium-offset-11 { margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns { width: 100%; float: left; }
  .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) { clear: both; }
  .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child { float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns { width: 50%; float: left; }
  .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) { clear: both; }
  .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child { float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns { width: 33.33333%; float: left; }
  .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) { clear: both; }
  .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child { float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns { width: 25%; float: left; }
  .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) { clear: both; }
  .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child { float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns { width: 20%; float: left; }
  .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) { clear: both; }
  .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child { float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns { width: 16.66667%; float: left; }
  .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) { clear: both; }
  .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child { float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns { width: 14.28571%; float: left; }
  .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) { clear: both; }
  .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child { float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns { width: 12.5%; float: left; }
  .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) { clear: none; }
  .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) { clear: both; }
  .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child { float: left; }
  .medium-collapse > .column, .medium-collapse > .columns { padding-left: 0; padding-right: 0; }
  .medium-collapse .row, .expanded.row .medium-collapse.row { margin-left: 0; margin-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns { padding-left: 1.75rem; padding-right: 1.75rem; }
  .medium-centered { float: none; margin-left: auto; margin-right: auto; }
  .medium-uncentered, .medium-push-0, .medium-pull-0 { position: static; margin-left: 0; margin-right: 0; float: left; } }

@media screen and (min-width: 64em) { .large-1 { width: 8.33333%; }
  .large-push-1 { position: relative; left: 8.33333%; }
  .large-pull-1 { position: relative; left: -8.33333%; }
  .large-offset-0 { margin-left: 0%; }
  .large-2 { width: 16.66667%; }
  .large-push-2 { position: relative; left: 16.66667%; }
  .large-pull-2 { position: relative; left: -16.66667%; }
  .large-offset-1 { margin-left: 8.33333%; }
  .large-3 { width: 25%; }
  .large-push-3 { position: relative; left: 25%; }
  .large-pull-3 { position: relative; left: -25%; }
  .large-offset-2 { margin-left: 16.66667%; }
  .large-4 { width: 33.33333%; }
  .large-push-4 { position: relative; left: 33.33333%; }
  .large-pull-4 { position: relative; left: -33.33333%; }
  .large-offset-3 { margin-left: 25%; }
  .large-5 { width: 41.66667%; }
  .large-push-5 { position: relative; left: 41.66667%; }
  .large-pull-5 { position: relative; left: -41.66667%; }
  .large-offset-4 { margin-left: 33.33333%; }
  .large-6 { width: 50%; }
  .large-push-6 { position: relative; left: 50%; }
  .large-pull-6 { position: relative; left: -50%; }
  .large-offset-5 { margin-left: 41.66667%; }
  .large-7 { width: 58.33333%; }
  .large-push-7 { position: relative; left: 58.33333%; }
  .large-pull-7 { position: relative; left: -58.33333%; }
  .large-offset-6 { margin-left: 50%; }
  .large-8 { width: 66.66667%; }
  .large-push-8 { position: relative; left: 66.66667%; }
  .large-pull-8 { position: relative; left: -66.66667%; }
  .large-offset-7 { margin-left: 58.33333%; }
  .large-9 { width: 75%; }
  .large-push-9 { position: relative; left: 75%; }
  .large-pull-9 { position: relative; left: -75%; }
  .large-offset-8 { margin-left: 66.66667%; }
  .large-10 { width: 83.33333%; }
  .large-push-10 { position: relative; left: 83.33333%; }
  .large-pull-10 { position: relative; left: -83.33333%; }
  .large-offset-9 { margin-left: 75%; }
  .large-11 { width: 91.66667%; }
  .large-push-11 { position: relative; left: 91.66667%; }
  .large-pull-11 { position: relative; left: -91.66667%; }
  .large-offset-10 { margin-left: 83.33333%; }
  .large-12 { width: 100%; }
  .large-offset-11 { margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns { width: 100%; float: left; }
  .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) { clear: both; }
  .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child { float: left; }
  .large-up-2 > .column, .large-up-2 > .columns { width: 50%; float: left; }
  .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) { clear: both; }
  .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child { float: left; }
  .large-up-3 > .column, .large-up-3 > .columns { width: 33.33333%; float: left; }
  .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) { clear: both; }
  .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child { float: left; }
  .large-up-4 > .column, .large-up-4 > .columns { width: 25%; float: left; }
  .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) { clear: both; }
  .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child { float: left; }
  .large-up-5 > .column, .large-up-5 > .columns { width: 20%; float: left; }
  .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) { clear: both; }
  .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child { float: left; }
  .large-up-6 > .column, .large-up-6 > .columns { width: 16.66667%; float: left; }
  .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) { clear: both; }
  .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child { float: left; }
  .large-up-7 > .column, .large-up-7 > .columns { width: 14.28571%; float: left; }
  .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) { clear: both; }
  .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child { float: left; }
  .large-up-8 > .column, .large-up-8 > .columns { width: 12.5%; float: left; }
  .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) { clear: none; }
  .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) { clear: both; }
  .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child { float: left; }
  .large-collapse > .column, .large-collapse > .columns { padding-left: 0; padding-right: 0; }
  .large-collapse .row, .expanded.row .large-collapse.row { margin-left: 0; margin-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns { padding-left: 1.75rem; padding-right: 1.75rem; }
  .large-centered { float: none; margin-left: auto; margin-right: auto; }
  .large-uncentered, .large-push-0, .large-pull-0 { position: static; margin-left: 0; margin-right: 0; float: left; } }

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; }

p { font-size: inherit; line-height: 1.6; margin-bottom: 1rem; text-rendering: optimizeLegibility; }

em, i { font-style: italic; line-height: inherit; }

strong, b { font-weight: bold; line-height: inherit; }

small { font-size: 80%; line-height: inherit; }

h1, h2, h3, h4, h5, h6 { font-family: "Geometria", Arial, sans-serif; font-weight: normal; font-style: normal; color: inherit; text-rendering: optimizeLegibility; margin-top: 0; margin-bottom: 0.5rem; line-height: 1.4; }

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { color: #cacaca; line-height: 0; }

h1 { font-size: 1.5rem; }

h2 { font-size: 1.25rem; }

h3 { font-size: 1.1875rem; }

h4 { font-size: 1.125rem; }

h5 { font-size: 1.0625rem; }

h6 { font-size: 1rem; }

@media screen and (min-width: 40em) { h1 { font-size: 3rem; }
  h2 { font-size: 2.5rem; }
  h3 { font-size: 1.9375rem; }
  h4 { font-size: 1.5625rem; }
  h5 { font-size: 1.25rem; }
  h6 { font-size: 1rem; } }

a { color: #2199e8; text-decoration: none; line-height: inherit; cursor: pointer; }

a:hover, a:focus { color: #1585cf; }

a img { border: 0; }

hr { max-width: 1217px; height: 0; border-right: 0; border-top: 0; border-bottom: 1px solid #cacaca; border-left: 0; margin: 1.25rem auto; clear: both; }

ul, ol, dl { line-height: 1.6; margin-bottom: 1rem; list-style-position: outside; }

li { font-size: inherit; }

ul { list-style-type: disc; margin-left: 1.25rem; }

ol { margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol { margin-left: 1.25rem; margin-bottom: 0; }

dl { margin-bottom: 1rem; }

dl dt { margin-bottom: 0.3rem; font-weight: bold; }

blockquote { margin: 0 0 1rem; padding: 0.5625rem 1.25rem 0 1.1875rem; border-left: 1px solid #cacaca; }

blockquote, blockquote p { line-height: 1.6; color: #8a8a8a; }

cite { display: block; font-size: 0.8125rem; color: #8a8a8a; }

cite:before { content: '\2014 \0020'; }

abbr { color: #0a0a0a; cursor: help; border-bottom: 1px dotted #0a0a0a; }

code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #0a0a0a; background-color: #e6e6e6; border: 1px solid #cacaca; padding: 0.125rem 0.3125rem 0.0625rem; }

kbd { padding: 0.125rem 0.25rem 0; margin: 0; background-color: #e6e6e6; color: #0a0a0a; font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader { margin-top: 0.2rem; margin-bottom: 0.5rem; font-weight: normal; line-height: 1.4; color: #8a8a8a; }

.lead { font-size: 125%; line-height: 1.6; }

.stat { font-size: 2.5rem; line-height: 1; }

p + .stat { margin-top: -1rem; }

.no-bullet { margin-left: 0; list-style: none; }

.text-left { text-align: left; }

.text-right { text-align: right; }

.text-center { text-align: center; }

.text-justify { text-align: justify; }

@media screen and (min-width: 40em) { .medium-text-left { text-align: left; }
  .medium-text-right { text-align: right; }
  .medium-text-center { text-align: center; }
  .medium-text-justify { text-align: justify; } }

@media screen and (min-width: 64em) { .large-text-left { text-align: left; }
  .large-text-right { text-align: right; }
  .large-text-center { text-align: center; }
  .large-text-justify { text-align: justify; } }

.show-for-print { display: none !important; }

@media print { * { background: transparent !important; color: black !important; box-shadow: none !important; text-shadow: none !important; }
  .show-for-print { display: block !important; }
  .hide-for-print { display: none !important; }
  table.show-for-print { display: table !important; }
  thead.show-for-print { display: table-header-group !important; }
  tbody.show-for-print { display: table-row-group !important; }
  tr.show-for-print { display: table-row !important; }
  td.show-for-print { display: table-cell !important; }
  th.show-for-print { display: table-cell !important; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  .ir a:after, a[href^='javascript:']:after, a[href^='#']:after { content: ''; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  pre, blockquote { border: 1px solid #8a8a8a; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; } }

/*fonts*/
@font-face { font-family: 'Geometria'; src: url("../fonts/Geometria-Bold.eot"); src: url("../fonts/Geometria-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Geometria-Bold.woff") format("woff"), url("../fonts/Geometria-Bold.ttf") format("truetype"), url("../fonts/Geometria-Bold.svg#Geometria-Bold") format("svg"); font-weight: bold; font-style: normal; }

@font-face { font-family: 'Geometria'; src: url("../fonts/Geometria-ExtraBold.eot"); src: url("../fonts/Geometria-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Geometria-ExtraBold.woff") format("woff"), url("../fonts/Geometria-ExtraBold.ttf") format("truetype"), url("../fonts/Geometria-ExtraBold.svg#Geometria-ExtraBold") format("svg"); font-weight: 800; font-style: normal; }

@font-face { font-family: 'Geometria'; src: url("../fonts/Geometria-Light.eot"); src: url("../fonts/Geometria-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Geometria-Light.woff") format("woff"), url("../fonts/Geometria-Light.ttf") format("truetype"), url("../fonts/Geometria-Light.svg#Geometria-Light") format("svg"); font-weight: 300; font-style: normal; }

@font-face { font-family: 'Geometria'; src: url("../fonts/Geometria.eot"); src: url("../fonts/Geometria.eot?#iefix") format("embedded-opentype"), url("../fonts/Geometria.woff") format("woff"), url("../fonts/Geometria.ttf") format("truetype"), url("../fonts/Geometria.svg#Geometria") format("svg"); font-weight: normal; font-style: normal; }

@font-face { font-family: 'Geometria'; src: url("../fonts/Geometria-Medium.eot"); src: url("../fonts/Geometria-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Geometria-Medium.woff") format("woff"), url("../fonts/Geometria-Medium.ttf") format("truetype"), url("../fonts/Geometria-Medium.svg#Geometria-Medium") format("svg"); font-weight: 500; font-style: normal; }

body { min-height: 100%; min-width: 1250px; position: relative; }

body:before { content: ''; display: block; position: absolute; width: 100%; height: 100%; background: url(../img/bg.jpg) no-repeat center 160px; background-size: 100% auto; z-index: -1; }

header { padding-bottom: 35px; }

header .logo { float: left; margin: 53px 0 0 5px; }

header .contacts { float: left; margin: 61px 0 0 41px; }

header .contacts .tel { font-size: 18px; line-height: 14px; text-transform: uppercase; }

header .contacts .tel b { font-weight: 500; }

header .contacts .text { margin-top: 8px; font-size: 11px; font-weight: 400; line-height: 14px; text-transform: uppercase; }

header .buttons { float: right; max-width: 140px; text-align: right; margin-top: 35px; }

header .buttons a { margin-bottom: 5px; }

.h-links { float: left; margin: 66px 0 0 96px; }

.h-links li { display: inline-block; line-height: 24px; margin: 0 0 0 46px; }

.h-links li:first-child { margin-left: 0; }

.h-links li a { color: black; font-size: 14px; font-weight: 400; text-transform: uppercase; border-bottom: 1px solid transparent; transition: border-bottom-color .15s ease-in-out; position: relative; padding: 0 !important; }

.h-links li a:hover { border-bottom-color: rgba(0, 0, 0, 0.8);text-decoration: none; }

.h-links li a:before { content: ''; display: block; position: absolute; left: -40px; }

.h-links li a.link-1:before { width: 32px; height: 32px; background: url(../img/icon-1.png) no-repeat; top: -6px; left: -32px; }

.h-links li a.link-2:before { width: 27px; height: 31px; background: url(../img/icon-2.png) no-repeat; top: -7px; left: -32px; }

.h-links li a.link-3:before { width: 30px; height: 28px; background: url(../img/icon-3.png) no-repeat; top: -4px; left: -34px; }

.button-border { display: inline-block; background-color: transparent; border: 1px solid #314c91; border-radius: 1px; padding: 7px 15px; color: #3d4352; font-size: 13px; font-weight: 400; line-height: 24px; text-transform: uppercase; border-radius: 3px; transition: background-color .15s ease-in-out, color .15s ease-in-out; }

.button-border:hover { background-color: #314c91; color: #fff; }

.home-top { text-align: center; margin-top: 120px; }

.home-top h1 { font-size: 60px; font-weight: 700; line-height: 1; text-transform: uppercase; margin: 0 0 15px; }

.home-top h3 { font-size: 46px; font-weight: 500; line-height: 1; text-transform: uppercase; margin: 0; }

.home-top .buttons { margin: 45px 0 0; }

.home-top .buttons a { display: inline-block; width: 246px; height: 58px; background-color: #900; border-radius: 1px; color: white; font-size: 13px; font-weight: 400; line-height: 58px; text-transform: uppercase; margin: 0 10px; transition: background-color .15s ease-in-out; }

.home-top .buttons a:hover { background-color: maroon; }

.service-tile-home, .service-tiles { background-color: #fff; margin-top: 89px; padding-top: 37px; }

.service-tile-home [class*='service'], .service-tiles [class*='service'] { display: block; color: #000; border: 1px solid #bad1df; background-color: #fff; height: 311px; transition: border-color .15s ease-in-out; text-align: center; }

.service-tile-home [class*='service']:hover, .service-tiles [class*='service']:hover { border-color: #900; }

.service-tile-home [class*='service']:hover .bg, .service-tiles [class*='service']:hover .bg { background-color: #900; border-top-color: #900; }

.service-tile-home [class*='service']:hover .text, .service-tiles [class*='service']:hover .text { color: #fff; }

.service-tile-home [class*='service']:hover .more, .service-tiles [class*='service']:hover .more { display: block; }

.service-tile-home .icon, .service-tiles .icon { height: 155px; background-position: center; background-repeat: no-repeat; }

.service-tile-home .name, .service-tiles .name { font-size: 24px; font-weight: 700; line-height: 1; text-transform: uppercase; }

.service-tile-home .bg, .service-tiles .bg { margin: 20px -1px 0; padding-top: 1px; padding-bottom: 1px; border-top: 1px solid #bad1df; background-color: transparent; transition: border-top-color .15s ease-in-out, background-color .15s ease-in-out; }

.service-tile-home .text, .service-tiles .text { margin: 22px 25px; height: 63px; overflow: hidden; font-size: 14px; font-weight: 300; color: black; line-height: 1.1; transition: color .15s ease-in-out; }

.service-tile-home .more, .service-tiles .more { margin-bottom: 18px; display: none; }

.service-tile-home .more a, .service-tiles .more a { font-size: 13px; border-color: #fff; color: #fff; padding-left: 30px; padding-right: 30px; }

.service-tile-home .more a:hover, .service-tiles .more a:hover { background-color: #fff; color: #900; }

.service-tile-home .service-1 .icon, .service-tiles .service-1 .icon { background-image: url(../img/icon-serv-1.png); }

.service-tile-home .service-2 .icon, .service-tiles .service-2 .icon { background-image: url(../img/icon-serv-2.png); }

.service-tile-home .service-3 .icon, .service-tiles .service-3 .icon { background-image: url(../img/icon-serv-3.png); }

.object-home { margin-top: 95px; }

.object-home .list { margin-left: -35px; }

.object-home .list:after { content: ''; display: table; width: 100%; }

.object-home .object-item { width: 264px; margin-left: 35px; }

.object-home .all-project { text-align: center; margin-top: 48px; }

.object-home .all-project a { color: black; font-size: 18px; font-weight: 700; text-transform: uppercase;   transition: border-bottom-color .15s ease-in-out; }

.object-home .all-project a:hover {   }

.block-title { font-size: 30px; font-weight: 700; line-height: 1; text-transform: uppercase; text-align: center; margin: 0 0 30px; }

.object-item { float: left; border: 1px solid #bad1df; }

.object-item .name { font-size: 18px; font-weight: 500; text-transform: uppercase; line-height: normal; padding: 15px 14px 8px; height: 72px;  overflow: hidden;}

.object-item .name a { color: #000; text-decoration: underline;  transition: border-bottom-color .15s ease-in-out; overflow: hidden; height:42px;  display:block;}

.object-item .name a:hover { text-decoration: none; }

.object-item .image { margin: 0 -1px; height: 157px; overflow: hidden; }

.object-item .image img { min-width: 100%; min-height: 100%;}
a.black_link{color: #000; text-decoration: underline; font-family: "Geometria", Arial, sans-serif; margin-bottom:20px;}
a.black_link:hover{color: #000; text-decoration: none;}
.object-page .object-item .image { height: 335px;}

.object-item .info { font-size: 12px; text-transform: uppercase; font-weight: 400; line-height: 1; padding: 11px 16px 1px; }

.object-item .info > div { margin-bottom: 10px; }

.object-item .info span { color: #900; font-weight: 500; }

.object-item .bottom { border-top: 1px solid #bad1df; padding: 18px 15px 8px; }

.object-item .smal-image {height: 197px;}

.object-item .big-image {height: 420px;}

.object-item .location { font-size: 12px; font-weight: 400; text-transform: uppercase; position: relative; padding-left: 16px; }

.object-item .location:before { content: ''; display: block; position: absolute; width: 10px; height: 14px; background: url(../img/icon-place.png) no-repeat; left: 0; top: 2px; }

.object-item .price { color: #900; font-size: 20px; font-weight: 500; text-transform: uppercase; margin-top: 10px; }

.about-home { text-align: center; margin-top: 50px; background-color: rgba(230, 230, 220, 0.7); padding: 50px 0 60px; }

.about-home h3 { font-size: 18px; font-weight: 300; line-height: normal; text-transform: uppercase; }

.about-home p { font-size: 16px; line-height: 24px; padding: 0 10px; margin-bottom: 28px; }

.about-home .order a { display: inline-block; width: 146px; height: 38px; background-color: #900; border-radius: 1px 2px 2px 1px; font-size: 13px; font-weight: 400; line-height: 38px; text-transform: uppercase; color: #fff; transition: background-color .15s ease-in-out; }

.about-home .order a:hover { background-color: maroon; }

.service-tiles { margin-top: 20px; padding-top: 0; }

.service-tiles [class*='service'] { height: 231px; }

footer { border-top: 1px solid #bad1df; margin-top: 40px; padding: 50px 0; }

footer .h-links { float: none; margin: 0 0 0 36px; }

footer .bottom { margin-top: 70px; }

footer .copy { font-size: 14px; line-height: 24px; text-transform: uppercase; float: left; }

footer .dev { display: block; float: right; width: 71px; height: 40px; background: url(../img/dev.png) no-repeat; }

.bg-white { background-color: #fff; }

.bg-white.margin { margin-top: 50px; }

.service-tiles-small { padding-top: 26px; padding-bottom: 26px; }

.service-tiles-small [class*='service-'] { height: 84px; background-color: white; border: 1px solid #bad1df; display: block; color: black; font-size: 24px; font-weight: 700; line-height: 84px; text-transform: uppercase; padding-left: 85px; transition: border-color .15s ease-in-out; background-repeat: no-repeat; background-position: 12px center; }

.service-tiles-small [class*='service-']:hover { border-color: #9c0000; }

.service-tiles-small .service-1 { background-image: url(../img/icon-serv-small-1.png); }

.service-tiles-small .service-2 { background-image: url(../img/icon-serv-small-2.png); }

.service-tiles-small .service-3 { background-image: url(../img/icon-serv-small-3.png); }

.page-title { padding-top: 20px; }

.page-title h1 { color: black; font-size: 30px; font-weight: 700; line-height: 1; text-transform: uppercase; margin-bottom: 30px; }

#content { font-size: 16px; line-height: 24px; }

#content p { line-height: inherit; margin-bottom: 20px; }

.i-news:last-child { margin-top: 90px; margin-bottom: 30px; }

.i-news .title { font-size: 24px; font-weight: 700; line-height: 24px; text-transform: uppercase; margin-bottom: 25px; }

.i-news .news { margin-bottom: 20px; padding-right: 130px; }

.i-news .news:after { content: ''; display: table; width: 100%; }

.i-news .news .image { float: left; margin: 4px 26px 0 0; }

.i-news .news .date { font-size: 14px; text-transform: uppercase; margin-bottom: 5px; }

.i-news .news .name { color: inherit; font-weight: 700; border-bottom: 1px solid transparent; transition: border-bottom-color .15s ease-in-out; }

.i-news .news .name:hover { border-bottom-color: rgba(0, 0, 0, 0.8); }

.i-news .news .text { margin-top: 5px; }

.i-news .all-news { text-decoration: underline; color: black; font-size: 16px; font-weight: 700; line-height: 24px; border-bottom: 1px solid transparent; transition: border-bottom-color .15s ease-in-out; }

.i-news .all-news:hover {text-decoration: none;  }

.object-page { padding-bottom: 20px; }

.object-page .sort { margin-top: -15px; margin-bottom: 25px; }

.object-page .sort label { font-size: 12px; text-transform: uppercase; line-height: 36px; vertical-align: top; margin-right: 10px; }

.object-page .list { margin-left: -36px; }

.object-page .list:after { content: ''; display: table; width: 100%; }

.object-page .object-item { width: 562px; margin-left: 36px; margin-bottom: 30px; }

.object-page .object-item .name { height: auto; padding-bottom: 12px; }

.object-page .all-project { text-align: center; margin-top: 20px; }

.object-page .all-project a { display: inline-block; width: 296px; height: 38px; line-height: 38px; background-color: #900; border-radius: 1px 2px 2px 1px; color: white; font-size: 13px; font-weight: 400; text-transform: uppercase; transition: background-color .15s ease-in-out; }

.object-page .all-project a:hover { background-color: maroon; }

.image-left { float: left; margin: 4px 26px 0 0; }

.service-container .row { padding-bottom: 20px; }

.bottom-order-btn { margin-top: 10px; }

.bottom-order-btn a { display: inline-block; width: 146px; height: 38px; background-color: #900; border-radius: 1px 2px 2px 1px; color: white; font-size: 13px; font-weight: 400; line-height: 38px; text-transform: uppercase; transition: background-color .15s ease-in-out; text-align: center; }

.bottom-order-btn a:hover { background-color: maroon; }

.map-container { position: relative; height: 528px; margin-bottom: 10px; }

.map-container #ya-map { height: 528px; width: 100%; }

.map-container .map-bottom { position: absolute; width: 100%; left: 0; bottom: 0; background-color: rgba(65, 76, 82, 0.55); color: white; font-size: 14px; font-weight: 300; line-height: 24px; text-transform: uppercase; padding: 17px 19px 27px; }

.map-container .map-bottom a { color: inherit; border-bottom: 1px solid #a1b1b1; transition: border-bottom-color .15s ease-in-out; }

.map-container .map-bottom a:hover { border-bottom-color: transparent; }

.breadcrumbs { margin: -25px 0 0; }

.breadcrumbs li { line-height: 24px; display: inline-block; }

.breadcrumbs li:before { content: '/'; margin-right: 4px; }

.breadcrumbs li:first-child:before { display: none; }

.breadcrumbs li a { text-transform: uppercase; font-size: 14px; font-weight: 400; color: black; border-bottom: 1px solid #79d8a1; transition: border-bottom-color .15s ease-in-out; }

.breadcrumbs li a:hover { border-bottom-color: transparent; }

.object-top{ margin-top:10px;}

.object-top:after { content: ''; display: table; width: 100%; }

.object-top .object-images { float: left; width: 709px; position: relative; }

.object-top .object-images ul { margin: 0; }

.object-top .object-images .image-thumb { position: absolute; bottom: 20px; left: 0; }

.object-top .object-images .image-thumb a { display: block; width: 140px; height: 92px; float: left; margin: 0 18px; border: 3px solid #edede6; position: relative; }

.object-top .object-images .image-thumb a.active:before { content: ''; display: block; position: absolute; border-bottom: 16px solid #edede6; border-left: 16px solid transparent; border-right: 16px solid transparent; bottom: 100%; left: 50%; margin-left: -16px; }

.object-top .object-images .bx-next, .object-top .object-images .bx-prev { position: absolute; left: 20px; top: 138px; width: 39px; height: 99px; background-color: black; font-size: 0; background-repeat: no-repeat; background-position: center; background-image: url(../img/arrow-left.png); }

.object-top .object-images .bx-next { left: auto; right: 20px; background-image: url(../img/arrow-right.png); }

.object-top .right { float: right; width: 407px; margin-top: -5px; }

.object-top .right ul { margin: 0; }

.object-top .right ul li { display: block; font-size: 14px; font-weight: 400; line-height: 24px; text-transform: uppercase; margin-bottom: 5px; }

.object-top .right ul li b { font-weight: 700; }

.object-top .right ul.params b { float: right; width: 120px; }

.object-top .right .contacts { margin-top: 65px; }

.object-top .right .contacts .title { font-size: 20px; font-weight: 700; text-transform: uppercase; margin-bottom: 22px; }

.object-top .right .contacts .order {
    margin-top: 15px;
    display: inline-block;
    width: 240px;
    height: 38px;
    padding-left: 40px;
    background-image: url(../img/icon.png);
    background-repeat: no-repeat;
    background-position: 10px;
    background-color: #900;
    border-radius: 1px 2px 2px 1px;
    text-align: left;
    line-height: 40px;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    transition: background-color .15s ease-in-out;
}

.object-top .right .contacts .order:hover { background-color: maroon; }

.allorder {
    margin-top: 15px;
    display: inline-block;
    width: 200px;
    height: 38px;
    padding-left: 40px;
    background-image: url(../img/icon.png);
    background-repeat: no-repeat;
    background-position: 10px;
    background-color: #900;
    border-radius: 1px 2px 2px 1px;
    text-align: left;
    line-height: 40px;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    transition: background-color .15s ease-in-out;
}

.allorder:hover { background-color: maroon; color: #fff; }

.object-options { margin-top: 50px; }

.object-options .title { font-size: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 40px; }

.object-options .title-2 { line-height: 24px; text-transform: uppercase; font-size: 20px; font-weight: 700; margin-bottom: 5px; }

.object-options .text { line-height: 24px; text-transform: uppercase; font-size: 14px; }

.object-options .options { margin-top: 30px; }

.object-options .options table { float: left; width: 33.33%; }

.object-options .options table td { font-size: 14px; line-height: 24px; text-transform: uppercase; padding-bottom: 5px; }

.object-options .options table td:first-child { width: 280px; padding-right: 30px;  vertical-align: top;}

.object-desriptions { margin-top: 55px; }

.object-desriptions .title { font-size: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 20px; }

.object-desriptions .text { background-color: #e6e6dc; padding: 30px 0 35px; }

.object-in-map { margin-top: 45px; }

.object-in-map .title { font-size: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 20px; }

.object-in-map #ya-map { height: 260px; width: 100%; }

.object-plan { margin-top: 45px; }

.object-plan .title { font-size: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 20px; }

.object-plan ul { margin: 0; }

.object-plan ul li { display: block; }

.object-plan ul li .plan { height: 173px; background-color: white; border: 1px solid #bad1df; overflow: hidden; }

.object-calc { margin-top: 45px; }

.object-calc .title { font-size: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 20px; }

.object-calc ul { margin: 0; }

.object-calc ul li { display: block; position: relative; z-index: 1; font-size: 14px; line-height: 24px; text-transform: uppercase; margin-bottom: 10px; }

.object-calc ul li:before { content: ''; display: block; position: absolute; width: 100%; height: 11px; background-color: #edede6; z-index: -1; left: 0; top: 7px; }

.object-calc ul li span { display: inline-block; background-color: #fff; padding-right: 10px; }

.object-calc ul li span:last-child { font-size: 18px; font-weight: 700; line-height: 24px; float: right; padding-right: 0; padding-left: 10px; }

.about-container .bg-white { padding-bottom: 20px; }

.news-details-container .bg-white { padding-bottom: 70px; }

.news-details-date { text-transform: uppercase; font-size: 14px; margin-bottom: -15px; }

.services-container .bg-white { padding-bottom: 180px; }

.news-menu { margin: 0; }

.news-menu li { display: block; line-height: 36px; }

.news-menu li a { color: black; font-size: 16px; border-bottom: 1px solid transparent; transition: border-bottom-color .15s ease-in-out; }

.news-menu li a:hover { border-bottom-color: rgba(0, 0, 0, 0.8); }

.news-container .i-news { margin: 0; }

.show-more-news { display: inline-block; width: 301px; height: 38px; background-color: #900; border-radius: 1px 2px 2px 1px; color: white; font-size: 13px; font-weight: 400; line-height: 38px; text-transform: uppercase; text-align: center; transition: background-color .15s ease-in-out; }

.show-more-news:hover { color: white; background-color: maroon; }

@media all and (max-width: 640px) { 
    #content p iframe{
    width: 580px!important;
    height: 300px!important;
    display: inline-block;
}
    .object-item .name a {height: 55px;}
    body { min-width: 640px; }
  body:before { background-position: center 210px; }
  header { padding-top: 30px; position: relative; }
  header .logo { margin-top: 0; float: none; }
  header .buttons { position: absolute; top: 30px; right: 20px; margin-top: 0; max-width: none; }
  header .buttons a { margin-right: 10px; }
  header .contacts { margin: 20px 0 0; }
  header .contacts .tel { font-size: 22px; }
  header .contacts .text { font-size: 18px; }
  .h-links { float: none; margin: 30px 0 0 40px; }
  .h-links li a { font-size: 20px; }
  .button-border { font-size: 18px; line-height: 30px; }
  .home-top { margin-top: 10px; }
  .home-top .buttons a { font-size: 20px; width: 270px; height: 64px; line-height: 64px; }
  .service-tile-home, .service-tiles { margin-top: 40px; }
  .service-tile-home [class*='service'], .service-tiles [class*='service'] { height: auto; margin-bottom: 30px; }
  .service-tile-home .more, .service-tiles .more { display: block; }
  .mobile100:hover .more a{background-color: #fff; color: #900; }
  .service-tile-home .more a, .service-tiles .more a { border-color: #000; color: #000; font-size: 20px; border-width: 2px; }
  .service-tile-home .name, .service-tiles .name { font-size: 40px; padding-bottom: 30px; }
  .service-tile-home .text, .service-tiles .text { font-size: 20px; font-weight: 400; }
  .service-tile-home .bg, .service-tiles .bg { margin-top: 0; }
  .block-title { font-size: 42px; }
  .object-home { margin-top: 40px; }
  .object-home .list { margin-left: 0; }
  .object-home .object-item { width: 100%; float: none; margin-left: 0; height: auto; }
  .object-home .all-project a { font-size: 28px; }
  .object-item { margin-bottom: 30px; }
  .object-item .name { font-size: 24px; height: 88px; }
  .object-item .info { font-size: 20px; }
  .object-item .image img { width: 100%; }
  .object-item .location { font-size: 20px; }
  .object-item .location:before { top: 7px; }
  .object-item .price { font-size: 30px; }
  .about-home h3 { font-size: 26px; }
  .about-home p { font-size: 22px; line-height: normal; }
  .about-home .order a { font-size: 20px; height: 42px; line-height: 42px; }
  footer .copy { font-size: 20px; }
  .page-title h1 { font-size: 42px; }
  #content p { font-size: 20px; line-height: normal; }
  body:not(.page-is-index) #content div > .bg-white { padding-bottom: 0; }
  .news-details-date { font-size: 20px; }
  .breadcrumbs li a { font-size: 20px; }
  .map-container .map-bottom { font-size: 20px; line-height: normal; }
  .i-news .news { padding-right: 0; font-size: 20px; line-height: normal; }
  .i-news .news .name { font-size: 22px; }
  .i-news .news .date { font-size: 20px; }
  .i-news .all-news { font-size: 26px; }
  .news-menu { margin-bottom: 50px; }
  .news-menu li a { font-size: 24px; }
  .show-more-news { font-size: 20px; height: 50px; line-height: 50px; width: auto; padding: 0 30px; }
  .object-top .object-images { float: none; width: 100%; }
  .object-top .object-images .image-thumb a { width: 114px; height: auto; }
  .object-top .right { float: none; width: 100%; margin-top: 40px; }
  .object-top .right ul li { font-size: 20px; }
  .object-top .right ul.params b { width: 190px; }
  .object-top .right .contacts .title { font-size: 28px; }
  .object-top .right .contacts .order { font-size: 20px; height: 50px; line-height: 50px; padding: 0 30px; width: auto; }
  .object-options .title { font-size: 34px; }
  .object-options .title-2 { font-size: 28px; }
  .object-options .text { font-size: 20px; }
  .object-options .options table { width: 100%; font-size: 20px; }
  .object-options .options table td { font-size: 20px; padding-bottom: 15px; }
  .object-options .options table td:first-child { width: 400px; }
  .object-desriptions .title { font-size: 34px; }
  .object-desriptions .text { font-size: 20px; line-height: normal; }
  .object-in-map .title { font-size: 34px; }
  .object-plan .title { font-size: 34px; }
  .object-calc .title { font-size: 34px; line-height: normal; }
  .object-calc ul li { font-size: 20px; font-size: 400; }
  .object-calc ul li b { font-size: 22px; }
  .object-page .sort label { font-size: 20px; }
  .object-page .all-project a { font-size: 20px; line-height: 50px; height: 50px; width: auto; padding: 0 30px; }
  .selectboxit-container * { font-size: 20px; }
  .bottom-order-btn a { font-size: 20px; line-height: 50px; height: 50px; width: auto; padding: 0 30px; } }

/*print styles*/
.page-is-print:before { display: none; }

.print-conteiner { width: 716px; margin: 0 auto; }

.print-conteiner h1 { text-transform: uppercase; font-size: 30px; font-weight: 700; line-height: normal; margin-bottom: 10px; }

.print-conteiner h3 { font-size: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 25px; }

.print-conteiner p { font-size: 16px; }

.print-header { overflow: hidden; padding-top: 55px; padding-bottom: 30px; }

.print-header .print-logo { float: left; }

.print-header .right { float: right; font-size: 18px; font-weight: 300; line-height: 14px; text-transform: uppercase; margin-top: 23px; }

.print-header .right span { display: inline-block; margin-left: 25px; }

.print-location { text-transform: uppercase; font-size: 14px; font-weight: 400; }

.print-images { overflow: hidden; margin-left: -42px; margin-top: 5px; }

.print-images img { float: left; margin-left: 42px; margin-bottom: 30px; }

.print-options { font-size: 14px; line-height: 18px; text-transform: uppercase; width: 100%; margin-top: 10px; }

.print-options td { padding-bottom: 10px; }

.print-options td:first-child { width: 379px; }

.print-site-url { margin-top: 10px; }

.print-in-map { margin-top: 40px; }

.popap-shadow {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3);
    z-index: 100;
    display: none;
}
.popap-wrap {
    width: 716px;
    height: 688px;
    background: #fff;
    position: fixed;
    top: 50%;
    margin-top: -344px;
    left: 50%;
    margin-left: -358px;
    z-index:101;
    display: none;
    padding: 41px 50px 15px 50px;
}
.popap-wrap .close {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 40px;
    right: 40px;
    cursor: pointer;
    background: url(../img/close.png) no-repeat;
    background-size: cover;
}
.popap-wrap .close:hover{
    opacity: .8;
}
.popap-wrap .title{
    font-family: "Geometria", Arial, sans-serif;
    font-weight: bold;
    font-size: 27px;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 9px;
    line-height: 40px;
    letter-spacing: 0.6px;
}
.popap-wrap form{
    display: block;
}
.popap-wrap form label{
    display: block;
    font-family: "Geometria", Arial, sans-serif;
    font-size: 14px;
    color: #000;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 7px;
}
.popap-wrap form textarea{
    width: 100%;
    height: 80px;
    background-color: #fff;
    border: 1px solid #bad1df;
    box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .1);
    font-family: "Geometria", Arial, sans-serif;
    font-size: 14px;
    color: #000;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 0.7px;
    margin-bottom: -6px;
    outline: none;
    padding: 0 10px;
    resize: none;
}
.popap-wrap form textarea::-webkit-input-placeholder {color: #706b86;text-transform: uppercase}
.popap-wrap form textarea::-moz-placeholder          {color: #706b86;text-transform: uppercase}
.popap-wrap form textarea:-moz-placeholder           {color: #706b86;text-transform: uppercase}
.popap-wrap form textarea:-ms-input-placeholder      {color: #706b86;text-transform: uppercase}
.popap-wrap form .line{
    margin-bottom: 14px;
}
.popap-wrap form input{
    width: 387px;
    height: 44px;
    background-color: #fff;
    border: 1px solid #bad1df;
    box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .1);
    font-family: "Geometria", Arial, sans-serif;
    font-size: 14px;
    color: #000;
    padding: 0 10px;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 0.7px;
    outline: none;
}
.popap-wrap form .valid-error{border: 1px solid red}
.popap-wrap form input::-webkit-input-placeholder {color: #706b86;text-transform: uppercase}
.popap-wrap form input::-moz-placeholder          {color: #706b86;text-transform: uppercase}
.popap-wrap form input:-moz-placeholder           {color: #706b86;text-transform: uppercase}
.popap-wrap form input:-ms-input-placeholder      {color: #706b86;text-transform: uppercase}
.popap-wrap form button.sub{
    font-family: "Geometria", Arial, sans-serif;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.7px;
    width: 148px;
    height: 40px;
    line-height: 42px;
    text-align: center;
    border-radius: 3px;
    background-color: #990000;
    display: block;
    outline: none;
    border: none;
    cursor: pointer;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.popap-wrap form button.sub:hover{
    background-color: #c81e1e;
}
.buttons-print-pdf{
    padding: 30px 0 0 0;
}
.buttons-print-pdf a{
    float: left;
    margin-right: 10px;
    display: inline-block;
    background-color: #900;
    border-radius: 1px 2px 2px 1px;
    color: white;
    font-size: 13px;
    font-weight: 400;
    line-height: 38px;
    text-transform: uppercase;
    transition: background-color .15s ease-in-out;
    text-align: center;
    border-radius: 3px;
}
.buttons-print-pdf a:hover{
    background-color: maroon;
}
.buttons-print-pdf a.print-btn{
    background-image: url(../img/print.png);
    background-repeat: no-repeat;
    background-position: 10px;
    padding-left: 40px;
    padding-right: 10px;
}
.buttons-print-pdf a.pdf-btn{
    background-image: url(../img/pdf.png);
    background-repeat: no-repeat;
    background-position: 10px;
    padding-left: 44px;
    padding-right: 10px;
}
.inline-text-block{display: inline}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsImpxdWVyeS5zZWxlY3RCb3hJdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiYXBwLmNzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvR0FLRztBQ0xILDJCQUEyQjtBQUMzQix5QkFDRSxtQkFBbUIsQ0FDbkIsc0JBQXNCLENBQ3RCLG9CQUFvQixFQUNyQjs7QUFFRCxtREFBbUQ7QUFDbkQsMkJBQ0UsZ0JBQWdCLENBQ2hCLDBCQUEwQixDQUMxQiw2QkFBNkIsQ0FDN0IsNEJBQTRCLENBQzVCLDBCQUEwQixDQUUxQiw0QkFBNEIsQ0FDNUIsc0JBQXNCLENBQ3RCLHFCQUFxQixDQUNyQixrQkFBa0IsQ0FDbEIsY0FBYyxDQUNkLG9CQUFvQixFQUNyQjs7QUFFRCxZQUFZO0FBQ1osc0NBQ0Usd0JBQXNCLENBQUUsa0NBQWtDLENBQzFELGdCQUFnQixDQUNoQixVQUFVLENBQ1YsV0FBVyxDQUNYLGlCQUFpQixDQUNqQixlQUFlLENBQ2YsbUJBQW1CLEVBQ3BCOztBQUVELDJDQUEyQztBQUMzQyw2RUFDRSxhQUFhLENBQUUsNkJBQTZCLENBQzVDLGtCQUFrQixDQUFFLDZDQUE2QyxDQUNqRSxlQUFlLEVBQ2hCOztBQUVELDJCQUEyQjtBQUMzQiw0Q0FDRSxXQUFXLEVBQ1o7O0FBRUQsZ0NBQWdDO0FBQ2hDLGdGQUNFLGNBQWMsQ0FDZCwwQkFBYSxDQUdiLGlCQUFpQixDQUNqQixnQkFBZ0IsRUFDakI7O0FBRUQsaUJBQWlCO0FBQ2pCLG9CQUNFLGlCQUFpQixDQUNq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QUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHNCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLFdDZXNCLEVMeURqQjs7QUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkOztBQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGlCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLFdDZXNCLEVMeURqQjs7QUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkOztBQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGlCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLFdDZXNCLEVMeURqQjs7QUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkOztBQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGlCRFZzQixFTDJFakI7O0FBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsbUJNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFlJdEVKLFlDZXNCLEVMeURqQjs7QUFnQkQsbUJNL0RKLHVCRFZzQixFTDJFakI7O0FBS0QsZ0RPNUZGLFlBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7O0FQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7O0FQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7O0FQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7O0FQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUCtFQyxnRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7O0FQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7O0FQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7O0FQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7O0FQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUCtFQyxnRE81RkYsV0FBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDs7QVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjs7QVB1RkMsb0ZPcEZBLFlBQVksRUFDYjs7QVBtRkMsc0VPaEZBLFlBQVksRUFDYjs7QVArRUMsZ0RPNUZGLGlCQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUCtFQyxnRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7O0FQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7O0FQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7O0FQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7O0FQK0VDLGdETzVGRixhQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUHFGRCx3REV6R0YsZ0JBQWdCLENBQ2hCLGlCQUFpQixFRnlHbUI7O0FBRGxDLDBEQUlJLGVBQWUsQ0FDZixnQkFBZ0IsRUFDakI7O0FBR0gsNERFekdGLHNCQURpQixDQUVqQix1QkFGaUIsRUY2RzhCOztBQUk3QyxrQk1oSEEsWUFBWSxDQUNaLGtCQUFrQixDQUNsQixtQkFBbUIsRU5nSGxCOztBQUdELGtETTFHRixpQkFBaUIsQ0FDakIsZUFBZSxDQUNmLGdCQUFnQixDQUNoQixZQUFZLEVOeUdUOztBR1NELHNDSC9ERSxZSXRFSixnQkNlc0IsRUx5RGpCO0VBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixlQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGdCRGJzQixFTDhFakI7RUFwQkQsWUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGlCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxtQk0vREosc0JEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixXQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixXQUhtQixFTm1GZDtFQU1ILG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGlCRFZzQixFTDJFakI7RUFwQkQsWUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGlCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxtQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixXQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixXQUhtQixFTm1GZDtFQU1ILG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGlCRFZzQixFTDJFakI7RUFwQkQsWUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGlCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxtQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixXQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixXQUhtQixFTm1GZDtFQU1ILG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBcEJELGFJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxrQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGtCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGlCRFZzQixFTDJFakI7RUFwQkQsYUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGtCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsa0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxvQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxhSXRFSixZQ2VzQixFTHlEakI7RUFnQkQsb0JNL0RKLHVCRFZzQixFTDJFakI7RUFLRCxrRE81RkYsWUFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUCtFQyxrRE81RkYsV0FBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUCtFQyxrRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsa0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxzRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHdFT2hGQSxZQUFZLEVBQ2I7RVArRUMsa0RPNUZGLFdBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsa0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxzRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHdFT2hGQSxZQUFZLEVBQ2I7RVArRUMsa0RPNUZGLFdBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsa0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxzRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHdFT2hGQSxZQUFZLEVBQ2I7RVArRUMsa0RPNUZGLGlCQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGtGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsc0ZPcEZBLFlBQVksRUFDYjtFUG1GQyx3RU9oRkEsWUFBWSxFQUNiO0VQK0VDLGtETzVGRixpQkFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUCtFQyxrRE81RkYsYUFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUHFGRCwwREV6R0YsZ0JBQWdCLENBQ2hCLGlCQUFpQixFRnlHbUI7RUFEbEMsNERBSUksZUFBZSxDQUNmLGdCQUFnQixFQUNqQjtFQUdILDhERXpHRixzQkFEaUIsQ0FFakIsdUJBRmlCLEVGNkc4QjtFQUk3QyxtQk1oSEEsWUFBWSxDQUNaLGtCQUFrQixDQUNsQixtQkFBbUIsRU5nSGxCO0VBR0QscURNMUdGLGlCQUFpQixDQUNqQixlQUFlLENBQ2YsZ0JBQWdCLENBQ2hCLFlBQVksRU55R1QsRUFBQTs7QUdTRCxzQ0gvREUsV0l0RUosZ0JDZXNCLEVMeURqQjtFQUlDLGdCTTNFSixtQkFBbUIsQ0FDbkIsZUFIbUIsRU4rRWQ7RUFFRCxnQk0vRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixnQkRic0IsRUw4RWpCO0VBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsa0JNL0RKLHNCRFZzQixFTDJFakI7RUFwQkQsV0l0RUosV0Nlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixVQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7RUFNSCxrQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxXSXRFSixpQkNlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7RUFFRCxnQk0vRUosbUJBQW1CLENBQ25CLGlCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixpQkRWc0IsRUwyRWpCO0VBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7RUFwQkQsV0l0RUosV0Nlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixVQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7RUFNSCxrQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxXSXRFSixpQkNlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7RUFFRCxnQk0vRUosbUJBQW1CLENBQ25CLGlCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixpQkRWc0IsRUwyRWpCO0VBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7RUFwQkQsV0l0RUosV0Nlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixVQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7RUFNSCxrQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixpQkNlc0IsRUx5RGpCO0VBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7RUFFRCxpQk0vRUosbUJBQW1CLENBQ25CLGlCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixpQkRWc0IsRUwyRWpCO0VBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLHVCRFZzQixFTDJFakI7RUFwQkQsWUl0RUosWUNlc0IsRUx5RGpCO0VBZ0JELG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBS0QsZ0RPNUZGLFlBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVArRUMsZ0RPNUZGLFdBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVArRUMsZ0RPNUZGLGlCQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsb0ZPcEZBLFlBQVksRUFDYjtFUG1GQyxzRU9oRkEsWUFBWSxFQUNiO0VQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsb0ZPcEZBLFlBQVksRUFDYjtFUG1GQyxzRU9oRkEsWUFBWSxFQUNiO0VQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsb0ZPcEZBLFlBQVksRUFDYjtFUG1GQyxzRU9oRkEsWUFBWSxFQUNiO0VQK0VDLGdETzVGRixpQkFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxnRk94RkEsWUFBWSxFQUNiO0VQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7RVBtRkMsc0VPaEZBLFlBQVksRUFDYjtFUCtFQyxnRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVArRUMsZ0RPNUZGLGFBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVBxRkQsd0RFekdGLGdCQUFnQixDQUNoQixpQkFBaUIsRUZ5R21CO0VBRGxDLDBEQUlJLGVBQWUsQ0FDZixnQkFBZ0IsRUFDakI7RUFHSCw0REV6R0Ysc0JBRGlCLENBRWpCLHVCQUZpQixFRjZHOEI7RUFJN0Msa0JNaEhBLFlBQVksQ0FDWixrQkFBa0IsQ0FDbEIsbUJBQW1CLEVOZ0hsQjtFQUdELGtETTFHRixpQkFBaUIsQ0FDakIsZUFBZSxDQUNmLGdCQUFnQixDQUNoQixZQUFZLEVOeUdULEVBQUE7O0FRNkZILHdGQW1CRSxVQUFVLENBQ1YsV0FBVyxFQUNaOztBQUdELElBQ0UsbUJBQW1CLENBQ25CLGlCVjdIc0IsQ1U4SHRCLG9CVjdIMEIsQ1U4SDFCLG1DVjdIeUMsRVU4SDFDOztBQUdELFFBRUUsbUJBQW1CLENBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRCxZQUVFLGtCVjNNcUIsQ1U0TXJCLHFCQUFxQixFQUN0Qjs7QUFHRCxRQUNFLGVWcEppQixDVXFKakIscUJBQXFCLEVBQ3RCOztBQUdELHlCQU1FLDRDVmpPNkMsQ1VrTzdDLG9CVjlOeUIsQ1UrTnpCLG1CVnpMc0IsQ1UwTHRCLGVWdEtrQixDVXVLbEIsbUNWcEtzQyxDVXFLdEMsY0FBYyxDQUNkLHNCVnZLeUIsQ1V3S3pCLGlCVnpLbUIsRVUrS3BCOztBQW5CRCw2REFnQkksZVZqUGUsQ1VrUGYsZUFBZSxFQUNoQjs7QUFPRyxLQUNFLGtCQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLG1CQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLHFCQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLG9CQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLHFCQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLGdCQ3JPWSxFRHNPYjs7QUxuS0wsc0NLaUtJLEtBQ0UsZ0JDck9ZLEVEc09iO0VBRkQsS0FDRSxrQkNyT1ksRURzT2I7RUFGRCxLQUNFLHFCQ3JPWSxFRHNPYjtFQUZELEtBQ0UscUJDck9ZLEVEc09iO0VBRkQsS0FDRSxtQkNyT1ksRURzT2I7RUFGRCxLQUNFLGdCQ3JPWSxFRHNPYixFQUFBOztBQU1QLElBQ0UsZVYxUWMsQ1UyUWQsc0JWL0t5QixDVWdMekIscUJBQXFCLENBQ3JCLGdCQUFnQixFQWFqQjs7QUFqQkQsbUJBUUksZVZ0TDBCLEVVMEwzQjs7QUFaSCxRQWVJLFVBQVUsRUFDWDs7QUFJSCxLQUNFLGtCVmpTaUIsQ1VrU2pCLFVBQVUsQ0FDVixnQkFBZ0IsQ0FDaEIsY0FBYyxDQUNkLGlDVjNSaUIsQ1U0UmpCLGVBQWUsQ0FDZixxQlZwTXlCLENVcU16QixZQUFZLEVBQ2I7O0FBR0QsYUFHRSxpQlYzTnNCLENVNE50QixvQlYzTjBCLENVNE4xQiw2QlYxTXlCLEVVMk0xQjs7QUFHRCxLQUNFLG1CQUFtQixFQUNwQjs7QUFHRCxLQUNFLHNCVnJOa0IsQ1VzTmxCLHFCVnBOc0IsRVVxTnZCOztBQUdELEtBQ0UscUJWek5zQixFVTBOdkI7O0FBR0QsNkJBRUkscUJWOU4yQixDVStOM0IsaUJBQWlCLEVBQ2xCOztBQUlILEtBQ0Usb0JWcE95QixFVTBPMUI7O0FBUEQsUUFJSSxzQlZyTzhCLENVc085QixrQlY3VG1CLEVVOFRwQjs7QUFJSCxhQUNFLGlCVm5RMEIsQ1VvUTFCLHVDQ3pUa0IsQ0QwVGxCLCtCVmhWaUIsRVVzVmxCOztBQVRELDJCQU1JLGlCVnpRb0IsQ1UwUXBCLGVWblZhLEVVb1ZkOztBQUlILE9BQ0UsZUFBZSxDQUNmLHFCQ3JVa0IsQ0RzVWxCLGVWM1ZlLEVVZ1doQjs7QUFSRCxjQU1JLHVCQUF1QixFQUN4Qjs7QUFJSCxPQUNFLGVWbldXLENVb1dYLGFBQWEsQ0FDYixrQ1ZyV1csRVVzV1o7O0FBR0QsT0FDRSw2RFYzVG1FLENVNFRuRSxvQlZuV3lCLENVb1d6QixlVjVXVyxDVTZXWCwwQlZoWGdCLENVaVhoQiwwQlZoWGlCLENVaVhqQixzQ0MzVmtCLEVENFZuQjs7QUFHRCxNQUNFLDRCQzNWUyxDRDRWVCxVQUFVLENB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RSxZQUFZLEVBQ1o7O0FBTkYsdUJBUUUsYUFBYSxDQUNiLGdCQUFnQixDQUNoQixpQkFBaUIsQ0FDakIsa0JBQWtCLENBQ2xCLDBCQUEwQixDQUMxQixpQkFBaUIsRUFLakI7O0FBbEJGLDRCQWVHLHNCQUFzQixDQUN0QixrQkFBa0IsRUFDbEI7O0FBR0gsa0JBQ0MsMEJBQTBCLENBQzFCLGdCQUFnQixDQUNoQixpQkFBaUIsRUFDakI7O0FBQ0QsZ0JBQ0MsaUJBQWlCLENBQ2pCLG1CQUFtQixDQUNuQixnQkFBZ0IsRUFNaEI7O0FBVEQsb0JBS0UsWUFBWSxDQUNaLGtCQUFrQixDQUNsQixvQkFBb0IsRUFDcEI7O0FBRUYsaUJBQ0MsZ0JBQWdCLENBQ2hCLGtCQUFrQixDQUNsQiwwQkFBMEIsQ0FDMUIsWUFBWSxDQUNaLGlCQUFpQixFQU9qQjs7QUFaRCxvQkFPRSxxQkFBcUIsRUFJckI7O0FBWEYsZ0NBU0csYUFBYSxFQUNiOztBQUdILGtCQUNDLGlCQUFpQixFQUNqQjs7QUFDRCxnQkFDQyxpQkFBaUIsRUFDakIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbiAqIFZlcnNpb24gNi4yLjNcclxuICogZm91bmRhdGlvbi56dXJiLmNvbVxyXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuICovXHJcblxyXG4vLyBTYXNzIHV0aWxpdGllc1xyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vLyBDb21wb25lbnRzXHJcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcclxuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XHJcbiAgQGlmICRmbGV4IHtcclxuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG4gIEBpZiBub3QgJGZsZXgge1xyXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuICB9XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuXHJcbiAgQGlmICRmbGV4IHtcclxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG4gIH1cclxufVxyXG4iLCIvKiBTZWxlY3RCb3hJdCBjb250YWluZXIgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogU3R5bGVzIHRoYXQgYXBwbHkgdG8gYWxsIFNlbGVjdEJveEl0IGVsZW1lbnRzICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyICoge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qIFByZXZlbnRzIHRleHQgc2VsZWN0aW9uICovXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiAtbW96LW5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBCdXR0b24gKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0IHtcbiAgd2lkdGg6IDIyNnB4IWltcG9ydGFudDsgLyogV2lkdGggb2YgdGhlIGRyb3Bkb3duIGJ1dHRvbiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogSGVpZ2h0IGFuZCBWZXJ0aWNhbCBBbGlnbm1lbnQgb2YgVGV4dCAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciBzcGFuLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb25zIGEge1xuICBoZWlnaHQ6IDM2cHg7IC8qIEhlaWdodCBvZiB0aGUgZHJvcCBkb3duICovXG4gIGxpbmUtaGVpZ2h0OiAzNnB4OyAvKiBWZXJ0aWNhbGx5IHBvc2l0aW9ucyB0aGUgZHJvcCBkb3duIHRleHQgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEZvY3VzIHBzZXVkbyBzZWxlY3RvciAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQ6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBEaXNhYmxlZCBNb3VzZSBJbnRlcmFjdGlvbiAqL1xuLnNlbGVjdGJveGl0LnNlbGVjdGJveGl0LWRpc2FibGVkLCAuc2VsZWN0Ym94aXQtb3B0aW9ucyAuc2VsZWN0Ym94aXQtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBCdXR0b24gVGV4dCAqL1xuLnNlbGVjdGJveGl0LXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtb3B0aW9uLWljb24tY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLyogT3B0aW9ucyBMaXN0ICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb25zIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDEwMCU7ICAvKiBNaW5pbXVtIFdpZHRoIG9mIHRoZSBkcm9wZG93biBsaXN0IGJveCBvcHRpb25zICovXG4gICp3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5OTk5O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSW5kaXZpZHVhbCBvcHRpb25zICovXG4gLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvcntcbiAgcGFkZGluZzogMCAycHg7XG59XG5cbi8qIEluZGl2aWR1YWwgT3B0aW9uIEhvdmVyIEFjdGlvbiAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSW5kaXZpZHVhbCBPcHRpb24gT3B0Z3JvdXAgSGVhZGVyICovXG4uc2VsZWN0Ym94aXQtb3B0aW9uLCAuc2VsZWN0Ym94aXQtb3B0Z3JvdXAtaGVhZGVyIHtcbiAgdGV4dC1pbmRlbnQ6IDVweDsgLyogSG9yaXpvbnRhbCBQb3NpdGlvbmluZyBvZiB0aGUgc2VsZWN0IGJveCBvcHRpb24gdGV4dCAqL1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLyogRHJvcCBEb3duIG9wdGdyb3VwIGhlYWRlcnMgKi9cbi5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogRHJvcCBEb3duIG9wdGdyb3VwIGhlYWRlciBob3ZlciBwc3VlZG8gY2xhc3MgKi9cbi5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXI6aG92ZXIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIERyb3AgRG93biBkb3duIGFycm93IGNvbnRhaW5lciAqL1xuLnNlbGVjdGJveGl0LWFycm93LWNvbnRhaW5lciB7XG4gIC8qIFBvc2l0aW9ucyB0aGUgZG93biBhcnJvdyAqL1xuICB3aWR0aDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuLyogRHJvcCBEb3duIGRvd24gYXJyb3cgKi9cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIC5zZWxlY3Rib3hpdC1hcnJvdyB7XG4gIC8qIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBkb3duIGFycm93ICovXG4gIG1hcmdpbjogLTVweCBhdXRvIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vKiBEcm9wIERvd24gZG93biBhcnJvdyBmb3IgalF1ZXJ5VUkgYW5kIGpRdWVyeSBNb2JpbGUgKi9cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIC5zZWxlY3Rib3hpdC1hcnJvdy51aS1pY29uIHtcbiAgdG9wOiAzMCU7XG59XG5cbi8qIERyb3AgRG93biBpbmRpdmlkdWFsIG9wdGlvbiBpY29uIHBvc2l0aW9uaW5nICovXG4uc2VsZWN0Ym94aXQtb3B0aW9uLWljb24tY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBEcm9wIERvd24gaW5kaXZpZHVhbCBvcHRpb24gaWNvbiBwb3NpdGlvbmluZyAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uLXVybCB7XG4gIHdpZHRoOiAxOHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc2VsZWN0Ym94aXQtcmVuZGVyaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICpkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgem9vbTogMSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTk5cHggIWltcG9ydGFudDtcbiAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG4vKiBqUXVlcnlVSSBhbmQgalF1ZXJ5IE1vYmlsZSBjb21wYXRhYmlsaXR5IGZpeCAtIEZlZWwgZnJlZSB0byByZW1vdmUgdGhpcyBzdHlsZSBpZiB5b3UgYXJlIG5vdCB1c2luZyBqUXVlcnkgTW9iaWxlICovXG4uanF1ZXJ5dWkgLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiBBbm90aGVyIGpRdWVyeVVJIGFuZCBqUXVlcnkgTW9iaWxlIGNvbXBhdGFiaWxpdHkgZml4IC0gRmVlbCBmcmVlIHRvIHJlbW92ZSB0aGlzIHN0eWxlIGlmIHlvdSBhcmUgbm90IHVzaW5nIGpRdWVyeSBNb2JpbGUgKi9cbi5qcXVlcnl1aSAudWktaWNvbi10cmlhbmdsZS0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDtcbn1cblxuLypcbiAgRGVmYXVsdCBUaGVtZVxuICAtLS0tLS0tLS0tLS0tXG4gIE5vdGU6IEZlZWwgZnJlZSB0byByZW1vdmUgYWxsIG9mIHRoZSBDU1MgdW5kZXJuZWF0aCB0aGlzIGxpbmUgaWYgeW91IGFyZSBub3QgdXNpbmcgdGhlIGRlZmF1bHQgdGhlbWVcbiovXG4uc2VsZWN0Ym94aXQtYnRuIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMxNGM5MTtcbn1cblxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmhvdmVyLFxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmZvY3VzLFxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmFjdGl2ZSB7XG4gIFxufVxuXG4uc2VsZWN0Ym94aXQtYnRuLnNlbGVjdGJveGl0LWVuYWJsZWQ6aG92ZXIsXG4uc2VsZWN0Ym94aXQtYnRuLnNlbGVjdGJveGl0LWVuYWJsZWQ6Zm9jdXMge1xuICBjb2xvcjogIzMzMzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2VsZWN0Ym94aXQtZGVmYXVsdC1hcnJvdyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYXJyb3cucG5nKSBuby1yZXBlYXQ7XG59XG5cbi5zZWxlY3Rib3hpdC1saXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMxNGM5MTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24tYW5jaG9yIHtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5zZWxlY3Rib3hpdC1saXN0ID4gLnNlbGVjdGJveGl0LWZvY3VzID4gLnNlbGVjdGJveGl0LW9wdGlvbi1hbmNob3Ige1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzljMDAwMDtcbn1cblxuLnNlbGVjdGJveGl0LWxpc3QgPiAuc2VsZWN0Ym94aXQtZGlzYWJsZWQgPiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvciB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBnbG9iYWxcclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMyMTk5ZTgsXHJcbiAgc2Vjb25kYXJ5OiAjNzc3LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2VjNTg0MCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxyXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxyXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xyXG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XHJcbn1cclxuXHJcbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxyXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XHJcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXHJcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XHJcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xyXG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcclxuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuXHJcbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xyXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XHJcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xyXG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XHJcblxyXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxyXG4gIC5mb3VuZGF0aW9uLW1xIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcclxuICB9XHJcblxyXG4gIGh0bWwge1xyXG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXHJcbiAgYm9keSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcblxyXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xyXG5cclxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgc2VsZWN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxyXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcclxuICAjbWFwX2NhbnZhcyxcclxuICAubWFwX2NhbnZhcyxcclxuICAubXFhLWRpc3BsYXkge1xyXG4gICAgaW1nLFxyXG4gICAgZW1iZWQsXHJcbiAgICBvYmplY3Qge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcblxyXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcclxuICAuaXMtdmlzaWJsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmlzLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XHJcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuICAvKipcclxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxyXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXHJcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxyXG4gICAqL1xyXG5cclxuICBodG1sIHtcclxuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAgICovXHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXHJcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICAgKiBhbmQgRmlyZWZveC5cclxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxyXG4gICAqL1xyXG5cclxuICBhcnRpY2xlLFxyXG4gIGFzaWRlLFxyXG4gIGRldGFpbHMsXHJcbiAgZmlnY2FwdGlvbixcclxuICBmaWd1cmUsXHJcbiAgZm9vdGVyLFxyXG4gIGhlYWRlcixcclxuICBoZ3JvdXAsXHJcbiAgbWFpbixcclxuICBtZW51LFxyXG4gIG5hdixcclxuICBzZWN0aW9uLFxyXG4gIHN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxyXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgKi9cclxuXHJcbiAgYXVkaW8sXHJcbiAgY2FudmFzLFxyXG4gIHByb2dyZXNzLFxyXG4gIHZpZGVvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxyXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXHJcbiAgICovXHJcblxyXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cclxuICAgKi9cclxuXHJcbiAgW2hpZGRlbl0sXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qIExpbmtzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAgICovXHJcblxyXG4gIGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXHJcbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxyXG4gICAqL1xyXG5cclxuICBhOmFjdGl2ZSxcclxuICBhOmhvdmVyIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG5cclxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgYWJiclt0aXRsZV0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICovXHJcblxyXG4gIGRmbiB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIG1hcmdpbjogMC42N2VtIDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxyXG4gICAqL1xyXG5cclxuICBtYXJrIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZjA7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgc3ViLFxyXG4gIHN1cCB7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgc3VwIHtcclxuICAgIHRvcDogLTAuNWVtO1xyXG4gIH1cclxuXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcblxyXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICAgKi9cclxuXHJcbiAgaW1nIHtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gICAqL1xyXG5cclxuICBzdmc6bm90KDpyb290KSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLyogR3JvdXBpbmcgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxyXG4gICAqL1xyXG5cclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAxZW0gNDBweDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgaHIge1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgcHJlIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBjb2RlLFxyXG4gIGtiZCxcclxuICBwcmUsXHJcbiAgc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICB9XHJcblxyXG4gIC8qIEZvcm1zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcclxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cclxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBidXR0b24sXHJcbiAgaW5wdXQsXHJcbiAgb3B0Z3JvdXAsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXHJcbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxyXG4gICAqL1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxyXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uLFxyXG4gIHNlbGVjdCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXHJcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gICAqL1xyXG5cclxuICBidXR0b24sXHJcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXHJcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uW2Rpc2FibGVkXSxcclxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gICAqL1xyXG5cclxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICAgKi9cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gICAqXHJcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gICAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcclxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXHJcbiAgICovXHJcblxyXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXHJcbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cclxuICAgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXHJcbiAgICovXHJcblxyXG4gIC8qIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG4gIH0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICAgKi9cclxuXHJcbiAgbGVnZW5kIHtcclxuICAgIGJvcmRlcjogMDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICAgKi9cclxuXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAgICovXHJcblxyXG4gIG9wdGdyb3VwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLyogVGFibGVzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gICAqL1xyXG5cclxuICB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgfVxyXG5cclxuICB0ZCxcclxuICB0aCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG4iLCIvKiogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQiBWZXJzaW9uIDYuMi4zIGZvdW5kYXRpb24uenVyYi5jb20gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlICovXG4vKiBTZWxlY3RCb3hJdCBjb250YWluZXIgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBTdHlsZXMgdGhhdCBhcHBseSB0byBhbGwgU2VsZWN0Qm94SXQgZWxlbWVudHMgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgKiB7IGZvbnQtc2l6ZTogMTRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgLyogUHJldmVudHMgdGV4dCBzZWxlY3Rpb24gKi8gLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7IC1tb3otdXNlci1zZWxlY3Q6IC1tb3otbm9uZTsgLW1zLXVzZXItc2VsZWN0OiBub25lOyAtby11c2VyLXNlbGVjdDogbm9uZTsgdXNlci1zZWxlY3Q6IG5vbmU7IG91dGxpbmU6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogQnV0dG9uICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdCB7IHdpZHRoOiAyMjZweCAhaW1wb3J0YW50OyAvKiBXaWR0aCBvZiB0aGUgZHJvcGRvd24gYnV0dG9uICovIGN1cnNvcjogcG9pbnRlcjsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEhlaWdodCBhbmQgVmVydGljYWwgQWxpZ25tZW50IG9mIFRleHQgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgc3BhbiwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtb3B0aW9ucyBhIHsgaGVpZ2h0OiAzNnB4OyAvKiBIZWlnaHQgb2YgdGhlIGRyb3AgZG93biAqLyBsaW5lLWhlaWdodDogMzZweDsgLyogVmVydGljYWxseSBwb3NpdGlvbnMgdGhlIGRyb3AgZG93biB0ZXh0ICovIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEZvY3VzIHBzZXVkbyBzZWxlY3RvciAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQ6Zm9jdXMgeyBvdXRsaW5lOiAwOyB9XG5cbi8qIERpc2FibGVkIE1vdXNlIEludGVyYWN0aW9uICovXG4uc2VsZWN0Ym94aXQuc2VsZWN0Ym94aXQtZGlzYWJsZWQsIC5zZWxlY3Rib3hpdC1vcHRpb25zIC5zZWxlY3Rib3hpdC1kaXNhYmxlZCB7IG9wYWNpdHk6IDAuNjU7IGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7IC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgLW1vei1ib3gtc2hhZG93OiBub25lOyBib3gtc2hhZG93OiBub25lOyBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogQnV0dG9uIFRleHQgKi9cbi5zZWxlY3Rib3hpdC10ZXh0IHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IGZsb2F0OiBsZWZ0OyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0Ym94aXQgLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7IG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLyogT3B0aW9ucyBMaXN0ICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb25zIHsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtaW4td2lkdGg6IDEwMCU7IC8qIE1pbmltdW0gV2lkdGggb2YgdGhlIGRyb3Bkb3duIGxpc3QgYm94IG9wdGlvbnMgKi8gKndpZHRoOiAxMDAlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGxpc3Qtc3R5bGU6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyZmxvdy15OiBhdXRvOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IG5vbmU7IHotaW5kZXg6IDk5OTk5OTk5OTk5OTk7IHRleHQtYWxpZ246IGxlZnQ7IC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgLW1vei1ib3gtc2hhZG93OiBub25lOyBib3gtc2hhZG93OiBub25lOyB9XG5cbi8qIEluZGl2aWR1YWwgb3B0aW9ucyAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvciB7IHBhZGRpbmc6IDAgMnB4OyB9XG5cbi8qIEluZGl2aWR1YWwgT3B0aW9uIEhvdmVyIEFjdGlvbiAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvcjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBJbmRpdmlkdWFsIE9wdGlvbiBPcHRncm91cCBIZWFkZXIgKi9cbi5zZWxlY3Rib3hpdC1vcHRpb24sIC5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXIgeyB0ZXh0LWluZGVudDogNXB4OyAvKiBIb3Jpem9udGFsIFBvc2l0aW9uaW5nIG9mIHRoZSBzZWxlY3QgYm94IG9wdGlvbiB0ZXh0ICovIG1hcmdpbjogMDsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi8qIERyb3AgRG93biBvcHRncm91cCBoZWFkZXJzICovXG4uc2VsZWN0Ym94aXQtb3B0Z3JvdXAtaGVhZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogRHJvcCBEb3duIG9wdGdyb3VwIGhlYWRlciBob3ZlciBwc3VlZG8gY2xhc3MgKi9cbi5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXI6aG92ZXIgeyBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogRHJvcCBEb3duIGRvd24gYXJyb3cgY29udGFpbmVyICovXG4uc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIHsgLyogUG9zaXRpb25zIHRoZSBkb3duIGFycm93ICovIHdpZHRoOiA0MnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB9XG5cbi8qIERyb3AgRG93biBkb3duIGFycm93ICovXG4uc2VsZWN0Ym94aXQgLnNlbGVjdGJveGl0LWFycm93LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtYXJyb3cgeyAvKiBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZG93biBhcnJvdyAqLyBtYXJnaW46IC01cHggYXV0byAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMDsgbGVmdDogMDsgfVxuXG4vKiBEcm9wIERvd24gZG93biBhcnJvdyBmb3IgalF1ZXJ5VUkgYW5kIGpRdWVyeSBNb2JpbGUgKi9cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIC5zZWxlY3Rib3hpdC1hcnJvdy51aS1pY29uIHsgdG9wOiAzMCU7IH1cblxuLyogRHJvcCBEb3duIGluZGl2aWR1YWwgb3B0aW9uIGljb24gcG9zaXRpb25pbmcgKi9cbi5zZWxlY3Rib3hpdC1vcHRpb24taWNvbi1jb250YWluZXIgeyBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb24taWNvbiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKiBEcm9wIERvd24gaW5kaXZpZHVhbCBvcHRpb24gaWNvbiBwb3NpdGlvbmluZyAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uLXVybCB7IHdpZHRoOiAxOHB4OyBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3Rib3hpdC1yZW5kZXJpbmcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgKmRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB6b29tOiAxICFpbXBvcnRhbnQ7IHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IHRvcDogLTk5OTlweCAhaW1wb3J0YW50OyBsZWZ0OiAtOTk5OXB4ICFpbXBvcnRhbnQ7IH1cblxuLyogalF1ZXJ5VUkgYW5kIGpRdWVyeSBNb2JpbGUgY29tcGF0YWJpbGl0eSBmaXggLSBGZWVsIGZyZWUgdG8gcmVtb3ZlIHRoaXMgc3R5bGUgaWYgeW91IGFyZSBub3QgdXNpbmcgalF1ZXJ5IE1vYmlsZSAqL1xuLmpxdWVyeXVpIC51aS1pY29uIHsgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuXG4vKiBBbm90aGVyIGpRdWVyeVVJIGFuZCBqUXVlcnkgTW9iaWxlIGNvbXBhdGFiaWxpdHkgZml4IC0gRmVlbCBmcmVlIHRvIHJlbW92ZSB0aGlzIHN0eWxlIGlmIHlvdSBhcmUgbm90IHVzaW5nIGpRdWVyeSBNb2JpbGUgKi9cbi5qcXVlcnl1aSAudWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsgfVxuXG4vKiBEZWZhdWx0IFRoZW1lIC0tLS0tLS0tLS0tLS0gTm90ZTogRmVlbCBmcmVlIHRvIHJlbW92ZSBhbGwgb2YgdGhlIENTUyB1bmRlcm5lYXRoIHRoaXMgbGluZSBpZiB5b3UgYXJlIG5vdCB1c2luZyB0aGUgZGVmYXVsdCB0aGVtZSAqL1xuLnNlbGVjdGJveGl0LWJ0biB7IGJvcmRlcjogMXB4IHNvbGlkICMzMTRjOTE7IH1cblxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmhvdmVyLCAuc2VsZWN0Ym94aXQtYnRuLnNlbGVjdGJveGl0LWVuYWJsZWQ6Zm9jdXMgeyBjb2xvcjogIzMzMzMzMzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZWxlY3Rib3hpdC1kZWZhdWx0LWFycm93IHsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9hcnJvdy5wbmcpIG5vLXJlcGVhdDsgfVxuXG4uc2VsZWN0Ym94aXQtbGlzdCB7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IGJvcmRlcjogMXB4IHNvbGlkICMzMTRjOTE7IHdpZHRoOiAxMDAlOyB9XG5cbi5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24tYW5jaG9yIHsgY29sb3I6ICMzMzMzMzM7IH1cblxuLnNlbGVjdGJveGl0LWxpc3QgPiAuc2VsZWN0Ym94aXQtZm9jdXMgPiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvciB7IGNvbG9yOiAjZmZmZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjOWMwMDAwOyB9XG5cbi5zZWxlY3Rib3hpdC1saXN0ID4gLnNlbGVjdGJveGl0LWRpc2FibGVkID4gLnNlbGVjdGJveGl0LW9wdGlvbi1hbmNob3IgeyBjb2xvcjogIzk5OTk5OTsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi4gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLiAqL1xuaHRtbCB7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uICovXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMSBhbmQgRmlyZWZveC4gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS4gKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuICovXG5hdWRpbywgY2FudmFzLCBwcm9ncmVzcywgdmlkZW8geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi8gdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovIH1cblxuLyoqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkgeyBkaXNwbGF5OiBub25lOyBoZWlnaHQ6IDA7IH1cblxuLyoqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC4gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLiAqL1xuW2hpZGRlbl0sIHRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLiAqL1xuYSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuIGFjdGl2ZS9ob3ZlciBzdGF0ZS4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHsgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS4gKi9cbmFiYnJbdGl0bGVdIHsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS4gKi9cbmRmbiB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuICovXG5oMSB7IGZvbnQtc2l6ZTogMmVtOyBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LiAqL1xubWFyayB7IGJhY2tncm91bmQ6ICNmZjA7IGNvbG9yOiAjMDAwOyB9XG5cbi8qKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy4gKi9cbnN1Yiwgc3VwIHsgZm9udC1zaXplOiA3NSU7IGxpbmUtaGVpZ2h0OiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuXG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLiAqL1xuaW1nIHsgYm9yZGVyOiAwOyB9XG5cbi8qKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS4gKi9cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuICovXG5maWd1cmUgeyBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuICovXG5ociB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBoZWlnaHQ6IDA7IH1cblxuLyoqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLiAqL1xucHJlIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy4gKi9cbmNvZGUsIGtiZCwgcHJlLCBzYW1wIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC4gKi9cbi8qKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS4gKi9cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHsgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi8gZm9udDogaW5oZXJpdDsgLyogMiAqLyBtYXJnaW46IDA7IC8qIDMgKi8gfVxuXG4vKiogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuICovXG5idXR0b24geyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKiogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guICovXG5idXR0b24sIHNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYCBjb250cm9scy4gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSBgaW5wdXRgIGFuZCBvdGhlcnMuICovXG5idXR0b24sIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi8gY3Vyc29yOiBwb2ludGVyOyAvKiAzICovIH1cblxuLyoqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuICovXG5idXR0b25bZGlzYWJsZWRdLCBodG1sIGlucHV0W2Rpc2FibGVkXSB7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IH1cblxuLyoqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW4gdGhlIFVBIHN0eWxlc2hlZXQuICovXG5pbnB1dCB7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy4gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC4gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC4gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAyICovIH1cblxuLyoqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLyoqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy4gW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLiAqL1xuLyogZmllbGRzZXQgeyBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOyBtYXJnaW46IDAgMnB4OyBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH0gKi9cbi8qKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy4gKi9cbmxlZ2VuZCB7IGJvcmRlcjogMDsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuICovXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLiAqL1xub3B0Z3JvdXAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuICovXG50YWJsZSB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLCB0aCB7IHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEgeyBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHsgZm9udC1zaXplOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkgeyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiBcIkdlb21ldHJpYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6ICMwYTBhMGE7IGJhY2tncm91bmQ6ICNmZWZlZmU7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHsgd2lkdGg6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLCAjbWFwX2NhbnZhcyBlbWJlZCwgI21hcF9jYW52YXMgb2JqZWN0LCAubWFwX2NhbnZhcyBpbWcsIC5tYXBfY2FudmFzIGVtYmVkLCAubWFwX2NhbnZhcyBvYmplY3QsIC5tcWEtZGlzcGxheSBpbWcsIC5tcWEtZGlzcGxheSBlbWJlZCwgLm1xYS1kaXNwbGF5IG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLW1vei1hcHBlYXJhbmNlOiBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwOyBsaW5lLWhlaWdodDogMTsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHsgb3V0bGluZTogMDsgfVxuXG4uaXMtdmlzaWJsZSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHsgbWF4LXdpZHRoOiAxMjE3cHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7IGNvbnRlbnQ6ICcgJzsgZGlzcGxheTogdGFibGU7IH1cblxuLnJvdzo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5yb3cgLnJvdyB7IG1heC13aWR0aDogbm9uZTsgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnJvdyAucm93IHsgbWFyZ2luLWxlZnQ6IC0xLjc1cmVtOyBtYXJnaW4tcmlnaHQ6IC0xLjc1cmVtOyB9IH1cblxuLnJvdyAucm93LmNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4ucm93LmV4cGFuZGVkIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5yb3cuZXhwYW5kZWQgLnJvdyB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMgeyB3aWR0aDogMTAwJTsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmctbGVmdDogMS4yNXJlbTsgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5jb2x1bW4sIC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAxLjc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtOyB9IH1cblxuLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7IGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNtYWxsLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHsgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHsgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHsgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIgeyB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMgeyB3aWR0aDogMTAwJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHsgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHsgd2lkdGg6IDMzLjMzMzMzJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHsgd2lkdGg6IDI1JTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHsgd2lkdGg6IDIwJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHsgd2lkdGg6IDE2LjY2NjY3JTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHsgd2lkdGg6IDE0LjI4NTcxJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHsgd2lkdGg6IDEyLjUlOyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdywgLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHsgZmxvYXQ6IG5vbmU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsIC5zbWFsbC1wdXNoLTAsIC5zbWFsbC1wdWxsLTAgeyBwb3NpdGlvbjogc3RhdGljOyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyBmbG9hdDogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7IHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7IHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHsgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHsgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMgeyB3aWR0aDogMzMuMzMzMzMlOyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7IHdpZHRoOiAyNSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHsgd2lkdGg6IDIwJTsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMgeyB3aWR0aDogMTYuNjY2NjclOyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7IHdpZHRoOiAxNC4yODU3MSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHsgd2lkdGg6IDEyLjUlOyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdywgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07IHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7IGZsb2F0OiBub25lOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS1wdXNoLTAsIC5tZWRpdW0tcHVsbC0wIHsgcG9zaXRpb246IHN0YXRpYzsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTggeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7IHdpZHRoOiA1MCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7IHdpZHRoOiAzMy4zMzMzMyU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7IHdpZHRoOiAyNSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7IHdpZHRoOiAyMCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7IHdpZHRoOiAxNi42NjY2NyU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7IHdpZHRoOiAxNC4yODU3MSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7IHdpZHRoOiAxMi41JTsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3csIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAxLjc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7IGZsb2F0OiBub25lOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtcHVzaC0wLCAubGFyZ2UtcHVsbC0wIHsgcG9zaXRpb246IHN0YXRpYzsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5kaXYsIGRsLCBkdCwgZGQsIHVsLCBvbCwgbGksIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHByZSwgZm9ybSwgcCwgYmxvY2txdW90ZSwgdGgsIHRkIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbnAgeyBmb250LXNpemU6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDFyZW07IHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sIGkgeyBmb250LXN0eWxlOiBpdGFsaWM7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZywgYiB7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7IGZvbnQtc2l6ZTogODAlOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgZm9udC1mYW1pbHk6IFwiR2VvbWV0cmlhXCIsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7IGNvbG9yOiAjY2FjYWNhOyBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmgyIHsgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmgzIHsgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuaDQgeyBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg1IHsgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYgeyBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyBoMSB7IGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7IGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHsgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQgeyBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7IGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEgeyBjb2xvcjogIzIxOTllODsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmE6aG92ZXIsIGE6Zm9jdXMgeyBjb2xvcjogIzE1ODVjZjsgfVxuXG5hIGltZyB7IGJvcmRlcjogMDsgfVxuXG5ociB7IG1heC13aWR0aDogMTIxN3B4OyBoZWlnaHQ6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLXRvcDogMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7IGJvcmRlci1sZWZ0OiAwOyBtYXJnaW46IDEuMjVyZW0gYXV0bzsgY2xlYXI6IGJvdGg7IH1cblxudWwsIG9sLCBkbCB7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDFyZW07IGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkgeyBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbm9sIHsgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wgeyBtYXJnaW4tbGVmdDogMS4yNXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuZGwgZHQgeyBtYXJnaW4tYm90dG9tOiAwLjNyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUgeyBtYXJnaW46IDAgMCAxcmVtOyBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG5cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAwLjgxMjVyZW07IGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGU6YmVmb3JlIHsgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIgeyBjb2xvcjogIzBhMGEwYTsgY3Vyc29yOiBoZWxwOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IH1cblxuY29kZSB7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogIzBhMGEwYTsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQgeyBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7IG1hcmdpbjogMDsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIgeyBtYXJnaW4tdG9wOiAwLjJyZW07IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNDsgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQgeyBmb250LXNpemU6IDEyNSU7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQgeyBmb250LXNpemU6IDIuNXJlbTsgbGluZS1oZWlnaHQ6IDE7IH1cblxucCArIC5zdGF0IHsgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7IG1hcmdpbi1sZWZ0OiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQgeyAqIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSwgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLCBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLCBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsIGJsb2NrcXVvdGUgeyBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhOyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cbiAgcCwgaDIsIGgzIHsgb3JwaGFuczogMzsgd2lkb3dzOiAzOyB9XG4gIGgyLCBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLypmb250cyovXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLmVvdFwiKTsgc3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUJvbGQuc3ZnI0dlb21ldHJpYS1Cb2xkXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90XCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUV4dHJhQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtRXh0cmFCb2xkLnN2ZyNHZW9tZXRyaWEtRXh0cmFCb2xkXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IDgwMDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ0dlb21ldHJpYSc7IHNyYzogdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LmVvdFwiKTsgc3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtTGlnaHQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LnN2ZyNHZW9tZXRyaWEtTGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpOyBmb250LXdlaWdodDogMzAwOyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJzsgc3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEuZW90XCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEuc3ZnI0dlb21ldHJpYVwiKSBmb3JtYXQoXCJzdmdcIik7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90XCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtTWVkaXVtLnN2ZyNHZW9tZXRyaWEtTWVkaXVtXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmJvZHkgeyBtaW4taGVpZ2h0OiAxMDAlOyBtaW4td2lkdGg6IDEyNTBweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmJvZHk6YmVmb3JlIHsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmcuanBnKSBuby1yZXBlYXQgY2VudGVyIDE2MHB4OyBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgei1pbmRleDogLTE7IH1cblxuaGVhZGVyIHsgcGFkZGluZy1ib3R0b206IDM1cHg7IH1cblxuaGVhZGVyIC5sb2dvIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogNTNweCAwIDAgNXB4OyB9XG5cbmhlYWRlciAuY29udGFjdHMgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiA2MXB4IDAgMCA0MXB4OyB9XG5cbmhlYWRlciAuY29udGFjdHMgLnRlbCB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDE0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaGVhZGVyIC5jb250YWN0cyAudGVsIGIgeyBmb250LXdlaWdodDogNTAwOyB9XG5cbmhlYWRlciAuY29udGFjdHMgLnRleHQgeyBtYXJnaW4tdG9wOiA4cHg7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDE0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaGVhZGVyIC5idXR0b25zIHsgZmxvYXQ6IHJpZ2h0OyBtYXgtd2lkdGg6IDE0MHB4OyB0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXRvcDogMzVweDsgfVxuXG5oZWFkZXIgLmJ1dHRvbnMgYSB7IG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uaC1saW5rcyB7IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDY2cHggMCAwIDk2cHg7IH1cblxuLmgtbGlua3MgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGxpbmUtaGVpZ2h0OiAyNHB4OyBtYXJnaW46IDAgMCAwIDQ2cHg7IH1cblxuLmgtbGlua3MgbGk6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaC1saW5rcyBsaSBhIHsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmgtbGlua3MgbGkgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uaC1saW5rcyBsaSBhOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtNDBweDsgfVxuXG4uaC1saW5rcyBsaSBhLmxpbmstMTpiZWZvcmUgeyB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tMS5wbmcpIG5vLXJlcGVhdDsgdG9wOiAtN3B4OyB9XG5cbi5oLWxpbmtzIGxpIGEubGluay0yOmJlZm9yZSB7IHdpZHRoOiAyN3B4OyBoZWlnaHQ6IDMxcHg7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi0yLnBuZykgbm8tcmVwZWF0OyB0b3A6IC03cHg7IGxlZnQ6IC0zMnB4OyB9XG5cbi5oLWxpbmtzIGxpIGEubGluay0zOmJlZm9yZSB7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDI4cHg7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi0zLnBuZykgbm8tcmVwZWF0OyB0b3A6IC00cHg7IGxlZnQ6IC0zNHB4OyB9XG5cbi5idXR0b24tYm9yZGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgIzMxNGM5MTsgYm9yZGVyLXJhZGl1czogMXB4OyBwYWRkaW5nOiA3cHggMTVweDsgY29sb3I6ICMzZDQzNTI7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJvcmRlci1yYWRpdXM6IDNweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5idXR0b24tYm9yZGVyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzMxNGM5MTsgY29sb3I6ICNmZmY7IH1cblxuLmhvbWUtdG9wIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiAxMjBweDsgfVxuXG4uaG9tZS10b3AgaDEgeyBmb250LXNpemU6IDYwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ob21lLXRvcCBoMyB7IGZvbnQtc2l6ZTogNDZweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbjogMDsgfVxuXG4uaG9tZS10b3AgLmJ1dHRvbnMgeyBtYXJnaW46IDQ1cHggMCAwOyB9XG5cbi5ob21lLXRvcCAuYnV0dG9ucyBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjQ2cHg7IGhlaWdodDogNThweDsgYmFja2dyb3VuZC1jb2xvcjogIzkwMDsgYm9yZGVyLXJhZGl1czogMXB4OyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDU4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbjogMCAxMHB4OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmhvbWUtdG9wIC5idXR0b25zIGE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lLCAuc2VydmljZS10aWxlcyB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IG1hcmdpbi10b3A6IDg5cHg7IHBhZGRpbmctdG9wOiAzN3B4OyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ10sIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXSB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogIzAwMDsgYm9yZGVyOiAxcHggc29saWQgI2JhZDFkZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgaGVpZ2h0OiAzMTFweDsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2VydmljZS10aWxlLWhvbWUgW2NsYXNzKj0nc2VydmljZSddOmhvdmVyLCAuc2VydmljZS10aWxlcyBbY2xhc3MqPSdzZXJ2aWNlJ106aG92ZXIgeyBib3JkZXItY29sb3I6ICM5MDA7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAuYmcsIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAuYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOyBib3JkZXItdG9wLWNvbG9yOiAjOTAwOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ106aG92ZXIgLnRleHQsIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAudGV4dCB7IGNvbG9yOiAjZmZmOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ106aG92ZXIgLm1vcmUsIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAubW9yZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuaWNvbiwgLnNlcnZpY2UtdGlsZXMgLmljb24geyBoZWlnaHQ6IDE1NXB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5uYW1lLCAuc2VydmljZS10aWxlcyAubmFtZSB7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5iZywgLnNlcnZpY2UtdGlsZXMgLmJnIHsgbWFyZ2luOiAyMHB4IC0xcHggMDsgcGFkZGluZy10b3A6IDFweDsgcGFkZGluZy1ib3R0b206IDFweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiYWQxZGY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBib3JkZXItdG9wLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4uc2VydmljZS10aWxlLWhvbWUgLnRleHQsIC5zZXJ2aWNlLXRpbGVzIC50ZXh0IHsgbWFyZ2luOiAyMnB4IDI1cHg7IGhlaWdodDogNjNweDsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogMzAwOyBjb2xvcjogYmxhY2s7IGxpbmUtaGVpZ2h0OiAxLjE7IHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5tb3JlLCAuc2VydmljZS10aWxlcyAubW9yZSB7IG1hcmdpbi1ib3R0b206IDE4cHg7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5tb3JlIGEsIC5zZXJ2aWNlLXRpbGVzIC5tb3JlIGEgeyBmb250LXNpemU6IDEzcHg7IGJvcmRlci1jb2xvcjogI2ZmZjsgY29sb3I6ICNmZmY7IHBhZGRpbmctbGVmdDogMzBweDsgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4uc2VydmljZS10aWxlLWhvbWUgLm1vcmUgYTpob3ZlciwgLnNlcnZpY2UtdGlsZXMgLm1vcmUgYTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjOTAwOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuc2VydmljZS0xIC5pY29uLCAuc2VydmljZS10aWxlcyAuc2VydmljZS0xIC5pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtMS5wbmcpOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuc2VydmljZS0yIC5pY29uLCAuc2VydmljZS10aWxlcyAuc2VydmljZS0yIC5pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtMi5wbmcpOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuc2VydmljZS0zIC5pY29uLCAuc2VydmljZS10aWxlcyAuc2VydmljZS0zIC5pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtMy5wbmcpOyB9XG5cbi5vYmplY3QtaG9tZSB7IG1hcmdpbi10b3A6IDk1cHg7IH1cblxuLm9iamVjdC1ob21lIC5saXN0IHsgbWFyZ2luLWxlZnQ6IC0zNXB4OyB9XG5cbi5vYmplY3QtaG9tZSAubGlzdDphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cblxuLm9iamVjdC1ob21lIC5vYmplY3QtaXRlbSB7IHdpZHRoOiAyNjRweDsgbWFyZ2luLWxlZnQ6IDM1cHg7IH1cblxuLm9iamVjdC1ob21lIC5hbGwtcHJvamVjdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogNDhweDsgfVxuXG4ub2JqZWN0LWhvbWUgLmFsbC1wcm9qZWN0IGEgeyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLm9iamVjdC1ob21lIC5hbGwtcHJvamVjdCBhOmhvdmVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5ibG9jay10aXRsZSB7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ub2JqZWN0LWl0ZW0geyBmbG9hdDogbGVmdDsgYm9yZGVyOiAxcHggc29saWQgI2JhZDFkZjsgfVxuXG4ub2JqZWN0LWl0ZW0gLm5hbWUgeyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHBhZGRpbmc6IDE1cHggMTRweCA4cHg7IGhlaWdodDogNzJweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLm5hbWUgYSB7IGNvbG9yOiAjMDAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4ub2JqZWN0LWl0ZW0gLm5hbWUgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ub2JqZWN0LWl0ZW0gLmltYWdlIHsgbWFyZ2luOiAwIC0xcHg7IH1cblxuLm9iamVjdC1pdGVtIC5pbmZvIHsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMTsgcGFkZGluZzogMTFweCAxNnB4IDFweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLmluZm8gPiBkaXYgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5vYmplY3QtaXRlbSAuaW5mbyBzcGFuIHsgY29sb3I6ICM5MDA7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLm9iamVjdC1pdGVtIC5ib3R0b20geyBib3JkZXItdG9wOiAxcHggc29saWQgI2JhZDFkZjsgcGFkZGluZzogMThweCAxNXB4IDhweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLmxvY2F0aW9uIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNDAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogMTZweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLmxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxNHB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tcGxhY2UucG5nKSBuby1yZXBlYXQ7IGxlZnQ6IDA7IHRvcDogMnB4OyB9XG5cbi5vYmplY3QtaXRlbSAucHJpY2UgeyBjb2xvcjogIzkwMDsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNTAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5hYm91dC1ob21lIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMjAsIDAuNyk7IHBhZGRpbmc6IDUwcHggMCA2MHB4OyB9XG5cbi5hYm91dC1ob21lIGgzIHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogMzAwOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hYm91dC1ob21lIHAgeyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBwYWRkaW5nOiAwIDEwcHg7IG1hcmdpbi1ib3R0b206IDI4cHg7IH1cblxuLmFib3V0LWhvbWUgLm9yZGVyIGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxNDZweDsgaGVpZ2h0OiAzOHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOyBib3JkZXItcmFkaXVzOiAxcHggMnB4IDJweCAxcHg7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDM4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjZmZmOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmFib3V0LWhvbWUgLm9yZGVyIGE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuLnNlcnZpY2UtdGlsZXMgeyBtYXJnaW4tdG9wOiA1MHB4OyBwYWRkaW5nLXRvcDogMDsgfVxuXG4uc2VydmljZS10aWxlcyBbY2xhc3MqPSdzZXJ2aWNlJ10geyBoZWlnaHQ6IDIzMXB4OyB9XG5cbmZvb3RlciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmFkMWRmOyBtYXJnaW4tdG9wOiA0MHB4OyBwYWRkaW5nOiA1MHB4IDA7IH1cblxuZm9vdGVyIC5oLWxpbmtzIHsgZmxvYXQ6IG5vbmU7IG1hcmdpbjogMCAwIDAgMzZweDsgfVxuXG5mb290ZXIgLmJvdHRvbSB7IG1hcmdpbi10b3A6IDcwcHg7IH1cblxuZm9vdGVyIC5jb3B5IHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZmxvYXQ6IGxlZnQ7IH1cblxuZm9vdGVyIC5kZXYgeyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNzFweDsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Rldi5wbmcpIG5vLXJlcGVhdDsgfVxuXG4uYmctd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5iZy13aGl0ZS5tYXJnaW4geyBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIHsgcGFkZGluZy10b3A6IDI2cHg7IHBhZGRpbmctYm90dG9tOiAyNnB4OyB9XG5cbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIFtjbGFzcyo9J3NlcnZpY2UtJ10geyBoZWlnaHQ6IDg0cHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjYmFkMWRmOyBkaXNwbGF5OiBibG9jazsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiA4NHB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwYWRkaW5nLWxlZnQ6IDg1cHg7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IGNlbnRlcjsgfVxuXG4uc2VydmljZS10aWxlcy1zbWFsbCBbY2xhc3MqPSdzZXJ2aWNlLSddOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjOWMwMDAwOyB9XG5cbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIC5zZXJ2aWNlLTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb24tc2Vydi1zbWFsbC0xLnBuZyk7IH1cblxuLnNlcnZpY2UtdGlsZXMtc21hbGwgLnNlcnZpY2UtMiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbi1zZXJ2LXNtYWxsLTIucG5nKTsgfVxuXG4uc2VydmljZS10aWxlcy1zbWFsbCAuc2VydmljZS0zIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtc21hbGwtMy5wbmcpOyB9XG5cbi5wYWdlLXRpdGxlIHsgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLnBhZ2UtdGl0bGUgaDEgeyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuI2NvbnRlbnQgeyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG5cbiNjb250ZW50IHAgeyBsaW5lLWhlaWdodDogaW5oZXJpdDsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uaS1uZXdzOmxhc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiA5MHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5pLW5ld3MgLnRpdGxlIHsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uaS1uZXdzIC5uZXdzIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cblxuLmktbmV3cyAubmV3czphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cblxuLmktbmV3cyAubmV3cyAuaW1hZ2UgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiA0cHggMjZweCAwIDA7IH1cblxuLmktbmV3cyAubmV3cyAuZGF0ZSB7IGZvbnQtc2l6ZTogMTRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5pLW5ld3MgLm5ld3MgLm5hbWUgeyBjb2xvcjogaW5oZXJpdDsgZm9udC13ZWlnaHQ6IDcwMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmktbmV3cyAubmV3cyAubmFtZTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uaS1uZXdzIC5uZXdzIC50ZXh0IHsgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5pLW5ld3MgLmFsbC1uZXdzIHsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAyNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4uaS1uZXdzIC5hbGwtbmV3czpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ub2JqZWN0LXBhZ2UgeyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4ub2JqZWN0LXBhZ2UgLnNvcnQgeyBtYXJnaW4tdG9wOiAtMTVweDsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ub2JqZWN0LXBhZ2UgLnNvcnQgbGFiZWwgeyBmb250LXNpemU6IDEycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiAzNnB4OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLm9iamVjdC1wYWdlIC5saXN0IHsgbWFyZ2luLWxlZnQ6IC0zNnB4OyB9XG5cbi5vYmplY3QtcGFnZSAubGlzdDphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cblxuLm9iamVjdC1wYWdlIC5vYmplY3QtaXRlbSB7IHdpZHRoOiA1NjJweDsgbWFyZ2luLWxlZnQ6IDM2cHg7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLm9iamVjdC1wYWdlIC5vYmplY3QtaXRlbSAubmFtZSB7IGhlaWdodDogYXV0bzsgcGFkZGluZy1ib3R0b206IDEycHg7IH1cblxuLm9iamVjdC1wYWdlIC5hbGwtcHJvamVjdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ub2JqZWN0LXBhZ2UgLmFsbC1wcm9qZWN0IGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAyOTZweDsgaGVpZ2h0OiAzOHB4OyBsaW5lLWhlaWdodDogMzhweDsgYmFja2dyb3VuZC1jb2xvcjogIzkwMDsgYm9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4OyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5vYmplY3QtcGFnZSAuYWxsLXByb2plY3QgYTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IG1hcm9vbjsgfVxuXG4uaW1hZ2UtbGVmdCB7IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDRweCAyNnB4IDAgMDsgfVxuXG4uc2VydmljZS1jb250YWluZXIgLnJvdyB7IHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG5cbi5ib3R0b20tb3JkZXItYnRuIHsgbWFyZ2luLXRvcDogMzhweDsgfVxuXG4uYm90dG9tLW9yZGVyLWJ0biBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTQ2cHg7IGhlaWdodDogMzhweDsgYmFja2dyb3VuZC1jb2xvcjogIzkwMDsgYm9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4OyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDM4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ib3R0b20tb3JkZXItYnRuIGE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuLm1hcC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogNTI4cHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLm1hcC1jb250YWluZXIgI3lhLW1hcCB7IGhlaWdodDogNTI4cHg7IHdpZHRoOiAxMDAlOyB9XG5cbi5tYXAtY29udGFpbmVyIC5tYXAtYm90dG9tIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgbGVmdDogMDsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY1LCA3NiwgODIsIDAuNTUpOyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDMwMDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRpbmc6IDE3cHggMTlweCAyN3B4OyB9XG5cbi5tYXAtY29udGFpbmVyIC5tYXAtYm90dG9tIGEgeyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMWIxYjE7IHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4ubWFwLWNvbnRhaW5lciAubWFwLWJvdHRvbSBhOmhvdmVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJyZWFkY3J1bWJzIHsgbWFyZ2luOiAtMjVweCAwIDMwcHg7IH1cblxuLmJyZWFkY3J1bWJzIGxpIHsgbGluZS1oZWlnaHQ6IDI0cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYnJlYWRjcnVtYnMgbGk6YmVmb3JlIHsgY29udGVudDogJy8nOyBtYXJnaW4tcmlnaHQ6IDRweDsgfVxuXG4uYnJlYWRjcnVtYnMgbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uYnJlYWRjcnVtYnMgbGkgYSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgY29sb3I6IGJsYWNrOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzc5ZDhhMTsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5icmVhZGNydW1icyBsaSBhOmhvdmVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm9iamVjdC10b3A6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogdGFibGU7IHdpZHRoOiAxMDAlOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA3MDlweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIHVsIHsgbWFyZ2luOiAwOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIC5pbWFnZS10aHVtYiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAyMHB4OyBsZWZ0OiAwOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIC5pbWFnZS10aHVtYiBhIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxNDBweDsgaGVpZ2h0OiA5MnB4OyBmbG9hdDogbGVmdDsgbWFyZ2luOiAwIDE4cHg7IGJvcmRlcjogM3B4IHNvbGlkICNlZGVkZTY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub2JqZWN0LXRvcCAub2JqZWN0LWltYWdlcyAuaW1hZ2UtdGh1bWIgYS5hY3RpdmU6YmVmb3JlIHsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvcmRlci1ib3R0b206IDE2cHggc29saWQgI2VkZWRlNjsgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDsgYm90dG9tOiAxMDAlOyBsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAtMTZweDsgfVxuXG4ub2JqZWN0LXRvcCAub2JqZWN0LWltYWdlcyAuYngtbmV4dCwgLm9iamVjdC10b3AgLm9iamVjdC1pbWFnZXMgLmJ4LXByZXYgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDIwcHg7IHRvcDogMTM4cHg7IHdpZHRoOiAzOXB4OyBoZWlnaHQ6IDk5cHg7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDA7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvdy1sZWZ0LnBuZyk7IH1cblxuLm9iamVjdC10b3AgLm9iamVjdC1pbWFnZXMgLmJ4LW5leHQgeyBsZWZ0OiBhdXRvOyByaWdodDogMjBweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvdy1yaWdodC5wbmcpOyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDQwN3B4OyBtYXJnaW4tdG9wOiAtNXB4OyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCB1bCB7IG1hcmdpbjogMDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgdWwgbGkgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCB1bCBsaSBiIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgdWwucGFyYW1zIGIgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAxMjBweDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgLmNvbnRhY3RzIHsgbWFyZ2luLXRvcDogNjVweDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgLmNvbnRhY3RzIC50aXRsZSB7IGZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgLmNvbnRhY3RzIC5vcmRlciB7IG1hcmdpbi10b3A6IDE1cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDE0NnB4OyBoZWlnaHQ6IDM4cHg7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7IGJvcmRlci1yYWRpdXM6IDFweCAycHggMnB4IDFweDsgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMzhweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCAuY29udGFjdHMgLm9yZGVyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogbWFyb29uOyB9XG5cbi5vYmplY3Qtb3B0aW9ucyB7IG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLm9iamVjdC1vcHRpb25zIC50aXRsZSB7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4ub2JqZWN0LW9wdGlvbnMgLnRpdGxlLTIgeyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLm9iamVjdC1vcHRpb25zIC50ZXh0IHsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMTRweDsgfVxuXG4ub2JqZWN0LW9wdGlvbnMgLm9wdGlvbnMgeyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5vYmplY3Qtb3B0aW9ucyAub3B0aW9ucyB0YWJsZSB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMzMuMzMlOyB9XG5cbi5vYmplY3Qtb3B0aW9ucyAub3B0aW9ucyB0YWJsZSB0ZCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLm9iamVjdC1vcHRpb25zIC5vcHRpb25zIHRhYmxlIHRkOmZpcnN0LWNoaWxkIHsgd2lkdGg6IDI4MHB4OyBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG5cbi5vYmplY3QtZGVzcmlwdGlvbnMgeyBtYXJnaW4tdG9wOiA1NXB4OyB9XG5cbi5vYmplY3QtZGVzcmlwdGlvbnMgLnRpdGxlIHsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5vYmplY3QtZGVzcmlwdGlvbnMgLnRleHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmRjOyBwYWRkaW5nOiAzMHB4IDAgMzVweDsgfVxuXG4ub2JqZWN0LWluLW1hcCB7IG1hcmdpbi10b3A6IDQ1cHg7IH1cblxuLm9iamVjdC1pbi1tYXAgLnRpdGxlIHsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5vYmplY3QtaW4tbWFwICN5YS1tYXAgeyBoZWlnaHQ6IDI2MHB4OyB3aWR0aDogMTAwJTsgfVxuXG4ub2JqZWN0LXBsYW4geyBtYXJnaW4tdG9wOiA0NXB4OyB9XG5cbi5vYmplY3QtcGxhbiAudGl0bGUgeyBmb250LXNpemU6IDMwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLm9iamVjdC1wbGFuIHVsIHsgbWFyZ2luOiAwOyB9XG5cbi5vYmplY3QtcGxhbiB1bCBsaSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vYmplY3QtcGxhbiB1bCBsaSAucGxhbiB7IGhlaWdodDogMTczcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjYmFkMWRmOyB9XG5cbi5vYmplY3QtY2FsYyB7IG1hcmdpbi10b3A6IDQ1cHg7IH1cblxuLm9iamVjdC1jYWxjIC50aXRsZSB7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgeyBtYXJnaW46IDA7IH1cblxuLm9iamVjdC1jYWxjIHVsIGxpIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgbGk6YmVmb3JlIHsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDExcHg7IGJhY2tncm91bmQtY29sb3I6ICNlZGVkZTY7IHotaW5kZXg6IC0xOyBsZWZ0OiAwOyB0b3A6IDdweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgbGkgc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgbGkgc3BhbjpsYXN0LWNoaWxkIHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMjRweDsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuLmFib3V0LWNvbnRhaW5lciAuYmctd2hpdGUgeyBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH1cblxuLm5ld3MtZGV0YWlscy1jb250YWluZXIgLmJnLXdoaXRlIHsgcGFkZGluZy1ib3R0b206IDcwcHg7IH1cblxuLm5ld3MtZGV0YWlscy1kYXRlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tYm90dG9tOiAtMTVweDsgfVxuXG4uc2VydmljZXMtY29udGFpbmVyIC5iZy13aGl0ZSB7IHBhZGRpbmctYm90dG9tOiAxODBweDsgfVxuXG4ubmV3cy1tZW51IHsgbWFyZ2luOiAwOyB9XG5cbi5uZXdzLW1lbnUgbGkgeyBkaXNwbGF5OiBibG9jazsgbGluZS1oZWlnaHQ6IDM2cHg7IH1cblxuLm5ld3MtbWVudSBsaSBhIHsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDE2cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5uZXdzLW1lbnUgbGkgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ubmV3cy1jb250YWluZXIgLmktbmV3cyB7IG1hcmdpbjogMDsgfVxuXG4uc2hvdy1tb3JlLW5ld3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAzMDFweDsgaGVpZ2h0OiAzOHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOyBib3JkZXItcmFkaXVzOiAxcHggMnB4IDJweCAxcHg7IGNvbG9yOiB3aGl0ZTsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMzhweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1hbGlnbjogY2VudGVyOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLnNob3ctbW9yZS1uZXdzOmhvdmVyIHsgY29sb3I6IHdoaXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjQwcHgpIHsgYm9keSB7IG1pbi13aWR0aDogNjQwcHg7IH1cbiAgYm9keTpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMjEwcHg7IH1cbiAgaGVhZGVyIHsgcGFkZGluZy10b3A6IDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBoZWFkZXIgLmxvZ28geyBtYXJnaW4tdG9wOiAwOyBmbG9hdDogbm9uZTsgfVxuICBoZWFkZXIgLmJ1dHRvbnMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgcmlnaHQ6IDIwcHg7IG1hcmdpbi10b3A6IDA7IG1heC13aWR0aDogbm9uZTsgfVxuICBoZWFkZXIgLmJ1dHRvbnMgYSB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuICBoZWFkZXIgLmNvbnRhY3RzIHsgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICBoZWFkZXIgLmNvbnRhY3RzIC50ZWwgeyBmb250LXNpemU6IDIycHg7IH1cbiAgaGVhZGVyIC5jb250YWN0cyAudGV4dCB7IGZvbnQtc2l6ZTogMThweDsgfVxuICAuaC1saW5rcyB7IGZsb2F0OiBub25lOyBtYXJnaW46IDMwcHggMCAwIDQwcHg7IH1cbiAgLmgtbGlua3MgbGkgYSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAuYnV0dG9uLWJvcmRlciB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgLmhvbWUtdG9wIHsgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuaG9tZS10b3AgLmJ1dHRvbnMgYSB7IGZvbnQtc2l6ZTogMjBweDsgd2lkdGg6IDI3MHB4OyBoZWlnaHQ6IDY0cHg7IGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSwgLnNlcnZpY2UtdGlsZXMgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ10sIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXSB7IGhlaWdodDogYXV0bzsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuc2VydmljZS10aWxlLWhvbWUgLm1vcmUsIC5zZXJ2aWNlLXRpbGVzIC5tb3JlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlcnZpY2UtdGlsZS1ob21lIC5tb3JlIGEsIC5zZXJ2aWNlLXRpbGVzIC5tb3JlIGEgeyBib3JkZXItY29sb3I6ICMzMTRjOTE7IGNvbG9yOiAjMzE0YzkxOyBmb250LXNpemU6IDIwcHg7IGJvcmRlci13aWR0aDogMnB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSAubmFtZSwgLnNlcnZpY2UtdGlsZXMgLm5hbWUgeyBmb250LXNpemU6IDQwcHg7IHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSAudGV4dCwgLnNlcnZpY2UtdGlsZXMgLnRleHQgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnNlcnZpY2UtdGlsZS1ob21lIC5iZywgLnNlcnZpY2UtdGlsZXMgLmJnIHsgbWFyZ2luLXRvcDogMDsgfVxuICAuYmxvY2stdGl0bGUgeyBmb250LXNpemU6IDQycHg7IH1cbiAgLm9iamVjdC1ob21lIHsgbWFyZ2luLXRvcDogNDBweDsgfVxuICAub2JqZWN0LWhvbWUgLmxpc3QgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAub2JqZWN0LWhvbWUgLm9iamVjdC1pdGVtIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBub25lOyBtYXJnaW4tbGVmdDogMDsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5vYmplY3QtaG9tZSAuYWxsLXByb2plY3QgYSB7IGZvbnQtc2l6ZTogMjhweDsgfVxuICAub2JqZWN0LWl0ZW0geyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5vYmplY3QtaXRlbSAubmFtZSB7IGZvbnQtc2l6ZTogMjRweDsgaGVpZ2h0OiA4OHB4OyB9XG4gIC5vYmplY3QtaXRlbSAuaW5mbyB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAub2JqZWN0LWl0ZW0gLmltYWdlIGltZyB7IHdpZHRoOiAxMDAlOyB9XG4gIC5vYmplY3QtaXRlbSAubG9jYXRpb24geyBmb250LXNpemU6IDIwcHg7IH1cbiAgLm9iamVjdC1pdGVtIC5sb2NhdGlvbjpiZWZvcmUgeyB0b3A6IDdweDsgfVxuICAub2JqZWN0LWl0ZW0gLnByaWNlIHsgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5hYm91dC1ob21lIGgzIHsgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5hYm91dC1ob21lIHAgeyBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgLmFib3V0LWhvbWUgLm9yZGVyIGEgeyBmb250LXNpemU6IDIwcHg7IGhlaWdodDogNDJweDsgbGluZS1oZWlnaHQ6IDQycHg7IH1cbiAgZm9vdGVyIC5jb3B5IHsgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5wYWdlLXRpdGxlIGgxIHsgZm9udC1zaXplOiA0MnB4OyB9XG4gICNjb250ZW50IHAgeyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgYm9keTpub3QoLnBhZ2UtaXMtaW5kZXgpICNjb250ZW50IGRpdiA+IC5iZy13aGl0ZSB7IHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5uZXdzLWRldGFpbHMtZGF0ZSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAuYnJlYWRjcnVtYnMgbGkgYSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAubWFwLWNvbnRhaW5lciAubWFwLWJvdHRvbSB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAuaS1uZXdzIC5uZXdzIHsgcGFkZGluZy1yaWdodDogMDsgZm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIC5pLW5ld3MgLm5ld3MgLm5hbWUgeyBmb250LXNpemU6IDIycHg7IH1cbiAgLmktbmV3cyAubmV3cyAuZGF0ZSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAuaS1uZXdzIC5hbGwtbmV3cyB7IGZvbnQtc2l6ZTogMjZweDsgfVxuICAubmV3cy1tZW51IHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAubmV3cy1tZW51IGxpIGEgeyBmb250LXNpemU6IDI0cHg7IH1cbiAgLnNob3ctbW9yZS1uZXdzIHsgZm9udC1zaXplOiAyMHB4OyBoZWlnaHQ6IDUwcHg7IGxpbmUtaGVpZ2h0OiA1MHB4OyB3aWR0aDogYXV0bzsgcGFkZGluZzogMCAzMHB4OyB9XG4gIC5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIHsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAxMDAlOyB9XG4gIC5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIC5pbWFnZS10aHVtYiBhIHsgd2lkdGg6IDExNHB4OyBoZWlnaHQ6IGF1dG87IH1cbiAgLm9iamVjdC10b3AgLnJpZ2h0IHsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAxMDAlOyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5vYmplY3QtdG9wIC5yaWdodCB1bCBsaSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAub2JqZWN0LXRvcCAucmlnaHQgdWwucGFyYW1zIGIgeyB3aWR0aDogMTkwcHg7IH1cbiAgLm9iamVjdC10b3AgLnJpZ2h0IC5jb250YWN0cyAudGl0bGUgeyBmb250LXNpemU6IDI4cHg7IH1cbiAgLm9iamVjdC10b3AgLnJpZ2h0IC5jb250YWN0cyAub3JkZXIgeyBmb250LXNpemU6IDIwcHg7IGhlaWdodDogNTBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IHBhZGRpbmc6IDAgMzBweDsgd2lkdGg6IGF1dG87IH1cbiAgLm9iamVjdC1vcHRpb25zIC50aXRsZSB7IGZvbnQtc2l6ZTogMzRweDsgfVxuICAub2JqZWN0LW9wdGlvbnMgLnRpdGxlLTIgeyBmb250LXNpemU6IDI4cHg7IH1cbiAgLm9iamVjdC1vcHRpb25zIC50ZXh0IHsgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5vYmplY3Qtb3B0aW9ucyAub3B0aW9ucyB0YWJsZSB7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDIwcHg7IH1cbiAgLm9iamVjdC1vcHRpb25zIC5vcHRpb25zIHRhYmxlIHRkIHsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAub2JqZWN0LW9wdGlvbnMgLm9wdGlvbnMgdGFibGUgdGQ6Zmlyc3QtY2hpbGQgeyB3aWR0aDogNDAwcHg7IH1cbiAgLm9iamVjdC1kZXNyaXB0aW9ucyAudGl0bGUgeyBmb250LXNpemU6IDM0cHg7IH1cbiAgLm9iamVjdC1kZXNyaXB0aW9ucyAudGV4dCB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAub2JqZWN0LWluLW1hcCAudGl0bGUgeyBmb250LXNpemU6IDM0cHg7IH1cbiAgLm9iamVjdC1wbGFuIC50aXRsZSB7IGZvbnQtc2l6ZTogMzRweDsgfVxuICAub2JqZWN0LWNhbGMgLnRpdGxlIHsgZm9udC1zaXplOiAzNHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIC5vYmplY3QtY2FsYyB1bCBsaSB7IGZvbnQtc2l6ZTogMjBweDsgZm9udC1zaXplOiA0MDA7IH1cbiAgLm9iamVjdC1jYWxjIHVsIGxpIGIgeyBmb250LXNpemU6IDIycHg7IH1cbiAgLm9iamVjdC1wYWdlIC5zb3J0IGxhYmVsIHsgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5vYmplY3QtcGFnZSAuYWxsLXByb2plY3QgYSB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IGhlaWdodDogNTBweDsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDAgMzBweDsgfVxuICAuc2VsZWN0Ym94aXQtY29udGFpbmVyICogeyBmb250LXNpemU6IDIwcHg7IH1cbiAgLmJvdHRvbS1vcmRlci1idG4gYSB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IGhlaWdodDogNTBweDsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDAgMzBweDsgfSB9XG5cbi8qcHJpbnQgc3R5bGVzKi9cbi5wYWdlLWlzLXByaW50IHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnByaW50LWNvbnRlaW5lciB7IHdpZHRoOiA3MTZweDsgbWFyZ2luOiAwIGF1dG87IH1cblxuLnByaW50LWNvbnRlaW5lciBoMSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucHJpbnQtY29udGVpbmVyIGgzIHsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wcmludC1jb250ZWluZXIgcCB7IGZvbnQtc2l6ZTogMTZweDsgfVxuXG4ucHJpbnQtaGVhZGVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZy10b3A6IDU1cHg7IHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG5cbi5wcmludC1oZWFkZXIgLnByaW50LWxvZ28geyBmbG9hdDogbGVmdDsgfVxuXG4ucHJpbnQtaGVhZGVyIC5yaWdodCB7IGZsb2F0OiByaWdodDsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogMzAwOyBsaW5lLWhlaWdodDogMTRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogMjNweDsgfVxuXG4ucHJpbnQtaGVhZGVyIC5yaWdodCBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMjVweDsgfVxuXG4ucHJpbnQtbG9jYXRpb24geyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnByaW50LWltYWdlcyB7IG92ZXJmbG93OiBoaWRkZW47IG1hcmdpbi1sZWZ0OiAtNDJweDsgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5wcmludC1pbWFnZXMgaW1nIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1sZWZ0OiA0MnB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5wcmludC1vcHRpb25zIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMThweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgd2lkdGg6IDEwMCU7IG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLnByaW50LW9wdGlvbnMgdGQgeyBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4ucHJpbnQtb3B0aW9ucyB0ZDpmaXJzdC1jaGlsZCB7IHdpZHRoOiAzNzlweDsgfVxuXG4ucHJpbnQtc2l0ZS11cmwgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5wcmludC1pbi1tYXAgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNS4gRHJpbGxkb3duXHJcbi8vICAxNi4gRHJvcGRvd25cclxuLy8gIDE3LiBEcm9wZG93biBNZW51XHJcbi8vICAxOC4gRmxleCBWaWRlb1xyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmV2ZWFsXHJcbi8vICAyOS4gU2xpZGVyXHJcbi8vICAzMC4gU3dpdGNoXHJcbi8vICAzMS4gVGFibGVcclxuLy8gIDMyLiBUYWJzXHJcbi8vICAzMy4gVGh1bWJuYWlsXHJcbi8vICAzNC4gVGl0bGUgQmFyXHJcbi8vICAzNS4gVG9vbHRpcFxyXG4vLyAgMzYuIFRvcCBCYXJcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogMTIxN3B4O1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMyMTk5ZTgsXHJcbiAgc2Vjb25kYXJ5OiAjNzc3LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2VjNTg0MCxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMGEwYTBhO1xyXG4kd2hpdGU6ICNmZWZlZmU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJ0dlb21ldHJpYScsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDI4cHg7XHJcbiRnbG9iYWwtcGFkZGluZzogMjhweDtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogNDBweCxcclxuICBtZWRpdW06IDU2cHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogMjQsXHJcbiAgICAnaDInOiAyMCxcclxuICAgICdoMyc6IDE5LFxyXG4gICAgJ2g0JzogMTgsXHJcbiAgICAnaDUnOiAxNyxcclxuICAgICdoNic6IDE2LFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiA0OCxcclxuICAgICdoMic6IDQwLFxyXG4gICAgJ2gzJzogMzEsXHJcbiAgICAnaDQnOiAyNSxcclxuICAgICdoNSc6IDIwLFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE1LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuLy8gMTYuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTcuIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDE4LiBGbGV4IFZpZGVvXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XHJcblxyXG4vLyAxOS4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMC4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXppbmRleDogLTE7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcclxuXHJcbi8vIDI1LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjYuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOC4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDI5LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzAuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMxLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzIuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gMzMuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzQuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyAzNS4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNi4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cclxuQG1peGluIGNzcy10cmlhbmdsZShcclxuICAkdHJpYW5nbGUtc2l6ZSxcclxuICAkdHJpYW5nbGUtY29sb3IsXHJcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxyXG4pIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cclxuQG1peGluIGhhbWJ1cmdlcihcclxuICAkY29sb3I6ICRibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IlMjgje3JlZCgkY29sb3IpfSwgI3tncmVlbigkY29sb3IpfSwgI3tibHVlKCRjb2xvcil9JTI5JztcclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XHJcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cclxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXHJcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xyXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyAnO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZmxleC1iYXNpczogMDtcclxuICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXHJcbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cclxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XHJcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXHJcbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xyXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXHJcbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbn1cclxuXHJcbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY2xpcDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXHJcbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xyXG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XHJcblxyXG4gIEBpZiBub3QgJHNtYWxsIHtcclxuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XHJcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXHJcbiAgJHJvdzogJ3JvdycsXHJcbiAgJGNvbHVtbjogJ2NvbHVtbicsXHJcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcclxuICAkcHVzaDogJ3B1c2gnLFxyXG4gICRwdWxsOiAncHVsbCcsXHJcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcclxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcclxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXHJcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcclxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcclxuICAkZW5kOiAnZW5kJyxcclxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCdcclxuKSB7XHJcbiAgLy8gUm93XHJcbiAgLiN7JHJvd30ge1xyXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XHJcblxyXG4gICAgLy8gQ29sbGFwc2luZ1xyXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xyXG4gICAgICA+IC4jeyRjb2x1bW59IHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lc3RpbmdcclxuICAgICYgJiB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XHJcblxyXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xyXG4gICAgJi4jeyRleHBhbmRlZH0ge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcblxyXG4gICAgICAuI3skcm93fSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb2x1bW5cclxuICAuI3skY29sdW1ufSB7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcclxuXHJcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xyXG4gICAgICAmLiN7JGVuZH0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29sdW1uIHJvd1xyXG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcclxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcblxyXG4gICAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXHJcbiAgICAuI3skcm93fSAmIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XHJcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxyXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXHJcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIE9mZnNldHNcclxuICAgICAgJG86ICRpIC0gMTtcclxuXHJcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJsb2NrIGdyaWRcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcclxuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksIFwiLiN7JGNvbHVtbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcclxuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcclxuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XHJcblxyXG4gICAgICAuI3skcm93fSxcclxuICAgICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9ICYuI3skcm93fSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XHJcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XHJcblxyXG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyKTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFBvc2l0aW9uaW5nXHJcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxyXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXHJcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXHJcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcclxuICAgIC5jb2x1bW5zIHtcclxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxyXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxyXG4vLy8gQGNvbnRlbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cclxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cclxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cclxuQG1peGluIGdyaWQtY29udGV4dChcclxuICAkY29sdW1ucyxcclxuICAkcm9vdDogZmFsc2VcclxuKSB7XHJcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XHJcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xyXG5cclxuICBAaWYgJHJvb3Qge1xyXG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcclxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXHJcbi8vLyBAY29udGVudFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxyXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXHJcbkBtaXhpbiBncmlkLXJvdyhcclxuICAkY29sdW1uczogbnVsbCxcclxuICAkYmVoYXZpb3I6IG51bGwsXHJcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXHJcbiAgJGNmOiB0cnVlLFxyXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcclxuKSB7XHJcbiAgJG1hcmdpbjogYXV0bztcclxuXHJcbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xyXG5cclxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcblxyXG4gIEBpZiAkY2Yge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxyXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XHJcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xyXG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcclxuICB9XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xyXG4gICAgJG1hcmdpbjogcmVtLWNhbGMoJHZhbHVlKSAvIDIgKiAtMTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxyXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXHJcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBicmVha3BvaW50c1xyXG4vLy8vXHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxyXG5cclxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xyXG5cclxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xyXG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcclxufVxyXG5AZWxzZSB7XHJcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcclxufVxyXG5cclxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcclxuICAvLyBTaXplIG9yIGtleXdvcmRcclxuICAkYnA6IG50aCgkdmFsLCAxKTtcclxuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcclxuICAkYnAtbWF4OiAwO1xyXG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXHJcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XHJcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XHJcbiAgJHN0cjogJyc7XHJcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cclxuICAkbmFtZWQ6IGZhbHNlO1xyXG5cclxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XHJcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XHJcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xyXG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XHJcbiAgfVxyXG5cclxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXHJcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcclxuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xyXG4gICAgICAkbmFtZWQ6IHRydWU7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICRicDogMDtcclxuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cclxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xyXG4gIEBpZiAkYnAtbWF4IHtcclxuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcclxuICB9XHJcblxyXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxyXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXHJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcclxuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcclxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XHJcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxyXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xyXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXHJcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xyXG5cclxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXHJcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcclxuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXHJcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xyXG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XHJcblxyXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcclxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxyXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XHJcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXHJcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xyXG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyO1xyXG59XHJcblxyXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxyXG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXHJcbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cclxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxyXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuLy8vXHJcbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cclxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XHJcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcclxuICAkc3RyOiAnJztcclxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XHJcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xyXG4gIH1cclxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxyXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcclxuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcclxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG5cclxuICAvLyBHaGV0dG8gZm9yIGxvb3BcclxuICAkaTogMTtcclxuICAkZm91bmQ6IGZhbHNlO1xyXG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xyXG4gICAgQGlmICRmb3VuZCA9PSBmYWxzZSB7XHJcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XHJcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgICRpOiAkaSArIDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXHJcbiAgQGlmICRpID4gbGVuZ3RoKCRtYXApIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XHJcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxyXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xyXG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxyXG4gIEBlbHNlIHtcclxuICAgICRhbmNob3I6IG51bGw7XHJcbiAgICAkZm91bmQ6IGZhbHNlO1xyXG5cclxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgICAgQGlmIG5vdCAkZm91bmQge1xyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XHJcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xyXG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xyXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXHJcbiRzbWFsbC11cDogbnVsbDtcclxuJHNtYWxsLW9ubHk6IG51bGw7XHJcbiRtZWRpdW0tdXA6IG51bGw7XHJcbiRtZWRpdW0tb25seTogbnVsbDtcclxuJGxhcmdlLXVwOiBudWxsO1xyXG4kbGFyZ2Utb25seTogbnVsbDtcclxuJHhsYXJnZS11cDogbnVsbDtcclxuJHhsYXJnZS1vbmx5OiBudWxsO1xyXG4keHhsYXJnZS11cDogbnVsbDtcclxuJHh4bGFyZ2Utb25seTogbnVsbDtcclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XHJcbiAgJHNtYWxsLXVwOiBzY3JlZW47XHJcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcclxuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xyXG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xyXG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xyXG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XHJcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcclxuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xyXG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcclxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XHJcbikge1xyXG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcclxuQG1peGluIGdyaWQtY29sLXNpemUoXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxyXG4pIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xyXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcclxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxyXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXHJcbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxyXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcclxuICAkd2lkdGg6IDAlO1xyXG5cclxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcclxuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xyXG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XHJcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXHJcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcclxuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xyXG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcclxuICBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR3aWR0aDtcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xyXG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XHJcblxyXG4gIC8vIEd1dHRlcnNcclxuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XHJcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xyXG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XHJcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XHJcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcclxuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXHJcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxyXG4pIHtcclxuICBAaW5jbHVkZSBncmlkLXJvdztcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcclxuXHJcbiAgJixcclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cclxuQGZ1bmN0aW9uIGdyaWQtY29sKFxyXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcclxuKSB7XHJcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxyXG5AbWl4aW4gZ3JpZC1jb2woXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcclxuQG1peGluIGdyaWQtY29sLXJvdyhcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XHJcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XHJcbn1cclxuXHJcbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cclxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XHJcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcclxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXHJcbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxyXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XHJcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxyXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cclxuQG1peGluIGdyaWQtbGF5b3V0KFxyXG4gICRuLFxyXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXHJcbikge1xyXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XHJcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xyXG5cclxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcclxuICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cclxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XHJcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xyXG4gICAgQGlmICRpID09IDEge1xyXG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxyXG4vLy8vXHJcblxyXG4vLyBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxyXG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cclxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cclxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxyXG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cclxuLy8gICAtIEFuY2hvcnMgPGE+XHJcbi8vICAgLSBEaXZpZGVycyA8aHI+XHJcbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxyXG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XHJcbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cclxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XHJcbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XHJcbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogMjQsXHJcbiAgICAnaDInOiAyMCxcclxuICAgICdoMyc6IDE5LFxyXG4gICAgJ2g0JzogMTgsXHJcbiAgICAnaDUnOiAxNyxcclxuICAgICdoNic6IDE2LFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiA0OCxcclxuICAgICdoMic6IDQwLFxyXG4gICAgJ2gzJzogMzEsXHJcbiAgICAnaDQnOiAyNSxcclxuICAgICdoNSc6IDIwLFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xyXG5cclxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xyXG5cclxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xyXG5cclxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcclxuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xyXG4gIGRpdixcclxuICBkbCxcclxuICBkdCxcclxuICBkZCxcclxuICB1bCxcclxuICBvbCxcclxuICBsaSxcclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNixcclxuICBwcmUsXHJcbiAgZm9ybSxcclxuICBwLFxyXG4gIGJsb2NrcXVvdGUsXHJcbiAgdGgsXHJcbiAgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8vIFBhcmFncmFwaHNcclxuICBwIHtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuICB9XHJcblxyXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJvbmcgdGV4dFxyXG4gIHN0cm9uZyxcclxuICBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTbWFsbCB0ZXh0XHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nc1xyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XHJcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhlYWRpbmcgc2l6ZXNcclxuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xyXG4gICAgICAgICN7JGhlYWRlcn0ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExpbmtzXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xyXG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3Jpem9udGFsIHJ1bGVcclxuICBociB7XHJcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC8vIExpc3RzXHJcbiAgdWwsXHJcbiAgb2wsXHJcbiAgZGwge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAvLyBMaXN0IGl0ZW1zXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gVW5vcmRlcmVkIGxpc3RzXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBPcmRlcmVkIGxpc3RzXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcclxuICB1bCwgb2wge1xyXG4gICAgJiAmIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xyXG4gIGRsIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAgIGR0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJsb2NrcXVvdGVzXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xyXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xyXG5cclxuICAgICYsIHAge1xyXG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDaXRhdGlvbnNcclxuICBjaXRlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XHJcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBYmJyZXZpYXRpb25zXHJcbiAgYWJiciB7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcclxuICB9XHJcblxyXG4gIC8vIENvZGVcclxuICBjb2RlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcclxuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBLZXlzdHJva2VzXHJcbiAga2JkIHtcclxuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xyXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcclxuXHJcbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxyXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcclxuICAkcmVtLXZhbHVlczogKCk7XHJcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcclxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XHJcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcclxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XHJcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICRjb3VudCA9PSAxIHtcclxuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XHJcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xyXG59XHJcblxyXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxyXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xyXG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcclxuICB9XHJcblxyXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcclxuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcclxufVxyXG5cclxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXHJcbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcclxuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcclxuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cclxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcclxuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gVHVybiAwcmVtIGludG8gMFxyXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XHJcbiAgICAkdmFsdWU6IDA7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XHJcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxyXG4gIC8vIDxoZWFkZXI+XHJcbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XHJcbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XHJcbiAgLy8gPC9oZWFkZXI+XHJcbiAgLnN1YmhlYWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XHJcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cclxuICAubGVhZCB7XHJcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcclxuICAuc3RhdCB7XHJcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgIHAgKyAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcclxuICAubm8tYnVsbGV0IHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XHJcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4vLy8gQGdyb3VwIGdsb2JhbFxyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XHJcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICAqIHtcclxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxyXG4gICAgYSxcclxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XHJcblxyXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xyXG4gICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxyXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cclxuXHJcbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXHJcbiAgICBwcmUsXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGg1YnAuY29tL3RcclxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cclxuXHJcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgb3JwaGFuczogMztcclxuICAgICAgd2lkb3dzOiAzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xyXG4gICAgaDIsXHJcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0ICd1dGYtOCc7XHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG5AaW1wb3J0ICdqcXVlcnkuc2VsZWN0Qm94SXQuc2Nzcyc7XHJcblxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZXRlci1lbGVtZW50O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcclxuXHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuLypmb250cyovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJztcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUJvbGQuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9HZW9tZXRyaWEtQm9sZC5zdmcjR2VvbWV0cmlhLUJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUV4dHJhQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9HZW9tZXRyaWEtRXh0cmFCb2xkLnN2ZyNHZW9tZXRyaWEtRXh0cmFCb2xkJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogODAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC5lb3QnKTtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC5zdmcjR2VvbWV0cmlhLUxpZ2h0JykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS5lb3QnKTtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS5zdmcjR2VvbWV0cmlhJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9HZW9tZXRyaWEtTWVkaXVtLnN2ZyNHZW9tZXRyaWEtTWVkaXVtJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuYm9keSB7XHJcblx0bWluLWhlaWdodDogMTAwJTtcclxuXHRtaW4td2lkdGg6IDEyNTBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgMTYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuaGVhZGVyIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuXHQubG9nbyB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogNTNweCAwIDAgNXB4O1xyXG5cdH1cclxuXHRcclxuXHQuY29udGFjdHMge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRtYXJnaW46IDYxcHggMCAwIDQxcHg7XHJcblx0XHQudGVsIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTRweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0YiB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5idXR0b25zIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1heC13aWR0aDogMTQwcHg7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdG1hcmdpbi10b3A6IDM1cHg7XHJcblx0XHRhIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaC1saW5rcyB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0bWFyZ2luOiA2NnB4IDAgMCA5NnB4O1xyXG5cdGxpIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0bWFyZ2luOiAwIDAgMCA0NnB4O1xyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKCMwMDAsLjgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0bGVmdDogLTQwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5saW5rLTE6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogMzJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDMycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLTEucG5nKSBuby1yZXBlYXQ7XHJcblx0XHRcdFx0dG9wOiAtN3B4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCYubGluay0yOmJlZm9yZSB7XHJcblx0XHRcdFx0d2lkdGg6IDI3cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi0yLnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0XHRcdHRvcDogLTdweDtcclxuXHRcdFx0XHRsZWZ0OiAtMzJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmxpbmstMzpiZWZvcmUge1xyXG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tMy5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdFx0XHR0b3A6IC00cHg7XHJcblx0XHRcdFx0bGVmdDogLTM0cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmJ1dHRvbi1ib3JkZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjMzE0YzkxO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxuXHRwYWRkaW5nOiA3cHggMTVweDtcclxuXHRjb2xvcjogIzNkNDM1MjtcdFxyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMzMTRjOTE7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn1cclxuLmhvbWUtdG9wIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogMTIwcHg7XHJcblx0aDEge1xyXG5cdFx0Zm9udC1zaXplOiA2MHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbjogMCAwIDE1cHg7XHJcblx0fVxyXG5cdGgzIHtcclxuXHRcdGZvbnQtc2l6ZTogNDZweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdC5idXR0b25zIHtcclxuXHRcdG1hcmdpbjogNDVweCAwIDA7XHJcblx0XHRhIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMjQ2cHg7XHJcblx0XHRcdGhlaWdodDogNThweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xyXG5cdFx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDU4cHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdG1hcmdpbjogMCAxMHB4O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOTAwLDUlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc2VydmljZS10aWxlLWhvbWUsIC5zZXJ2aWNlLXRpbGVzIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdG1hcmdpbi10b3A6IDg5cHg7XHJcblx0cGFkZGluZy10b3A6IDM3cHg7XHJcblx0W2NsYXNzKj0nc2VydmljZSddIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjYmFkMWRmO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdGhlaWdodDogMzExcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICM5MDA7XHJcblx0XHRcdC5iZyB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwMDtcclxuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAjOTAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0fVxyXG5cdFx0XHQubW9yZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lmljb24ge1xyXG5cdFx0aGVpZ2h0OiAxNTVweDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0fVxyXG5cdC5uYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdC5iZyB7XHJcblx0XHRtYXJnaW46IDIwcHggLTFweCAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDFweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxcHg7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2JhZDFkZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLXRvcC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0fVxyXG5cdC50ZXh0IHtcclxuXHRcdG1hcmdpbjogMjJweCAyNXB4O1xyXG5cdFx0aGVpZ2h0OiA2M3B4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRjb2xvcjogYmxhY2s7XHJcblx0XHRsaW5lLWhlaWdodDogMS4xO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHR9XHJcblx0Lm1vcmUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMThweDtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0Y29sb3I6ICM5MDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcclxuXHRcdC5zZXJ2aWNlLSN7JGl9IHtcclxuXHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbi1zZXJ2LSN7JGl9LnBuZyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1ob21lIHtcclxuXHRtYXJnaW4tdG9wOiA5NXB4O1xyXG5cdC5saXN0IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtMzVweDtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQub2JqZWN0LWl0ZW0ge1xyXG5cdFx0d2lkdGg6IDI2NHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDM1cHg7XHJcblx0fVxyXG5cdC5hbGwtcHJvamVjdCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiA0OHB4O1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgjMDAwLCAwLjgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5ibG9jay10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAwIDAgMzBweDtcclxufVxyXG4ub2JqZWN0LWl0ZW0ge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNiYWQxZGY7XHJcblx0Lm5hbWUge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0cGFkZGluZzogMTVweCAxNHB4IDhweDtcclxuXHRcdGhlaWdodDogNzJweDtcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoIzAwMCwgMC44KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuaW1hZ2Uge1xyXG5cdFx0bWFyZ2luOiAwIC0xcHg7XHJcblx0fVxyXG5cdC5pbmZvIHtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRwYWRkaW5nOiAxMXB4IDE2cHggMXB4O1xyXG5cdFx0PiBkaXYge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGNvbG9yOiAjOTAwO1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYm90dG9tIHtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmFkMWRmO1xyXG5cdFx0cGFkZGluZzogMThweCAxNXB4IDhweDtcclxuXHR9XHJcblx0LmxvY2F0aW9uIHtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxNnB4O1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdGhlaWdodDogMTRweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLXBsYWNlLnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR0b3A6IDJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnByaWNlIHtcclxuXHRcdGNvbG9yOiAjOTAwO1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxufVxyXG4uYWJvdXQtaG9tZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZTZlNmRjLC43KTtcclxuXHRwYWRkaW5nOiA1MHB4IDAgNjBweDtcclxuXHRoMyB7XHJcblx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdHAge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyOHB4O1xyXG5cdH1cclxuXHQub3JkZXIge1xyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDE0NnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDM4cHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MDA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDFweCAycHggMnB4IDFweDtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMzhweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCM5MDAsNSUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zZXJ2aWNlLXRpbGVzIHtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdFtjbGFzcyo9J3NlcnZpY2UnXSB7XHJcblx0XHRoZWlnaHQ6IDIzMXB4O1xyXG5cdH1cclxufVxyXG5mb290ZXIge1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmFkMWRmO1xyXG5cdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0cGFkZGluZzogNTBweCAwO1xyXG5cdC5oLWxpbmtzIHtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdFx0bWFyZ2luOiAwIDAgMCAzNnB4O1xyXG5cdH1cclxuXHQuYm90dG9tIHtcclxuXHRcdG1hcmdpbi10b3A6IDcwcHg7XHJcblx0fVxyXG5cdC5jb3B5IHtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdH1cclxuXHQuZGV2IHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0d2lkdGg6IDcxcHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Rldi5wbmcpIG5vLXJlcGVhdDtcclxuXHR9XHJcbn1cclxuLmJnLXdoaXRlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdCYubWFyZ2luIHtcclxuXHRcdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0fVxyXG59XHJcbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIHtcclxuXHRwYWRkaW5nLXRvcDogMjZweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMjZweDtcclxuXHRbY2xhc3MqPSdzZXJ2aWNlLSddIHtcclxuXHRcdGhlaWdodDogODRweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2JhZDFkZjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y29sb3I6IGJsYWNrO1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4NHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdHBhZGRpbmctbGVmdDogODVweDtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDEycHggY2VudGVyO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogIzljMDAwMDtcclxuXHRcdH1cclxuXHR9XHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcclxuXHRcdC5zZXJ2aWNlLSN7JGl9IHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtc21hbGwtI3skaX0ucG5nKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnBhZ2UtdGl0bGUge1xyXG5cdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdGgxIHtcclxuXHRcdGNvbG9yOiBibGFjaztcclxuXHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG4jY29udGVudCB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdHAge1xyXG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG4uaS1uZXdzIHtcclxuXHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogOTBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cdC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHR9XHJcblx0Lm5ld3Mge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDEzMHB4O1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luOiA0cHggMjZweCAwIDA7XHJcblx0XHR9XHJcblx0XHQuZGF0ZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0fVxyXG5cdFx0Lm5hbWUge1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoIzAwMCwuOCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC50ZXh0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWxsLW5ld3Mge1xyXG5cdFx0Y29sb3I6IGJsYWNrO1x0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgjMDAwLC44KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1wYWdlIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHQuc29ydCB7XHJcblx0XHRtYXJnaW4tdG9wOiAtMTVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lmxpc3Qge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0zNnB4O1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5vYmplY3QtaXRlbSB7XHJcblx0XHR3aWR0aDogNTYycHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMzZweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHQubmFtZSB7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5hbGwtcHJvamVjdCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDI5NnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDM4cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAzOHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxcHggMnB4IDJweCAxcHg7XHJcblx0XHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOTAwLDUlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaW1hZ2UtbGVmdCB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0bWFyZ2luOiA0cHggMjZweCAwIDA7XHRcclxufVxyXG4uc2VydmljZS1jb250YWluZXIge1xyXG5cdC5yb3cge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDkwcHg7XHJcblx0fVxyXG59XHJcbi5ib3R0b20tb3JkZXItYnRuIHtcclxuXHRtYXJnaW4tdG9wOiAzOHB4O1xyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6IDE0NnB4O1xyXG5cdFx0aGVpZ2h0OiAzOHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDFweCAycHggMnB4IDFweDtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMzhweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCM5MDAsNSUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubWFwLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogNTI4cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHQjeWEtbWFwIHtcclxuXHRcdGhlaWdodDogNTI4cHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0Lm1hcC1ib3R0b20ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NSwgNzYsIDgyLCAwLjU1KTtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRwYWRkaW5nOiAxN3B4IDE5cHggMjdweDtcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMWIxYjE7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmJyZWFkY3J1bWJzIHtcclxuXHRtYXJnaW46IC0yNXB4IDAgMzBweDtcclxuXHRsaSB7XHJcblx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJy8nO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHRcdGEge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3OWQ4YTE7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC10b3Age1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cdFxyXG5cdC5vYmplY3QtaW1hZ2VzIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0d2lkdGg6IDcwOXB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1x0XHRcclxuXHRcdHVsIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0LmltYWdlLXRodW1iIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDIwcHg7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiAxNDBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDkycHg7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDE4cHg7XHJcblx0XHRcdFx0Ym9yZGVyOiAzcHggc29saWQgI2VkZWRlNjtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ji5hY3RpdmU6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxNnB4IHNvbGlkICNlZGVkZTY7XHJcblx0XHRcdFx0XHRib3JkZXItbGVmdDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGJvdHRvbTogMTAwJTtcclxuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTZweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ieC1uZXh0LCAuYngtcHJldiB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0bGVmdDogMjBweDtcclxuXHRcdFx0dG9wOiAxMzhweDtcclxuXHRcdFx0d2lkdGg6IDM5cHg7XHJcblx0XHRcdGhlaWdodDogOTlweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogMDtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fycm93LWxlZnQucG5nKTtcclxuXHRcdH1cclxuXHRcdC5ieC1uZXh0IHtcclxuXHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3ctcmlnaHQucG5nKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnJpZ2h0IHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdHdpZHRoOiA0MDdweDtcclxuXHRcdG1hcmdpbi10b3A6IC01cHg7XHJcblx0XHR1bCB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0XHRcdGIge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5wYXJhbXMgYiB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdHdpZHRoOiAxMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmNvbnRhY3RzIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNjVweDtcclxuXHRcdFx0LnRpdGxlIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDIycHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Lm9yZGVyIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTQ2cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzOHB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMzhweDtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOTAwLDUlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1vcHRpb25zIHtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0fVxyXG5cdC50aXRsZS0yIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0fVxyXG5cdC50ZXh0IHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHR9XHJcblx0Lm9wdGlvbnMge1xyXG5cdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdHRhYmxlIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHdpZHRoOiAzMy4zMyU7XHJcblx0XHRcdHRkIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDI4MHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMzBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1kZXNyaXB0aW9ucyB7XHJcblx0bWFyZ2luLXRvcDogNTVweDtcclxuXHQudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHQudGV4dCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmRjO1xyXG5cdFx0cGFkZGluZzogMzBweCAwIDM1cHg7XHJcblx0fVxyXG59XHJcbi5vYmplY3QtaW4tbWFwIHtcclxuXHRtYXJnaW4tdG9wOiA0NXB4O1xyXG5cdC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cdCN5YS1tYXAge1xyXG5cdFx0aGVpZ2h0OiAyNjBweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG4ub2JqZWN0LXBsYW4ge1xyXG5cdG1hcmdpbi10b3A6IDQ1cHg7XHRcclxuXHQudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHQucGxhbiB7XHRcdFx0XHRcclxuXHRcdFx0XHRoZWlnaHQ6IDE3M3B4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNiYWQxZGY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1jYWxjIHtcdFxyXG5cdG1hcmdpbi10b3A6IDQ1cHg7XHRcclxuXHQudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNlZGVkZTY7XHJcblx0XHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR0b3A6IDdweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYWJvdXQtY29udGFpbmVyIHtcclxuXHQuYmctd2hpdGUge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDE1MHB4O1xyXG5cdH1cclxufVxyXG4ubmV3cy1kZXRhaWxzLWNvbnRhaW5lciB7XHJcblx0LmJnLXdoaXRlIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG5cdH1cclxufVxyXG4ubmV3cy1kZXRhaWxzLWRhdGUge1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IC0xNXB4O1xyXG59XHJcbi5zZXJ2aWNlcy1jb250YWluZXIge1xyXG5cdC5iZy13aGl0ZSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTgwcHg7XHJcblx0fVxyXG59XHJcbi5uZXdzLW1lbnUge1xyXG5cdG1hcmdpbjogMDtcclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgjMDAwLC44KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubmV3cy1jb250YWluZXIge1xyXG5cdC5pLW5ld3Mge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxufVxyXG4uc2hvdy1tb3JlLW5ld3Mge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogMzAxcHg7XHJcblx0aGVpZ2h0OiAzOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICM5MDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4O1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRsaW5lLWhlaWdodDogMzhweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzkwMCw1JSk7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcblx0Ym9keSB7XHJcblx0XHRtaW4td2lkdGg6IDY0MHB4O1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMjEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdGhlYWRlciB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC5sb2dvIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQuYnV0dG9ucyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAzMHB4O1xyXG5cdFx0XHRyaWdodDogMjBweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5jb250YWN0cyB7XHJcblx0XHRcdG1hcmdpbjogMjBweCAwIDA7XHJcblx0XHRcdC50ZWwge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oLWxpbmtzIHtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdFx0bWFyZ2luOiAzMHB4IDAgMCA0MHB4O1xyXG5cdFx0bGkge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmJ1dHRvbi1ib3JkZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0fVxyXG5cdC5ob21lLXRvcCB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0LmJ1dHRvbnMge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDI3MHB4O1xyXG5cdFx0XHRcdGhlaWdodDogNjRweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNjRweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VydmljZS10aWxlLWhvbWUsIC5zZXJ2aWNlLXRpbGVzIHtcclxuXHRcdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0XHRbY2xhc3MqPSdzZXJ2aWNlJ10ge1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHR9XHJcblx0XHQubW9yZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICMzMTRjOTE7XHJcblx0XHRcdFx0Y29sb3I6ICMzMTRjOTE7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZXJ2aWNlLXRpbGUtaG9tZSwgLnNlcnZpY2UtdGlsZXMge1xyXG5cdFx0Lm5hbWUge1xyXG5cdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdFx0fVxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblx0XHQuYmcge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYmxvY2stdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiA0MnB4O1xyXG5cdH1cclxuXHQub2JqZWN0LWhvbWUge1xyXG5cdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHRcdC5saXN0IHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0XHQub2JqZWN0LWl0ZW0ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0XHQuYWxsLXByb2plY3Qge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1pdGVtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHQubmFtZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0aGVpZ2h0OiA4OHB4O1xyXG5cdFx0fVxyXG5cdFx0LmluZm8ge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHR9XHJcblx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQubG9jYXRpb24ge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR0b3A6IDdweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnByaWNlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWJvdXQtaG9tZSB7XHJcblx0XHRoMyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRmb250LXNpemU6IDIycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0XHQub3JkZXIgYSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0aGVpZ2h0OiA0MnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNDJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Zm9vdGVyIHtcclxuXHRcdC5jb3B5IHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucGFnZS10aXRsZSBoMSB7XHJcblx0XHRmb250LXNpemU6IDQycHg7XHJcblx0fVxyXG5cdCNjb250ZW50IHAge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHR9XHJcblx0Ym9keTpub3QoLnBhZ2UtaXMtaW5kZXgpICNjb250ZW50IGRpdiB7XHJcblx0XHQ+IC5iZy13aGl0ZSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubmV3cy1kZXRhaWxzLWRhdGUge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdH1cclxuXHQuYnJlYWRjcnVtYnMgbGkgYSB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdC5tYXAtY29udGFpbmVyIC5tYXAtYm90dG9tIHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG5cdC5pLW5ld3Mge1xyXG5cdFx0Lm5ld3Mge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHRcdC5uYW1lIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIycHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LmRhdGUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmFsbC1uZXdzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubmV3cy1tZW51IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHRsaSBhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2hvdy1tb3JlLW5ld3Mge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHR9XHJcblx0Lm9iamVjdC10b3Age1xyXG5cdFx0Lm9iamVjdC1pbWFnZXMge1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdC5pbWFnZS10aHVtYiBhIHtcclxuXHRcdFx0XHR3aWR0aDogMTE0cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9IFxyXG5cdFx0LnJpZ2h0IHtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLnBhcmFtcyB7XHJcblx0XHRcdFx0XHRiIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE5MHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuY29udGFjdHMge1xyXG5cdFx0XHRcdC50aXRsZSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5vcmRlciB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNTBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub2JqZWN0LW9wdGlvbnMge1xyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzNHB4O1xyXG5cdFx0fVxyXG5cdFx0LnRpdGxlLTIge1xyXG5cdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHR9XHJcblx0XHQudGV4dCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1vcHRpb25zIC5vcHRpb25zIHRhYmxlIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0dGQge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHR3aWR0aDogNDAwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1kZXNyaXB0aW9ucyB7XHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDM0cHg7XHJcblx0XHR9XHJcblx0XHQudGV4dCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1pbi1tYXAgLnRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMzRweDtcclxuXHR9XHJcblx0Lm9iamVjdC1wbGFuIC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDM0cHg7XHJcblx0fVxyXG5cdC5vYmplY3QtY2FsYyB7XHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDM0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0XHR1bCBsaSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0Zm9udC1zaXplOiA0MDA7XHJcblx0XHRcdGIge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub2JqZWN0LXBhZ2Uge1xyXG5cdFx0LnNvcnQgbGFiZWwge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHR9XHJcblx0XHQuYWxsLXByb2plY3QgYSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHRcdGhlaWdodDogNTBweDtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHRcdH1cclxuXHR9IFxyXG5cdC5zZWxlY3Rib3hpdC1jb250YWluZXIgKiB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdC5ib3R0b20tb3JkZXItYnRuIGEge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKnByaW50IHN0eWxlcyovXHJcbi5wYWdlLWlzLXByaW50IHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG4ucHJpbnQtY29udGVpbmVyIHtcclxuXHR3aWR0aDogNzE2cHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0aDEge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdH1cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHR9XHJcbn1cclxuLnByaW50LWhlYWRlciB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwYWRkaW5nLXRvcDogNTVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHQucHJpbnQtbG9nbyB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblx0LnJpZ2h0IHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTRweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tdG9wOiAyM3B4O1xyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5wcmludC1sb2NhdGlvbiB7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG4ucHJpbnQtaW1hZ2VzIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbi1sZWZ0OiAtNDJweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0aW1nIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG4ucHJpbnQtb3B0aW9ucyB7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHR0ZCB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHR3aWR0aDogMzc5cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5wcmludC1zaXRlLXVybCB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG4ucHJpbnQtaW4tbWFwIHtcclxuXHRtYXJnaW4tdG9wOiA0MHB4O1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

.margin-left-20{
    margin-left: 40px;
}

a.dottedlink-black{
    color: #000;
    border-bottom: dotted #000 1px;
}

.all-project a{
    text-decoration: underline;
}
.all-project a:hover{
    text-decoration: none;
}

.lechenie{
    padding-left: 21px;
    padding-right: 20px;
}

.column.medium-4{
    cursor: pointer;
}

.marginssides{
    padding-left: 20px;
    padding-right: 20px;
}


.section-video{
    height: 504px;
    margin-top: 50px;
    background: url(../img/video-bg.png) top center no-repeat;
    background-size: cover;
}
.about-home{
    margin-top: 0;
}
.section-video .bxslider-iframe{
    width: 650px;
    margin: 0 auto;
    margin-top: 30px;
}
.section-video .bxslider-iframe .iframe{
    width: 650px;
    height: 356px;
    margin: 0 auto;
}
.section-video .bxslider-iframe .iframe img{
    width: 100%;
    height: 100%;
}
.section-video .bxslider-iframe .iframe iframe{
    width: 100%!important;
    height: 100%!important;
}
.section-video .bx-controls-direction{
    display: none;
}
.section-video .bx-pager.bx-default-pager{
    text-align: center;
    margin: 30px 0;
}
.section-video .bx-pager.bx-default-pager .bx-pager-item{
    display: inline-block;
    text-align: center;
    margin: 0 7px;
}
.section-video .bx-pager.bx-default-pager .bx-pager-item a{
    width: 16px;
    height: 16px;
    border-radius: 50%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-color: #990000;
    border: 2px solid #990000;
    font-size: 0;
    display: block;
}
.section-video .bx-pager.bx-default-pager .bx-pager-item a.active{
    background-color: transparent;
    border: 2px solid #fff;
}
.section-video .tit-video{
    text-align: center;
    color: black;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}
.section-video .tit-video a{
    color: black;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid black;
    transition: border-bottom-color .15s ease-in-out;
}
.section-video .tit-video a:hover{
    border-bottom-color: transparent;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsImpxdWVyeS5zZWxlY3RCb3hJdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiYXBwLmNzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvR0FLRztBQ0xILDJCQUEyQjtBQUMzQix5QkFDRSxtQkFBbUIsQ0FDbkIsc0JBQXNCLENBQ3RCLG9CQUFvQixFQUNyQjs7QUFFRCxtREFBbUQ7QUFDbkQsMkJBQ0UsZ0JBQWdCLENBQ2hCLDBCQUEwQixDQUMxQiw2QkFBNkIsQ0FDN0IsNEJBQTRCLENBQzVCLDBCQUEwQixDQUUxQiw0QkFBNEIsQ0FDNUIsc0JBQXNCLENBQ3RCLHFCQUFxQixDQUNyQixrQkFBa0IsQ0FDbEIsY0FBYyxDQUNkLG9CQUFvQixFQUNyQjs7QUFFRCxZQUFZO0FBQ1osc0NBQ0Usd0JBQXNCLENBQUUsa0NBQWtDLENBQzFELGdCQUFnQixDQUNoQixVQUFVLENBQ1YsV0FBVyxDQUNYLGlCQUFpQixDQUNqQixlQUFlLENBQ2YsbUJBQW1CLEVBQ3BCOztBQUVELDJDQUEyQztBQUMzQyw2RUFDRSxhQUFhLENBQUUsNkJBQTZCLENBQzVDLGtCQUFrQixDQUFFLDZDQUE2QyxDQUNqRSxlQUFlLEVBQ2hCOztBQUVELDJCQUEyQjtBQUMzQiw0Q0FDRSxXQUFXLEVBQ1o7O0FBRUQsZ0NBQWdDO0FBQ2hDLGdGQUNFLGNBQWMsQ0FDZCwwQkFBYSxDQUdiLGlCQUFpQixDQUNqQixnQkFBZ0IsRUFDakI7O0FBRUQsaUJBQWlCO0FBQ2pCLG9CQUNFLGlCQUFpQixDQUNqQix3QkFBd0IsQ0FDeEIsWUFBWSxDQUNaLDJCQUF5QixFQUMxQjs7QUFFRCxrREFDRSxpQkFBaUIsRUFDbEI7O0FBRUQsa0JBQWtCO0FBQ2xCLDhDQUVFLHVCQUF1QixDQUN2QixnQkFBZ0IsQ0FBRyxvREFBb0QsRUFDdkUsWUFBYSxDQUNiLFVBQVUsQ0FDVixXQUFXLENBQ1gsaUJBQWlCLENBQ2pCLG1CQUFtQixDQUNuQixtQkFBbUIsQ0FDbkIsaUJBQWlCLENBQ2pCLGdCQUFnQixDQUNoQixjQUFjLENBQ2QsdUJBQXVCLENBQ3ZCLGlCQUFpQixDQUdqQixpQkFBaUIsRUFDbEI7O0FBRUQsd0JBQXdCO0FBQ3ZCLGlEQUNDLGVBQWUsRUFDaEI7O0FBRUQsb0NBQW9DO0FBQ3BDLHVEQUNFLHNCQUFzQixFQUN2Qjs7QUFFRCx1Q0FBdUM7QUFDdkMsb0RBQ0UsaUJBQWlCLENBQUUsMERBQTBELENBQzdFLFVBQVUsQ0FDVixzQkFBc0IsRUFDdkI7O0FBRUQsZ0NBQWdDO0FBQ2hDLCtCQUNFLGtCQUFrQixFQUNuQjs7QUFFRCxrREFBa0Q7QUFDbEQscUNBQ0UsZ0JBQWdCLEVBQ2pCOztBQUVELG9DQUFvQztBQUNwQywrQkFDRSw4QkFBOEIsQ0FDOUIsWUFBWSxDQUNaLG1CQUFtQixDQUNuQixTQUFTLEVBQ1Y7O0FBRUQsMEJBQTBCO0FBQzFCLCtEQUNFLHlDQUF5QyxDQUN6QyxvQkFBb0IsQ0FDcEIsbUJBQW1CLENBQ25CLFNBQVMsQ0FDVCxTQUFTLENBQ1QsUUFBUSxFQUNUOztBQUVELHlEQUF5RDtBQUN6RCx1RUFDRSxTQUFTLEVBQ1Y7O0FBRUQsa0RBQWtEO0FBQ2xELHFDQUNFLFlBQVksRUFDYjs7QUFFRCxrREFDRSxVQUFVLENBQ1YsV0FBVyxDQUNYLHVCQUF1QixFQUN4Qjs7QUFFRCxrREFBa0Q7QUFDbEQsK0JBQ0UsWUFBWSxDQUNaLDJCQUEyQixDQUMzQiw2QkFBNkIsQ0FDN0IsYUFBYSxDQUNiLDRCQUE0QixDQUM1QixZQUFZLEVBQ2I7O0FBRUQseUJBQ0UsaUNBQWlDLEVBQ2pDLDJCQUE0QixDQUM1QixtQkFBbUIsQ0FDbkIsK0JBQStCLENBQy9CLDhCQUE4QixDQUM5Qix3QkFBd0IsQ0FDeEIseUJBQXlCLEVBQzFCOztBQUVELHNIQUFzSDtBQUN0SCxxQkFDRSwwQkFBMEIsRUFDM0I7O0FBRUQsOEhBQThIO0FBQzlILGtDQUNFLGlDQUFpQyxFQUNsQzs7QUFFRCxzSUFJRTtBQUNGLG1CQUNFLDBCQUEwQixFQUMzQjs7QUFRRCx5RkFFRSxlQUFlLENBQ2Ysc0JBQXNCLEVBQ3ZCOztBQUVELDZCQUNFLFlBQVksQ0FDWixhQUFhLENBQ2IsNENBQTJDLEVBQzVDOztBQUVELG9CQUNFLDBCQUEwQixDQUMxQiwwQkFBMEIsQ0FDMUIsWUFBWSxFQUNiOztBQUVELCtDQUNFLGVBQWUsRUFDaEI7O0FBRUQsc0VBQ0UsZUFBZSxDQUNmLDBCQUEwQixFQUMzQjs7QUFFRCx5RUFDRSxlQUFlLEVBQ2hCOztBQ1pDLDRFQUE0RTtBQUU1RSxxSkFJRztBQUVILE9BQ0Usd0JBQXdCLENBQUUsT0FBTyxDQUNqQywyQkFBMkIsQ0FBRSxPQUFPLENBQ3BDLCtCQUErQixDQUFFLE9BQU8sRUFDekM7O0FBRUQsNkJBRUc7QUFFSCxPQUNFLFVBQVUsRUFDWDs7QUFFRCwwR0FDZ0Y7QUFFaEYsNE5BS0c7QUFFSCx5R0FhRSxlQUFlLEVBQ2hCOztBQUVELDRJQUdHO0FBRUgsaUNBSUUsc0JBQXNCLENBQUUsT0FBTyxDQUMvQix5QkFBeUIsQ0FBRSxPQUFPLEVBQ25DOztBQUVELCtHQUdHO0FBRUgsd0JBQ0UsY0FBYyxDQUNkLFVBQVUsRUFDWDs7QUFFRCxrSUFHRztBQzFMTCxxQkQ4TEksY0FBYyxFQUNmOztBQUVELHNGQUNnRjtBQUVoRixtRUFFRztBQUVILElBQ0UsOEJBQThCLEVBQy9COztBQUVELDJGQUdHO0FBRUgsb0JBRUUsV0FBVyxFQUNaOztBQUVELHFHQUNnRjtBQUVoRix1RUFFRztBQUVILGNBQ0UsMEJBQTBCLEVBQzNCOztBQUVELHVFQUVHO0FBRUgsWUFFRSxrQkFBa0IsRUFDbkI7O0FBRUQsd0RBRUc7QUFFSCxNQUNFLG1CQUFtQixFQUNwQjs7QUFFRCw0SEFHRztBQUVILEtBQ0UsZUFBZSxDQUNmLGlCQUFpQixFQUNsQjs7QUFFRCw2Q0FFRztBQUVILE9BQ0UsaUJBQWlCLENBQ2pCLFlBQVksRUFDYjs7QUFFRCxtRUFFRztBQUVILFFBQ0UsZUFBZSxFQUNoQjs7QUFFRCx1RUFFRztBQUVILFdBRUUsZUFBZSxDQUNmLGVBQWUsQ0FDZixtQkFBbUIsQ0FDbkIseUJBQXlCLEVBQzFCOztBQUVELE1BQ0UsWUFBWSxFQUNiOztBQUVELE1BQ0UsZ0JBQWdCLEVBQ2pCOztBQUVELGlHQUNnRjtBQUVoRiwwREFFRztBQUVILE1BQ0UsVUFBVSxFQUNYOztBQUVELGlEQUVHO0FBRUgsaUJBQ0UsaUJBQWlCLEVBQ2xCOztBQUVELGlHQUNnRjtBQUVoRix1REFFRztBQUVILFNBQ0UsaUJBQWlCLEVBQ2xCOztBQUVELDhEQUVHO0FBRUgsS0FDRSx3QkFBd0IsQ0FDeEIsVUFBVSxFQUNYOztBQUVELHdDQUVHO0FBRUgsTUFDRSxlQUFlLEVBQ2hCOztBQUVELGlFQUVHO0FBRUgsdUJBSUUsa0NBQWtDLENBQ2xDLGVBQWUsRUFDaEI7O0FBRUQsc0ZBQ2dGO0FBRWhGLHlJQUdHO0FBRUgsbU5BS0c7QUFFSCw0Q0FLRSxlQUFlLENBQUUsT0FBTyxDQUN4QixjQUFjLENBQUUsT0FBTyxDQUN2QixVQUFVLENBQUUsT0FBTyxFQUNwQjs7QUFFRCwwREFFRztBQUVILFNBQ0Usa0JBQWtCLEVBQ25COztBQUVELGtSQUtHO0FBRUgsaUJBRUUscUJBQXFCLEVBQ3RCOztBQUVELGlRQU1HO0FBRUgsK0VBSUUsMkJBQTJCLENBQUUsT0FBTyxDQUNwQyxnQkFBZ0IsQ0FBRSxPQUFPLEVBQzFCOztBQUVELG1EQUVHO0FBRUgseUNBRUUsb0JBQW9CLEVBQ3JCOztBQUVELHFEQUVHO0FBRUgsb0RBRUUsVUFBVSxDQUNWLFdBQVcsRUFDWjs7QUFFRCxtR0FHRztBQUVILFFBQ0Usb0JBQW9CLEVBQ3JCOztBQUVELCtPQU1HO0FBRUgsOENBRUUsdUJBQXVCLENBQUUsT0FBTyxDQUNoQyxXQUFXLENBQUUsT0FBTyxFQUNyQjs7QUFFRCwyTUFJRztBQUVILG1HQUVFLGFBQWEsRUFDZDs7QUFFRCwySUFHRztBQUVILHVCQUNFLDhCQUE4QixDQUFFLE9BQU8sQ0FDdkMsd0JBQXdCLENBQUUsT0FBTyxFQUNsQzs7QUFFRCxrTUFJRztBQUVILHNHQUVFLHlCQUF5QixFQUMxQjs7QUFFRCxzS0FHRztBQUVILDRGQUlJO0FBRUosd0lBR0c7QUFFSCxTQUNFLFVBQVUsQ0FBRSxPQUFPLENBQ25CLFdBQVcsQ0FBRSxPQUFPLEVBQ3JCOztBQUVELHlEQUVHO0FBRUgsV0FDRSxlQUFlLEVBQ2hCOztBQUVELDBJQUdHO0FBRUgsV0FDRSxrQkFBa0IsRUFDbkI7O0FBRUQsdUZBQ2dGO0FBRWhGLCtDQUVHO0FBRUgsUUFDRSwwQkFBMEIsQ0FDMUIsa0JBQWtCLEVBQ25COztBQUVELFNBRUUsV0FBVyxFQUNaOztBQXJnQkQsaUJBQ0UseUVBQWdELEVBQ2pEOztBQUVELE9BQ0UsZ0JFN0VtQixDRjhFbkIsdUJBQXVCLEVBQ3hCOztBQUdELHlCQUdFLG9CQUFvQixFQUNyQjs7QUFHRCxPQUNFLFdBQVcsQ0FDWCxVQUFVLENBQ1YsNENFM0U2QyxDRjRFN0Msb0JFeEV5QixDRnlFekIsaUJFNUZtQixDRjZGbkIsZUVsRlcsQ0ZtRlgsb0JFbEZXLENGcUZULG9DQUFvQyxDQUNwQyxtQ0FBbUMsRUFFdEM7O0FBRUQsTUFFRSxnQkFBZ0IsQ0FDaEIsYUFBYSxDQUNiLGdDQUFnQyxDQUdoQyxzQkFBc0IsQ0FDdEIsdUJBQXVCLEVBQ3hCOztBQUdELFdBQ0UsYUFBYSxDQUNiLGlCQUFpQixDQUNqQixpQkVoR2EsRUZpR2Q7O0FBR0QsU0FDRSxZQUFZLENBQ1osaUJFdEdhLEVGdUdkOztBQUlELDRLQU1JLDJCQUEyQixFQUM1Qjs7QUFJSCxTQUVFLHlCQUF5QixDQUN6QixzQkFBc0IsQ0FDdEIsd0JBQXdCLENBQ3hCLFdBQVcsQ0FDWCxVQUFVLENBQ1YsaUJFN0hhLENGOEhiLGVBQWUsRUFDaEI7O0FDNEJILGtDRXpESSxXQUFXLEVBQ1o7O0FIK0JELGNBQ0UsMEJBQTBCLEVBQzNCOztBQUVELGFBQ0UseUJBQXlCLEVBQzFCOztBSXJMRCxPQ29DRSxrQkhiaUIsQ0djakIsa0JBQWtCLENBQ2xCLG1CQUFtQixFRFRwQjs7QUE3QkQsNEJEa0hFLGFBQWEsQ0FDYixlQUFlLEVBS2hCOztBQ3hIRCxjRDJIRSxZQUFZLEVBQ2I7O0FDNUhELG9ERWZBLGdCQUFnQixDQUNoQixpQkFBaUIsRUZxQlo7O0FBUEwsWUMyREEsZ0JBQWdCLENBTVosc0JBSGUsQ0FJZix1QkFKZSxFRDVDaEI7O0FHd0dELHNDSDFIRixZQ2lFSSxzQkFIZSxDQUlmLHVCQUplLEVENUNoQixFQUFBOztBQWxCSCxxQkFlTSxlQUFlLENBQ2YsZ0JBQWdCLEVBQ2pCOztBQWpCTCxnQkFzQkksZ0JBQWdCLEVBTWpCOztBQTVCSCxxQkF5Qk0sa0JBQWtCLENBQ2xCLG1CQUFtQixFQUNwQjs7QUFLTCxvQkkzQ0EsWUNlc0IsQ0ErQnRCLFlUeUN5RCxDU2pDbkQsc0JBSGdCLENBSWhCLHVCQUpnQixFTEFyQjs7QUdrRkMsc0NIMUZGLG9CS1dNLHNCQUhnQixDQUloQix1QkFKZ0IsRUxBckIsRUFBQTs7QUFSRCw4RUt5QkksYVRvQnNELEVTbkJ2RDs7QUwxQkgsd0VNWEUsWVZ1RHVELEVVdER4RDs7QU5zQkQsb0NBQ0UsWUFBWSxFQVNiOztBQVZVLDhDQUtQLGdCQUFnQixDQUNoQixpQkFBaUIsQ0FDakIsZUFBZSxDQUNmLGdCQUFnQixFQUNqQjs7QUFNQyxXSXRFSixnQkNlc0IsRUx5RGpCOztBQUlDLGdCTTNFSixtQkFBbUIsQ0FDbkIsZUFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGdCRGJzQixFTDhFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHNCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLFdDZXNCLEVMeURqQjs7QUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkOztBQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGlCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLFdDZXNCLEVMeURqQjs7QUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkOztBQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGlCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsZ0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFdJdEVKLFdDZXNCLEVMeURqQjs7QUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkOztBQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsa0JNL0RKLGlCRFZzQixFTDJFakI7O0FBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7O0FBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7O0FBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7O0FBTUgsbUJNL0RKLHVCRFZzQixFTDJFakI7O0FBcEJELFlJdEVKLFlDZXNCLEVMeURqQjs7QUFnQkQsbUJNL0RKLHVCRFZzQixFTDJFakI7O0FBS0QsZ0RPNUZGLFlBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7O0FQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7O0FQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7O0FQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7O0FQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUCtFQyxnRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7O0FQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7O0FQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7O0FQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7O0FQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUCtFQyxnRE81RkYsV0FBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDs7QVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjs7QVB1RkMsb0ZPcEZBLFlBQVksRUFDYjs7QVBtRkMsc0VPaEZBLFlBQVksRUFDYjs7QVArRUMsZ0RPNUZGLGlCQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUCtFQyxnRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7O0FQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7O0FQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7O0FQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7O0FQK0VDLGdETzVGRixhQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEOztBUDhFRyxnRk94RkEsWUFBWSxFQUNiOztBUHVGQyxvRk9wRkEsWUFBWSxFQUNiOztBUG1GQyxzRU9oRkEsWUFBWSxFQUNiOztBUHFGRCx3REV6R0YsZ0JBQWdCLENBQ2hCLGlCQUFpQixFRnlHbUI7O0FBRGxDLDBEQUlJLGVBQWUsQ0FDZixnQkFBZ0IsRUFDakI7O0FBR0gsNERFekdGLHNCQURpQixDQUVqQix1QkFGaUIsRUY2RzhCOztBQUk3QyxrQk1oSEEsWUFBWSxDQUNaLGtCQUFrQixDQUNsQixtQkFBbUIsRU5nSGxCOztBQUdELGtETTFHRixpQkFBaUIsQ0FDakIsZUFBZSxDQUNmLGdCQUFnQixDQUNoQixZQUFZLEVOeUdUOztBR1NELHNDSC9ERSxZSXRFSixnQkNlc0IsRUx5RGpCO0VBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixlQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGdCRGJzQixFTDhFakI7RUFwQkQsWUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGlCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxtQk0vREosc0JEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixXQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixXQUhtQixFTm1GZDtFQU1ILG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGlCRFZzQixFTDJFakI7RUFwQkQsWUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGlCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxtQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixXQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixXQUhtQixFTm1GZDtFQU1ILG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGlCRFZzQixFTDJFakI7RUFwQkQsWUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGlCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxtQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixXQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLFVBSG1CLEVOK0VkO0VBRUQsaUJNL0VKLG1CQUFtQixDQUNuQixXQUhtQixFTm1GZDtFQU1ILG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBcEJELGFJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxrQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGtCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLGlCRFZzQixFTDJFakI7RUFwQkQsYUl0RUosaUJDZXNCLEVMeURqQjtFQUlDLGtCTTNFSixtQkFBbUIsQ0FDbkIsZ0JBSG1CLEVOK0VkO0VBRUQsa0JNL0VKLG1CQUFtQixDQUNuQixpQkFIbUIsRU5tRmQ7RUFNSCxvQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxhSXRFSixZQ2VzQixFTHlEakI7RUFnQkQsb0JNL0RKLHVCRFZzQixFTDJFakI7RUFLRCxrRE81RkYsWUFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUCtFQyxrRE81RkYsV0FBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUCtFQyxrRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsa0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxzRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHdFT2hGQSxZQUFZLEVBQ2I7RVArRUMsa0RPNUZGLFdBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsa0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxzRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHdFT2hGQSxZQUFZLEVBQ2I7RVArRUMsa0RPNUZGLFdBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsa0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxzRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHdFT2hGQSxZQUFZLEVBQ2I7RVArRUMsa0RPNUZGLGlCQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGtGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsc0ZPcEZBLFlBQVksRUFDYjtFUG1GQyx3RU9oRkEsWUFBWSxFQUNiO0VQK0VDLGtETzVGRixpQkFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUCtFQyxrRE81RkYsYUFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxrRk94RkEsWUFBWSxFQUNiO0VQdUZDLHNGT3BGQSxZQUFZLEVBQ2I7RVBtRkMsd0VPaEZBLFlBQVksRUFDYjtFUHFGRCwwREV6R0YsZ0JBQWdCLENBQ2hCLGlCQUFpQixFRnlHbUI7RUFEbEMsNERBSUksZUFBZSxDQUNmLGdCQUFnQixFQUNqQjtFQUdILDhERXpHRixzQkFEaUIsQ0FFakIsdUJBRmlCLEVGNkc4QjtFQUk3QyxtQk1oSEEsWUFBWSxDQUNaLGtCQUFrQixDQUNsQixtQkFBbUIsRU5nSGxCO0VBR0QscURNMUdGLGlCQUFpQixDQUNqQixlQUFlLENBQ2YsZ0JBQWdCLENBQ2hCLFlBQVksRU55R1QsRUFBQTs7QUdTRCxzQ0gvREUsV0l0RUosZ0JDZXNCLEVMeURqQjtFQUlDLGdCTTNFSixtQkFBbUIsQ0FDbkIsZUFIbUIsRU4rRWQ7RUFFRCxnQk0vRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixnQkRic0IsRUw4RWpCO0VBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsa0JNL0RKLHNCRFZzQixFTDJFakI7RUFwQkQsV0l0RUosV0Nlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixVQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7RUFNSCxrQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxXSXRFSixpQkNlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7RUFFRCxnQk0vRUosbUJBQW1CLENBQ25CLGlCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixpQkRWc0IsRUwyRWpCO0VBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7RUFwQkQsV0l0RUosV0Nlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixVQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7RUFNSCxrQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxXSXRFSixpQkNlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7RUFFRCxnQk0vRUosbUJBQW1CLENBQ25CLGlCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixpQkRWc0IsRUwyRWpCO0VBcEJELFdJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxnQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsa0JNL0RKLHVCRFZzQixFTDJFakI7RUFwQkQsV0l0RUosV0Nlc0IsRUx5RGpCO0VBSUMsZ0JNM0VKLG1CQUFtQixDQUNuQixVQUhtQixFTitFZDtFQUVELGdCTS9FSixtQkFBbUIsQ0FDbkIsV0FIbUIsRU5tRmQ7RUFNSCxrQk0vREosdUJEVnNCLEVMMkVqQjtFQXBCRCxZSXRFSixpQkNlc0IsRUx5RGpCO0VBSUMsaUJNM0VKLG1CQUFtQixDQUNuQixnQkFIbUIsRU4rRWQ7RUFFRCxpQk0vRUosbUJBQW1CLENBQ25CLGlCQUhtQixFTm1GZDtFQU1ILGtCTS9ESixpQkRWc0IsRUwyRWpCO0VBcEJELFlJdEVKLGlCQ2VzQixFTHlEakI7RUFJQyxpQk0zRUosbUJBQW1CLENBQ25CLGdCQUhtQixFTitFZDtFQUVELGlCTS9FSixtQkFBbUIsQ0FDbkIsaUJBSG1CLEVObUZkO0VBTUgsbUJNL0RKLHVCRFZzQixFTDJFakI7RUFwQkQsWUl0RUosWUNlc0IsRUx5RGpCO0VBZ0JELG1CTS9ESix1QkRWc0IsRUwyRWpCO0VBS0QsZ0RPNUZGLFlBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVArRUMsZ0RPNUZGLFdBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVArRUMsZ0RPNUZGLGlCQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsb0ZPcEZBLFlBQVksRUFDYjtFUG1GQyxzRU9oRkEsWUFBWSxFQUNiO0VQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsb0ZPcEZBLFlBQVksRUFDYjtFUG1GQyxzRU9oRkEsWUFBWSxFQUNiO0VQK0VDLGdETzVGRixXQUFpQixDQUNqQixZWG1GdUQsRVd0RXhEO0VQOEVHLGdGT3hGQSxZQUFZLEVBQ2I7RVB1RkMsb0ZPcEZBLFlBQVksRUFDYjtFUG1GQyxzRU9oRkEsWUFBWSxFQUNiO0VQK0VDLGdETzVGRixpQkFBaUIsQ0FDakIsWVhtRnVELEVXdEV4RDtFUDhFRyxnRk94RkEsWUFBWSxFQUNiO0VQdUZDLG9GT3BGQSxZQUFZLEVBQ2I7RVBtRkMsc0VPaEZBLFlBQVksRUFDYjtFUCtFQyxnRE81RkYsaUJBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVArRUMsZ0RPNUZGLGFBQWlCLENBQ2pCLFlYbUZ1RCxFV3RFeEQ7RVA4RUcsZ0ZPeEZBLFlBQVksRUFDYjtFUHVGQyxvRk9wRkEsWUFBWSxFQUNiO0VQbUZDLHNFT2hGQSxZQUFZLEVBQ2I7RVBxRkQsd0RFekdGLGdCQUFnQixDQUNoQixpQkFBaUIsRUZ5R21CO0VBRGxDLDBEQUlJLGVBQWUsQ0FDZixnQkFBZ0IsRUFDakI7RUFHSCw0REV6R0Ysc0JBRGlCLENBRWpCLHVCQUZpQixFRjZHOEI7RUFJN0Msa0JNaEhBLFlBQVksQ0FDWixrQkFBa0IsQ0FDbEIsbUJBQW1CLEVOZ0hsQjtFQUdELGtETTFHRixpQkFBaUIsQ0FDakIsZUFBZSxDQUNmLGdCQUFnQixDQUNoQixZQUFZLEVOeUdULEVBQUE7O0FRNkZILHdGQW1CRSxVQUFVLENBQ1YsV0FBVyxFQUNaOztBQUdELElBQ0UsbUJBQW1CLENBQ25CLGlCVjdIc0IsQ1U4SHRCLG9CVjdIMEIsQ1U4SDFCLG1DVjdIeUMsRVU4SDFDOztBQUdELFFBRUUsbUJBQW1CLENBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRCxZQUVFLGtCVjNNcUIsQ1U0TXJCLHFCQUFxQixFQUN0Qjs7QUFHRCxRQUNFLGVWcEppQixDVXFKakIscUJBQXFCLEVBQ3RCOztBQUdELHlCQU1FLDRDVmpPNkMsQ1VrTzdDLG9CVjlOeUIsQ1UrTnpCLG1CVnpMc0IsQ1UwTHRCLGVWdEtrQixDVXVLbEIsbUNWcEtzQyxDVXFLdEMsY0FBYyxDQUNkLHNCVnZLeUIsQ1V3S3pCLGlCVnpLbUIsRVUrS3BCOztBQW5CRCw2REFnQkksZVZqUGUsQ1VrUGYsZUFBZSxFQUNoQjs7QUFPRyxLQUNFLGtCQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLG1CQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLHFCQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLG9CQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLHFCQ3JPWSxFRHNPYjs7QUFGRCxLQUNFLGdCQ3JPWSxFRHNPYjs7QUxuS0wsc0NLaUtJLEtBQ0UsZ0JDck9ZLEVEc09iO0VBRkQsS0FDRSxrQkNyT1ksRURzT2I7RUFGRCxLQUNFLHFCQ3JPWSxFRHNPYjtFQUZELEtBQ0UscUJDck9ZLEVEc09iO0VBRkQsS0FDRSxtQkNyT1ksRURzT2I7RUFGRCxLQUNFLGdCQ3JPWSxFRHNPYixFQUFBOztBQU1QLElBQ0UsZVYxUWMsQ1UyUWQsc0JWL0t5QixDVWdMekIscUJBQXFCLENBQ3JCLGdCQUFnQixFQWFqQjs7QUFqQkQsbUJBUUksZVZ0TDBCLEVVMEwzQjs7QUFaSCxRQWVJLFVBQVUsRUFDWDs7QUFJSCxLQUNFLGtCVmpTaUIsQ1VrU2pCLFVBQVUsQ0FDVixnQkFBZ0IsQ0FDaEIsY0FBYyxDQUNkLGlDVjNSaUIsQ1U0UmpCLGVBQWUsQ0FDZixxQlZwTXlCLENVcU16QixZQUFZLEVBQ2I7O0FBR0QsYUFHRSxpQlYzTnNCLENVNE50QixvQlYzTjBCLENVNE4xQiw2QlYxTXlCLEVVMk0xQjs7QUFHRCxLQUNFLG1CQUFtQixFQUNwQjs7QUFHRCxLQUNFLHNCVnJOa0IsQ1VzTmxCLHFCVnBOc0IsRVVxTnZCOztBQUdELEtBQ0UscUJWek5zQixFVTBOdkI7O0FBR0QsNkJBRUkscUJWOU4yQixDVStOM0IsaUJBQWlCLEVBQ2xCOztBQUlILEtBQ0Usb0JWcE95QixFVTBPMUI7O0FBUEQsUUFJSSxzQlZyTzhCLENVc085QixrQlY3VG1CLEVVOFRwQjs7QUFJSCxhQUNFLGlCVm5RMEIsQ1VvUTFCLHVDQ3pUa0IsQ0QwVGxCLCtCVmhWaUIsRVVzVmxCOztBQVRELDJCQU1JLGlCVnpRb0IsQ1UwUXBCLGVWblZhLEVVb1ZkOztBQUlILE9BQ0UsZUFBZSxDQUNmLHFCQ3JVa0IsQ0RzVWxCLGVWM1ZlLEVVZ1doQjs7QUFSRCxjQU1JLHVCQUF1QixFQUN4Qjs7QUFJSCxPQUNFLGVWbldXLENVb1dYLGFBQWEsQ0FDYixrQ1ZyV1csRVVzV1o7O0FBR0QsT0FDRSw2RFYzVG1FLENVNFRuRSxvQlZuV3lCLENVb1d6QixlVjVXVyxDVTZXWCwwQlZoWGdCLENVaVhoQiwwQlZoWGlCLENVaVhqQixzQ0MzVmtCLEVENFZuQjs7QUFHRCxNQUNFLDRCQzNWUyxDRDRWVCxVQUFVLENB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RSxZQUFZLEVBQ1o7O0FBTkYsdUJBUUUsYUFBYSxDQUNiLGdCQUFnQixDQUNoQixpQkFBaUIsQ0FDakIsa0JBQWtCLENBQ2xCLDBCQUEwQixDQUMxQixpQkFBaUIsRUFLakI7O0FBbEJGLDRCQWVHLHNCQUFzQixDQUN0QixrQkFBa0IsRUFDbEI7O0FBR0gsa0JBQ0MsMEJBQTBCLENBQzFCLGdCQUFnQixDQUNoQixpQkFBaUIsRUFDakI7O0FBQ0QsZ0JBQ0MsaUJBQWlCLENBQ2pCLG1CQUFtQixDQUNuQixnQkFBZ0IsRUFNaEI7O0FBVEQsb0JBS0UsWUFBWSxDQUNaLGtCQUFrQixDQUNsQixvQkFBb0IsRUFDcEI7O0FBRUYsaUJBQ0MsZ0JBQWdCLENBQ2hCLGtCQUFrQixDQUNsQiwwQkFBMEIsQ0FDMUIsWUFBWSxDQUNaLGlCQUFpQixFQU9qQjs7QUFaRCxvQkFPRSxxQkFBcUIsRUFJckI7O0FBWEYsZ0NBU0csYUFBYSxFQUNiOztBQUdILGtCQUNDLGlCQUFpQixFQUNqQjs7QUFDRCxnQkFDQyxpQkFBaUIsRUFDakIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbiAqIFZlcnNpb24gNi4yLjNcclxuICogZm91bmRhdGlvbi56dXJiLmNvbVxyXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuICovXHJcblxyXG4vLyBTYXNzIHV0aWxpdGllc1xyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vLyBDb21wb25lbnRzXHJcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcclxuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XHJcbiAgQGlmICRmbGV4IHtcclxuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG4gIEBpZiBub3QgJGZsZXgge1xyXG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuICB9XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuXHJcbiAgQGlmICRmbGV4IHtcclxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG4gIH1cclxufVxyXG4iLCIvKiBTZWxlY3RCb3hJdCBjb250YWluZXIgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogU3R5bGVzIHRoYXQgYXBwbHkgdG8gYWxsIFNlbGVjdEJveEl0IGVsZW1lbnRzICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyICoge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qIFByZXZlbnRzIHRleHQgc2VsZWN0aW9uICovXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiAtbW96LW5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBCdXR0b24gKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0IHtcbiAgd2lkdGg6IDIyNnB4IWltcG9ydGFudDsgLyogV2lkdGggb2YgdGhlIGRyb3Bkb3duIGJ1dHRvbiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogSGVpZ2h0IGFuZCBWZXJ0aWNhbCBBbGlnbm1lbnQgb2YgVGV4dCAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciBzcGFuLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb25zIGEge1xuICBoZWlnaHQ6IDM2cHg7IC8qIEhlaWdodCBvZiB0aGUgZHJvcCBkb3duICovXG4gIGxpbmUtaGVpZ2h0OiAzNnB4OyAvKiBWZXJ0aWNhbGx5IHBvc2l0aW9ucyB0aGUgZHJvcCBkb3duIHRleHQgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEZvY3VzIHBzZXVkbyBzZWxlY3RvciAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQ6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBEaXNhYmxlZCBNb3VzZSBJbnRlcmFjdGlvbiAqL1xuLnNlbGVjdGJveGl0LnNlbGVjdGJveGl0LWRpc2FibGVkLCAuc2VsZWN0Ym94aXQtb3B0aW9ucyAuc2VsZWN0Ym94aXQtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBCdXR0b24gVGV4dCAqL1xuLnNlbGVjdGJveGl0LXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtb3B0aW9uLWljb24tY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLyogT3B0aW9ucyBMaXN0ICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb25zIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDEwMCU7ICAvKiBNaW5pbXVtIFdpZHRoIG9mIHRoZSBkcm9wZG93biBsaXN0IGJveCBvcHRpb25zICovXG4gICp3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5OTk5O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSW5kaXZpZHVhbCBvcHRpb25zICovXG4gLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvcntcbiAgcGFkZGluZzogMCAycHg7XG59XG5cbi8qIEluZGl2aWR1YWwgT3B0aW9uIEhvdmVyIEFjdGlvbiAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSW5kaXZpZHVhbCBPcHRpb24gT3B0Z3JvdXAgSGVhZGVyICovXG4uc2VsZWN0Ym94aXQtb3B0aW9uLCAuc2VsZWN0Ym94aXQtb3B0Z3JvdXAtaGVhZGVyIHtcbiAgdGV4dC1pbmRlbnQ6IDVweDsgLyogSG9yaXpvbnRhbCBQb3NpdGlvbmluZyBvZiB0aGUgc2VsZWN0IGJveCBvcHRpb24gdGV4dCAqL1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLyogRHJvcCBEb3duIG9wdGdyb3VwIGhlYWRlcnMgKi9cbi5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogRHJvcCBEb3duIG9wdGdyb3VwIGhlYWRlciBob3ZlciBwc3VlZG8gY2xhc3MgKi9cbi5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXI6aG92ZXIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIERyb3AgRG93biBkb3duIGFycm93IGNvbnRhaW5lciAqL1xuLnNlbGVjdGJveGl0LWFycm93LWNvbnRhaW5lciB7XG4gIC8qIFBvc2l0aW9ucyB0aGUgZG93biBhcnJvdyAqL1xuICB3aWR0aDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuLyogRHJvcCBEb3duIGRvd24gYXJyb3cgKi9cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIC5zZWxlY3Rib3hpdC1hcnJvdyB7XG4gIC8qIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBkb3duIGFycm93ICovXG4gIG1hcmdpbjogLTVweCBhdXRvIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vKiBEcm9wIERvd24gZG93biBhcnJvdyBmb3IgalF1ZXJ5VUkgYW5kIGpRdWVyeSBNb2JpbGUgKi9cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIC5zZWxlY3Rib3hpdC1hcnJvdy51aS1pY29uIHtcbiAgdG9wOiAzMCU7XG59XG5cbi8qIERyb3AgRG93biBpbmRpdmlkdWFsIG9wdGlvbiBpY29uIHBvc2l0aW9uaW5nICovXG4uc2VsZWN0Ym94aXQtb3B0aW9uLWljb24tY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBEcm9wIERvd24gaW5kaXZpZHVhbCBvcHRpb24gaWNvbiBwb3NpdGlvbmluZyAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uLXVybCB7XG4gIHdpZHRoOiAxOHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc2VsZWN0Ym94aXQtcmVuZGVyaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICpkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgem9vbTogMSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTk5cHggIWltcG9ydGFudDtcbiAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG4vKiBqUXVlcnlVSSBhbmQgalF1ZXJ5IE1vYmlsZSBjb21wYXRhYmlsaXR5IGZpeCAtIEZlZWwgZnJlZSB0byByZW1vdmUgdGhpcyBzdHlsZSBpZiB5b3UgYXJlIG5vdCB1c2luZyBqUXVlcnkgTW9iaWxlICovXG4uanF1ZXJ5dWkgLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiBBbm90aGVyIGpRdWVyeVVJIGFuZCBqUXVlcnkgTW9iaWxlIGNvbXBhdGFiaWxpdHkgZml4IC0gRmVlbCBmcmVlIHRvIHJlbW92ZSB0aGlzIHN0eWxlIGlmIHlvdSBhcmUgbm90IHVzaW5nIGpRdWVyeSBNb2JpbGUgKi9cbi5qcXVlcnl1aSAudWktaWNvbi10cmlhbmdsZS0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDtcbn1cblxuLypcbiAgRGVmYXVsdCBUaGVtZVxuICAtLS0tLS0tLS0tLS0tXG4gIE5vdGU6IEZlZWwgZnJlZSB0byByZW1vdmUgYWxsIG9mIHRoZSBDU1MgdW5kZXJuZWF0aCB0aGlzIGxpbmUgaWYgeW91IGFyZSBub3QgdXNpbmcgdGhlIGRlZmF1bHQgdGhlbWVcbiovXG4uc2VsZWN0Ym94aXQtYnRuIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMxNGM5MTtcbn1cblxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmhvdmVyLFxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmZvY3VzLFxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmFjdGl2ZSB7XG4gIFxufVxuXG4uc2VsZWN0Ym94aXQtYnRuLnNlbGVjdGJveGl0LWVuYWJsZWQ6aG92ZXIsXG4uc2VsZWN0Ym94aXQtYnRuLnNlbGVjdGJveGl0LWVuYWJsZWQ6Zm9jdXMge1xuICBjb2xvcjogIzMzMzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2VsZWN0Ym94aXQtZGVmYXVsdC1hcnJvdyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYXJyb3cucG5nKSBuby1yZXBlYXQ7XG59XG5cbi5zZWxlY3Rib3hpdC1saXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMxNGM5MTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24tYW5jaG9yIHtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5zZWxlY3Rib3hpdC1saXN0ID4gLnNlbGVjdGJveGl0LWZvY3VzID4gLnNlbGVjdGJveGl0LW9wdGlvbi1hbmNob3Ige1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzljMDAwMDtcbn1cblxuLnNlbGVjdGJveGl0LWxpc3QgPiAuc2VsZWN0Ym94aXQtZGlzYWJsZWQgPiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvciB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBnbG9iYWxcclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMyMTk5ZTgsXHJcbiAgc2Vjb25kYXJ5OiAjNzc3LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2VjNTg0MCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxyXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxyXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xyXG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XHJcbn1cclxuXHJcbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxyXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XHJcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXHJcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XHJcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xyXG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcclxuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuXHJcbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xyXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XHJcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xyXG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XHJcblxyXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxyXG4gIC5mb3VuZGF0aW9uLW1xIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcclxuICB9XHJcblxyXG4gIGh0bWwge1xyXG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXHJcbiAgYm9keSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcblxyXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xyXG5cclxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgc2VsZWN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxyXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcclxuICAjbWFwX2NhbnZhcyxcclxuICAubWFwX2NhbnZhcyxcclxuICAubXFhLWRpc3BsYXkge1xyXG4gICAgaW1nLFxyXG4gICAgZW1iZWQsXHJcbiAgICBvYmplY3Qge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcblxyXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcclxuICAuaXMtdmlzaWJsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmlzLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XHJcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuICAvKipcclxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxyXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXHJcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxyXG4gICAqL1xyXG5cclxuICBodG1sIHtcclxuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAgICovXHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXHJcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICAgKiBhbmQgRmlyZWZveC5cclxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxyXG4gICAqL1xyXG5cclxuICBhcnRpY2xlLFxyXG4gIGFzaWRlLFxyXG4gIGRldGFpbHMsXHJcbiAgZmlnY2FwdGlvbixcclxuICBmaWd1cmUsXHJcbiAgZm9vdGVyLFxyXG4gIGhlYWRlcixcclxuICBoZ3JvdXAsXHJcbiAgbWFpbixcclxuICBtZW51LFxyXG4gIG5hdixcclxuICBzZWN0aW9uLFxyXG4gIHN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxyXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgKi9cclxuXHJcbiAgYXVkaW8sXHJcbiAgY2FudmFzLFxyXG4gIHByb2dyZXNzLFxyXG4gIHZpZGVvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxyXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXHJcbiAgICovXHJcblxyXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cclxuICAgKi9cclxuXHJcbiAgW2hpZGRlbl0sXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qIExpbmtzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAgICovXHJcblxyXG4gIGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXHJcbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxyXG4gICAqL1xyXG5cclxuICBhOmFjdGl2ZSxcclxuICBhOmhvdmVyIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG5cclxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgYWJiclt0aXRsZV0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICovXHJcblxyXG4gIGRmbiB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIG1hcmdpbjogMC42N2VtIDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxyXG4gICAqL1xyXG5cclxuICBtYXJrIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZjA7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgc3ViLFxyXG4gIHN1cCB7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgc3VwIHtcclxuICAgIHRvcDogLTAuNWVtO1xyXG4gIH1cclxuXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcblxyXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICAgKi9cclxuXHJcbiAgaW1nIHtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gICAqL1xyXG5cclxuICBzdmc6bm90KDpyb290KSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLyogR3JvdXBpbmcgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxyXG4gICAqL1xyXG5cclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAxZW0gNDBweDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgaHIge1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuXHJcbiAgcHJlIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBjb2RlLFxyXG4gIGtiZCxcclxuICBwcmUsXHJcbiAgc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICB9XHJcblxyXG4gIC8qIEZvcm1zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcclxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cclxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBidXR0b24sXHJcbiAgaW5wdXQsXHJcbiAgb3B0Z3JvdXAsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXHJcbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxyXG4gICAqL1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxyXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uLFxyXG4gIHNlbGVjdCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXHJcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gICAqL1xyXG5cclxuICBidXR0b24sXHJcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXHJcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uW2Rpc2FibGVkXSxcclxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gICAqL1xyXG5cclxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICAgKi9cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gICAqXHJcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gICAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcclxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXHJcbiAgICovXHJcblxyXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXHJcbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cclxuICAgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXHJcbiAgICovXHJcblxyXG4gIC8qIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG4gIH0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICAgKi9cclxuXHJcbiAgbGVnZW5kIHtcclxuICAgIGJvcmRlcjogMDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICAgKi9cclxuXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAgICovXHJcblxyXG4gIG9wdGdyb3VwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLyogVGFibGVzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gICAqL1xyXG5cclxuICB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgfVxyXG5cclxuICB0ZCxcclxuICB0aCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG4iLCIvKiogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQiBWZXJzaW9uIDYuMi4zIGZvdW5kYXRpb24uenVyYi5jb20gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlICovXG4vKiBTZWxlY3RCb3hJdCBjb250YWluZXIgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBTdHlsZXMgdGhhdCBhcHBseSB0byBhbGwgU2VsZWN0Qm94SXQgZWxlbWVudHMgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgKiB7IGZvbnQtc2l6ZTogMTRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgLyogUHJldmVudHMgdGV4dCBzZWxlY3Rpb24gKi8gLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7IC1tb3otdXNlci1zZWxlY3Q6IC1tb3otbm9uZTsgLW1zLXVzZXItc2VsZWN0OiBub25lOyAtby11c2VyLXNlbGVjdDogbm9uZTsgdXNlci1zZWxlY3Q6IG5vbmU7IG91dGxpbmU6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogQnV0dG9uICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdCB7IHdpZHRoOiAyMjZweCAhaW1wb3J0YW50OyAvKiBXaWR0aCBvZiB0aGUgZHJvcGRvd24gYnV0dG9uICovIGN1cnNvcjogcG9pbnRlcjsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEhlaWdodCBhbmQgVmVydGljYWwgQWxpZ25tZW50IG9mIFRleHQgKi9cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgc3BhbiwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtb3B0aW9ucyBhIHsgaGVpZ2h0OiAzNnB4OyAvKiBIZWlnaHQgb2YgdGhlIGRyb3AgZG93biAqLyBsaW5lLWhlaWdodDogMzZweDsgLyogVmVydGljYWxseSBwb3NpdGlvbnMgdGhlIGRyb3AgZG93biB0ZXh0ICovIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEZvY3VzIHBzZXVkbyBzZWxlY3RvciAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQ6Zm9jdXMgeyBvdXRsaW5lOiAwOyB9XG5cbi8qIERpc2FibGVkIE1vdXNlIEludGVyYWN0aW9uICovXG4uc2VsZWN0Ym94aXQuc2VsZWN0Ym94aXQtZGlzYWJsZWQsIC5zZWxlY3Rib3hpdC1vcHRpb25zIC5zZWxlY3Rib3hpdC1kaXNhYmxlZCB7IG9wYWNpdHk6IDAuNjU7IGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7IC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgLW1vei1ib3gtc2hhZG93OiBub25lOyBib3gtc2hhZG93OiBub25lOyBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogQnV0dG9uIFRleHQgKi9cbi5zZWxlY3Rib3hpdC10ZXh0IHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IGZsb2F0OiBsZWZ0OyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0Ym94aXQgLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7IG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLyogT3B0aW9ucyBMaXN0ICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb25zIHsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtaW4td2lkdGg6IDEwMCU7IC8qIE1pbmltdW0gV2lkdGggb2YgdGhlIGRyb3Bkb3duIGxpc3QgYm94IG9wdGlvbnMgKi8gKndpZHRoOiAxMDAlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGxpc3Qtc3R5bGU6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyZmxvdy15OiBhdXRvOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IG5vbmU7IHotaW5kZXg6IDk5OTk5OTk5OTk5OTk7IHRleHQtYWxpZ246IGxlZnQ7IC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgLW1vei1ib3gtc2hhZG93OiBub25lOyBib3gtc2hhZG93OiBub25lOyB9XG5cbi8qIEluZGl2aWR1YWwgb3B0aW9ucyAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvciB7IHBhZGRpbmc6IDAgMnB4OyB9XG5cbi8qIEluZGl2aWR1YWwgT3B0aW9uIEhvdmVyIEFjdGlvbiAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvcjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBJbmRpdmlkdWFsIE9wdGlvbiBPcHRncm91cCBIZWFkZXIgKi9cbi5zZWxlY3Rib3hpdC1vcHRpb24sIC5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXIgeyB0ZXh0LWluZGVudDogNXB4OyAvKiBIb3Jpem9udGFsIFBvc2l0aW9uaW5nIG9mIHRoZSBzZWxlY3QgYm94IG9wdGlvbiB0ZXh0ICovIG1hcmdpbjogMDsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi8qIERyb3AgRG93biBvcHRncm91cCBoZWFkZXJzICovXG4uc2VsZWN0Ym94aXQtb3B0Z3JvdXAtaGVhZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogRHJvcCBEb3duIG9wdGdyb3VwIGhlYWRlciBob3ZlciBwc3VlZG8gY2xhc3MgKi9cbi5zZWxlY3Rib3hpdC1vcHRncm91cC1oZWFkZXI6aG92ZXIgeyBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogRHJvcCBEb3duIGRvd24gYXJyb3cgY29udGFpbmVyICovXG4uc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIHsgLyogUG9zaXRpb25zIHRoZSBkb3duIGFycm93ICovIHdpZHRoOiA0MnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB9XG5cbi8qIERyb3AgRG93biBkb3duIGFycm93ICovXG4uc2VsZWN0Ym94aXQgLnNlbGVjdGJveGl0LWFycm93LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtYXJyb3cgeyAvKiBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZG93biBhcnJvdyAqLyBtYXJnaW46IC01cHggYXV0byAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMDsgbGVmdDogMDsgfVxuXG4vKiBEcm9wIERvd24gZG93biBhcnJvdyBmb3IgalF1ZXJ5VUkgYW5kIGpRdWVyeSBNb2JpbGUgKi9cbi5zZWxlY3Rib3hpdCAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIC5zZWxlY3Rib3hpdC1hcnJvdy51aS1pY29uIHsgdG9wOiAzMCU7IH1cblxuLyogRHJvcCBEb3duIGluZGl2aWR1YWwgb3B0aW9uIGljb24gcG9zaXRpb25pbmcgKi9cbi5zZWxlY3Rib3hpdC1vcHRpb24taWNvbi1jb250YWluZXIgeyBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1vcHRpb24taWNvbiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKiBEcm9wIERvd24gaW5kaXZpZHVhbCBvcHRpb24gaWNvbiBwb3NpdGlvbmluZyAqL1xuLnNlbGVjdGJveGl0LW9wdGlvbi1pY29uLXVybCB7IHdpZHRoOiAxOHB4OyBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3Rib3hpdC1yZW5kZXJpbmcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgKmRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB6b29tOiAxICFpbXBvcnRhbnQ7IHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IHRvcDogLTk5OTlweCAhaW1wb3J0YW50OyBsZWZ0OiAtOTk5OXB4ICFpbXBvcnRhbnQ7IH1cblxuLyogalF1ZXJ5VUkgYW5kIGpRdWVyeSBNb2JpbGUgY29tcGF0YWJpbGl0eSBmaXggLSBGZWVsIGZyZWUgdG8gcmVtb3ZlIHRoaXMgc3R5bGUgaWYgeW91IGFyZSBub3QgdXNpbmcgalF1ZXJ5IE1vYmlsZSAqL1xuLmpxdWVyeXVpIC51aS1pY29uIHsgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuXG4vKiBBbm90aGVyIGpRdWVyeVVJIGFuZCBqUXVlcnkgTW9iaWxlIGNvbXBhdGFiaWxpdHkgZml4IC0gRmVlbCBmcmVlIHRvIHJlbW92ZSB0aGlzIHN0eWxlIGlmIHlvdSBhcmUgbm90IHVzaW5nIGpRdWVyeSBNb2JpbGUgKi9cbi5qcXVlcnl1aSAudWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsgfVxuXG4vKiBEZWZhdWx0IFRoZW1lIC0tLS0tLS0tLS0tLS0gTm90ZTogRmVlbCBmcmVlIHRvIHJlbW92ZSBhbGwgb2YgdGhlIENTUyB1bmRlcm5lYXRoIHRoaXMgbGluZSBpZiB5b3UgYXJlIG5vdCB1c2luZyB0aGUgZGVmYXVsdCB0aGVtZSAqL1xuLnNlbGVjdGJveGl0LWJ0biB7IGJvcmRlcjogMXB4IHNvbGlkICMzMTRjOTE7IH1cblxuLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1lbmFibGVkOmhvdmVyLCAuc2VsZWN0Ym94aXQtYnRuLnNlbGVjdGJveGl0LWVuYWJsZWQ6Zm9jdXMgeyBjb2xvcjogIzMzMzMzMzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZWxlY3Rib3hpdC1kZWZhdWx0LWFycm93IHsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9hcnJvdy5wbmcpIG5vLXJlcGVhdDsgfVxuXG4uc2VsZWN0Ym94aXQtbGlzdCB7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IGJvcmRlcjogMXB4IHNvbGlkICMzMTRjOTE7IHdpZHRoOiAxMDAlOyB9XG5cbi5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24tYW5jaG9yIHsgY29sb3I6ICMzMzMzMzM7IH1cblxuLnNlbGVjdGJveGl0LWxpc3QgPiAuc2VsZWN0Ym94aXQtZm9jdXMgPiAuc2VsZWN0Ym94aXQtb3B0aW9uLWFuY2hvciB7IGNvbG9yOiAjZmZmZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjOWMwMDAwOyB9XG5cbi5zZWxlY3Rib3hpdC1saXN0ID4gLnNlbGVjdGJveGl0LWRpc2FibGVkID4gLnNlbGVjdGJveGl0LW9wdGlvbi1hbmNob3IgeyBjb2xvcjogIzk5OTk5OTsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi4gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLiAqL1xuaHRtbCB7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uICovXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMSBhbmQgRmlyZWZveC4gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS4gKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuICovXG5hdWRpbywgY2FudmFzLCBwcm9ncmVzcywgdmlkZW8geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi8gdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovIH1cblxuLyoqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkgeyBkaXNwbGF5OiBub25lOyBoZWlnaHQ6IDA7IH1cblxuLyoqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC4gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLiAqL1xuW2hpZGRlbl0sIHRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLiAqL1xuYSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuIGFjdGl2ZS9ob3ZlciBzdGF0ZS4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHsgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS4gKi9cbmFiYnJbdGl0bGVdIHsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS4gKi9cbmRmbiB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuICovXG5oMSB7IGZvbnQtc2l6ZTogMmVtOyBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LiAqL1xubWFyayB7IGJhY2tncm91bmQ6ICNmZjA7IGNvbG9yOiAjMDAwOyB9XG5cbi8qKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy4gKi9cbnN1Yiwgc3VwIHsgZm9udC1zaXplOiA3NSU7IGxpbmUtaGVpZ2h0OiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuXG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLiAqL1xuaW1nIHsgYm9yZGVyOiAwOyB9XG5cbi8qKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS4gKi9cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuICovXG5maWd1cmUgeyBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuICovXG5ociB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBoZWlnaHQ6IDA7IH1cblxuLyoqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLiAqL1xucHJlIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy4gKi9cbmNvZGUsIGtiZCwgcHJlLCBzYW1wIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC4gKi9cbi8qKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS4gKi9cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHsgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi8gZm9udDogaW5oZXJpdDsgLyogMiAqLyBtYXJnaW46IDA7IC8qIDMgKi8gfVxuXG4vKiogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuICovXG5idXR0b24geyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKiogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guICovXG5idXR0b24sIHNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYCBjb250cm9scy4gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSBgaW5wdXRgIGFuZCBvdGhlcnMuICovXG5idXR0b24sIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi8gY3Vyc29yOiBwb2ludGVyOyAvKiAzICovIH1cblxuLyoqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuICovXG5idXR0b25bZGlzYWJsZWRdLCBodG1sIGlucHV0W2Rpc2FibGVkXSB7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IH1cblxuLyoqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW4gdGhlIFVBIHN0eWxlc2hlZXQuICovXG5pbnB1dCB7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy4gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC4gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC4gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAyICovIH1cblxuLyoqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLyoqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy4gW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLiAqL1xuLyogZmllbGRzZXQgeyBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOyBtYXJnaW46IDAgMnB4OyBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH0gKi9cbi8qKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy4gKi9cbmxlZ2VuZCB7IGJvcmRlcjogMDsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuICovXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLiAqL1xub3B0Z3JvdXAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuICovXG50YWJsZSB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLCB0aCB7IHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEgeyBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHsgZm9udC1zaXplOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkgeyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiBcIkdlb21ldHJpYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6ICMwYTBhMGE7IGJhY2tncm91bmQ6ICNmZWZlZmU7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHsgd2lkdGg6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLCAjbWFwX2NhbnZhcyBlbWJlZCwgI21hcF9jYW52YXMgb2JqZWN0LCAubWFwX2NhbnZhcyBpbWcsIC5tYXBfY2FudmFzIGVtYmVkLCAubWFwX2NhbnZhcyBvYmplY3QsIC5tcWEtZGlzcGxheSBpbWcsIC5tcWEtZGlzcGxheSBlbWJlZCwgLm1xYS1kaXNwbGF5IG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLW1vei1hcHBlYXJhbmNlOiBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwOyBsaW5lLWhlaWdodDogMTsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHsgb3V0bGluZTogMDsgfVxuXG4uaXMtdmlzaWJsZSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHsgbWF4LXdpZHRoOiAxMjE3cHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7IGNvbnRlbnQ6ICcgJzsgZGlzcGxheTogdGFibGU7IH1cblxuLnJvdzo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5yb3cgLnJvdyB7IG1heC13aWR0aDogbm9uZTsgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnJvdyAucm93IHsgbWFyZ2luLWxlZnQ6IC0xLjc1cmVtOyBtYXJnaW4tcmlnaHQ6IC0xLjc1cmVtOyB9IH1cblxuLnJvdyAucm93LmNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4ucm93LmV4cGFuZGVkIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5yb3cuZXhwYW5kZWQgLnJvdyB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMgeyB3aWR0aDogMTAwJTsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmctbGVmdDogMS4yNXJlbTsgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5jb2x1bW4sIC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAxLjc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtOyB9IH1cblxuLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7IGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNtYWxsLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHsgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHsgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHsgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIgeyB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMgeyB3aWR0aDogMTAwJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHsgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHsgd2lkdGg6IDMzLjMzMzMzJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHsgd2lkdGg6IDI1JTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHsgd2lkdGg6IDIwJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHsgd2lkdGg6IDE2LjY2NjY3JTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHsgd2lkdGg6IDE0LjI4NTcxJTsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkgeyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHsgd2lkdGg6IDEyLjUlOyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdywgLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHsgZmxvYXQ6IG5vbmU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsIC5zbWFsbC1wdXNoLTAsIC5zbWFsbC1wdWxsLTAgeyBwb3NpdGlvbjogc3RhdGljOyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyBmbG9hdDogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7IHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7IHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHsgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHsgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMgeyB3aWR0aDogMzMuMzMzMzMlOyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7IHdpZHRoOiAyNSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHsgd2lkdGg6IDIwJTsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMgeyB3aWR0aDogMTYuNjY2NjclOyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7IHdpZHRoOiAxNC4yODU3MSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHsgd2lkdGg6IDEyLjUlOyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdywgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07IHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7IGZsb2F0OiBub25lOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS1wdXNoLTAsIC5tZWRpdW0tcHVsbC0wIHsgcG9zaXRpb246IHN0YXRpYzsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTggeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7IHdpZHRoOiA1MCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7IHdpZHRoOiAzMy4zMzMzMyU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7IHdpZHRoOiAyNSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7IHdpZHRoOiAyMCU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7IHdpZHRoOiAxNi42NjY2NyU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7IHdpZHRoOiAxNC4yODU3MSU7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7IHdpZHRoOiAxMi41JTsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3csIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAxLjc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7IGZsb2F0OiBub25lOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtcHVzaC0wLCAubGFyZ2UtcHVsbC0wIHsgcG9zaXRpb246IHN0YXRpYzsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5kaXYsIGRsLCBkdCwgZGQsIHVsLCBvbCwgbGksIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHByZSwgZm9ybSwgcCwgYmxvY2txdW90ZSwgdGgsIHRkIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbnAgeyBmb250LXNpemU6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDFyZW07IHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sIGkgeyBmb250LXN0eWxlOiBpdGFsaWM7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZywgYiB7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7IGZvbnQtc2l6ZTogODAlOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgZm9udC1mYW1pbHk6IFwiR2VvbWV0cmlhXCIsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7IGNvbG9yOiAjY2FjYWNhOyBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmgyIHsgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmgzIHsgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuaDQgeyBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg1IHsgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYgeyBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyBoMSB7IGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7IGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHsgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQgeyBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7IGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEgeyBjb2xvcjogIzIxOTllODsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmE6aG92ZXIsIGE6Zm9jdXMgeyBjb2xvcjogIzE1ODVjZjsgfVxuXG5hIGltZyB7IGJvcmRlcjogMDsgfVxuXG5ociB7IG1heC13aWR0aDogMTIxN3B4OyBoZWlnaHQ6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLXRvcDogMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7IGJvcmRlci1sZWZ0OiAwOyBtYXJnaW46IDEuMjVyZW0gYXV0bzsgY2xlYXI6IGJvdGg7IH1cblxudWwsIG9sLCBkbCB7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDFyZW07IGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkgeyBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbm9sIHsgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wgeyBtYXJnaW4tbGVmdDogMS4yNXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuZGwgZHQgeyBtYXJnaW4tYm90dG9tOiAwLjNyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUgeyBtYXJnaW46IDAgMCAxcmVtOyBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG5cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAwLjgxMjVyZW07IGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGU6YmVmb3JlIHsgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIgeyBjb2xvcjogIzBhMGEwYTsgY3Vyc29yOiBoZWxwOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IH1cblxuY29kZSB7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogIzBhMGEwYTsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQgeyBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7IG1hcmdpbjogMDsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIgeyBtYXJnaW4tdG9wOiAwLjJyZW07IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNDsgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQgeyBmb250LXNpemU6IDEyNSU7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQgeyBmb250LXNpemU6IDIuNXJlbTsgbGluZS1oZWlnaHQ6IDE7IH1cblxucCArIC5zdGF0IHsgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7IG1hcmdpbi1sZWZ0OiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQgeyAqIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSwgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLCBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLCBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsIGJsb2NrcXVvdGUgeyBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhOyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cbiAgcCwgaDIsIGgzIHsgb3JwaGFuczogMzsgd2lkb3dzOiAzOyB9XG4gIGgyLCBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLypmb250cyovXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLmVvdFwiKTsgc3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUJvbGQuc3ZnI0dlb21ldHJpYS1Cb2xkXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90XCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUV4dHJhQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtRXh0cmFCb2xkLnN2ZyNHZW9tZXRyaWEtRXh0cmFCb2xkXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IDgwMDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ0dlb21ldHJpYSc7IHNyYzogdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LmVvdFwiKTsgc3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtTGlnaHQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LnN2ZyNHZW9tZXRyaWEtTGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpOyBmb250LXdlaWdodDogMzAwOyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJzsgc3JjOiB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEuZW90XCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEuc3ZnI0dlb21ldHJpYVwiKSBmb3JtYXQoXCJzdmdcIik7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdHZW9tZXRyaWEnOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90XCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvR2VvbWV0cmlhLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9HZW9tZXRyaWEtTWVkaXVtLnN2ZyNHZW9tZXRyaWEtTWVkaXVtXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmJvZHkgeyBtaW4taGVpZ2h0OiAxMDAlOyBtaW4td2lkdGg6IDEyNTBweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmJvZHk6YmVmb3JlIHsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmcuanBnKSBuby1yZXBlYXQgY2VudGVyIDE2MHB4OyBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgei1pbmRleDogLTE7IH1cblxuaGVhZGVyIHsgcGFkZGluZy1ib3R0b206IDM1cHg7IH1cblxuaGVhZGVyIC5sb2dvIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogNTNweCAwIDAgNXB4OyB9XG5cbmhlYWRlciAuY29udGFjdHMgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiA2MXB4IDAgMCA0MXB4OyB9XG5cbmhlYWRlciAuY29udGFjdHMgLnRlbCB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDE0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaGVhZGVyIC5jb250YWN0cyAudGVsIGIgeyBmb250LXdlaWdodDogNTAwOyB9XG5cbmhlYWRlciAuY29udGFjdHMgLnRleHQgeyBtYXJnaW4tdG9wOiA4cHg7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDE0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaGVhZGVyIC5idXR0b25zIHsgZmxvYXQ6IHJpZ2h0OyBtYXgtd2lkdGg6IDE0MHB4OyB0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXRvcDogMzVweDsgfVxuXG5oZWFkZXIgLmJ1dHRvbnMgYSB7IG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uaC1saW5rcyB7IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDY2cHggMCAwIDk2cHg7IH1cblxuLmgtbGlua3MgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGxpbmUtaGVpZ2h0OiAyNHB4OyBtYXJnaW46IDAgMCAwIDQ2cHg7IH1cblxuLmgtbGlua3MgbGk6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaC1saW5rcyBsaSBhIHsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmgtbGlua3MgbGkgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uaC1saW5rcyBsaSBhOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtNDBweDsgfVxuXG4uaC1saW5rcyBsaSBhLmxpbmstMTpiZWZvcmUgeyB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tMS5wbmcpIG5vLXJlcGVhdDsgdG9wOiAtN3B4OyB9XG5cbi5oLWxpbmtzIGxpIGEubGluay0yOmJlZm9yZSB7IHdpZHRoOiAyN3B4OyBoZWlnaHQ6IDMxcHg7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi0yLnBuZykgbm8tcmVwZWF0OyB0b3A6IC03cHg7IGxlZnQ6IC0zMnB4OyB9XG5cbi5oLWxpbmtzIGxpIGEubGluay0zOmJlZm9yZSB7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDI4cHg7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi0zLnBuZykgbm8tcmVwZWF0OyB0b3A6IC00cHg7IGxlZnQ6IC0zNHB4OyB9XG5cbi5idXR0b24tYm9yZGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgIzMxNGM5MTsgYm9yZGVyLXJhZGl1czogMXB4OyBwYWRkaW5nOiA3cHggMTVweDsgY29sb3I6ICMzZDQzNTI7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJvcmRlci1yYWRpdXM6IDNweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5idXR0b24tYm9yZGVyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzMxNGM5MTsgY29sb3I6ICNmZmY7IH1cblxuLmhvbWUtdG9wIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiAxMjBweDsgfVxuXG4uaG9tZS10b3AgaDEgeyBmb250LXNpemU6IDYwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ob21lLXRvcCBoMyB7IGZvbnQtc2l6ZTogNDZweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbjogMDsgfVxuXG4uaG9tZS10b3AgLmJ1dHRvbnMgeyBtYXJnaW46IDQ1cHggMCAwOyB9XG5cbi5ob21lLXRvcCAuYnV0dG9ucyBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjQ2cHg7IGhlaWdodDogNThweDsgYmFja2dyb3VuZC1jb2xvcjogIzkwMDsgYm9yZGVyLXJhZGl1czogMXB4OyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDU4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbjogMCAxMHB4OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmhvbWUtdG9wIC5idXR0b25zIGE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lLCAuc2VydmljZS10aWxlcyB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IG1hcmdpbi10b3A6IDg5cHg7IHBhZGRpbmctdG9wOiAzN3B4OyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ10sIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXSB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogIzAwMDsgYm9yZGVyOiAxcHggc29saWQgI2JhZDFkZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgaGVpZ2h0OiAzMTFweDsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2VydmljZS10aWxlLWhvbWUgW2NsYXNzKj0nc2VydmljZSddOmhvdmVyLCAuc2VydmljZS10aWxlcyBbY2xhc3MqPSdzZXJ2aWNlJ106aG92ZXIgeyBib3JkZXItY29sb3I6ICM5MDA7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAuYmcsIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAuYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOyBib3JkZXItdG9wLWNvbG9yOiAjOTAwOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ106aG92ZXIgLnRleHQsIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAudGV4dCB7IGNvbG9yOiAjZmZmOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ106aG92ZXIgLm1vcmUsIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXTpob3ZlciAubW9yZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuaWNvbiwgLnNlcnZpY2UtdGlsZXMgLmljb24geyBoZWlnaHQ6IDE1NXB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5uYW1lLCAuc2VydmljZS10aWxlcyAubmFtZSB7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5iZywgLnNlcnZpY2UtdGlsZXMgLmJnIHsgbWFyZ2luOiAyMHB4IC0xcHggMDsgcGFkZGluZy10b3A6IDFweDsgcGFkZGluZy1ib3R0b206IDFweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiYWQxZGY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBib3JkZXItdG9wLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4uc2VydmljZS10aWxlLWhvbWUgLnRleHQsIC5zZXJ2aWNlLXRpbGVzIC50ZXh0IHsgbWFyZ2luOiAyMnB4IDI1cHg7IGhlaWdodDogNjNweDsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogMzAwOyBjb2xvcjogYmxhY2s7IGxpbmUtaGVpZ2h0OiAxLjE7IHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5tb3JlLCAuc2VydmljZS10aWxlcyAubW9yZSB7IG1hcmdpbi1ib3R0b206IDE4cHg7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtdGlsZS1ob21lIC5tb3JlIGEsIC5zZXJ2aWNlLXRpbGVzIC5tb3JlIGEgeyBmb250LXNpemU6IDEzcHg7IGJvcmRlci1jb2xvcjogI2ZmZjsgY29sb3I6ICNmZmY7IHBhZGRpbmctbGVmdDogMzBweDsgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4uc2VydmljZS10aWxlLWhvbWUgLm1vcmUgYTpob3ZlciwgLnNlcnZpY2UtdGlsZXMgLm1vcmUgYTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjOTAwOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuc2VydmljZS0xIC5pY29uLCAuc2VydmljZS10aWxlcyAuc2VydmljZS0xIC5pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtMS5wbmcpOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuc2VydmljZS0yIC5pY29uLCAuc2VydmljZS10aWxlcyAuc2VydmljZS0yIC5pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtMi5wbmcpOyB9XG5cbi5zZXJ2aWNlLXRpbGUtaG9tZSAuc2VydmljZS0zIC5pY29uLCAuc2VydmljZS10aWxlcyAuc2VydmljZS0zIC5pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtMy5wbmcpOyB9XG5cbi5vYmplY3QtaG9tZSB7IG1hcmdpbi10b3A6IDk1cHg7IH1cblxuLm9iamVjdC1ob21lIC5saXN0IHsgbWFyZ2luLWxlZnQ6IC0zNXB4OyB9XG5cbi5vYmplY3QtaG9tZSAubGlzdDphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cblxuLm9iamVjdC1ob21lIC5vYmplY3QtaXRlbSB7IHdpZHRoOiAyNjRweDsgbWFyZ2luLWxlZnQ6IDM1cHg7IH1cblxuLm9iamVjdC1ob21lIC5hbGwtcHJvamVjdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogNDhweDsgfVxuXG4ub2JqZWN0LWhvbWUgLmFsbC1wcm9qZWN0IGEgeyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLm9iamVjdC1ob21lIC5hbGwtcHJvamVjdCBhOmhvdmVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5ibG9jay10aXRsZSB7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ub2JqZWN0LWl0ZW0geyBmbG9hdDogbGVmdDsgYm9yZGVyOiAxcHggc29saWQgI2JhZDFkZjsgfVxuXG4ub2JqZWN0LWl0ZW0gLm5hbWUgeyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHBhZGRpbmc6IDE1cHggMTRweCA4cHg7IGhlaWdodDogNzJweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLm5hbWUgYSB7IGNvbG9yOiAjMDAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4ub2JqZWN0LWl0ZW0gLm5hbWUgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ub2JqZWN0LWl0ZW0gLmltYWdlIHsgbWFyZ2luOiAwIC0xcHg7IH1cblxuLm9iamVjdC1pdGVtIC5pbmZvIHsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMTsgcGFkZGluZzogMTFweCAxNnB4IDFweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLmluZm8gPiBkaXYgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5vYmplY3QtaXRlbSAuaW5mbyBzcGFuIHsgY29sb3I6ICM5MDA7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLm9iamVjdC1pdGVtIC5ib3R0b20geyBib3JkZXItdG9wOiAxcHggc29saWQgI2JhZDFkZjsgcGFkZGluZzogMThweCAxNXB4IDhweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLmxvY2F0aW9uIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNDAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogMTZweDsgfVxuXG4ub2JqZWN0LWl0ZW0gLmxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxNHB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tcGxhY2UucG5nKSBuby1yZXBlYXQ7IGxlZnQ6IDA7IHRvcDogMnB4OyB9XG5cbi5vYmplY3QtaXRlbSAucHJpY2UgeyBjb2xvcjogIzkwMDsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNTAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5hYm91dC1ob21lIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMjAsIDAuNyk7IHBhZGRpbmc6IDUwcHggMCA2MHB4OyB9XG5cbi5hYm91dC1ob21lIGgzIHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogMzAwOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hYm91dC1ob21lIHAgeyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBwYWRkaW5nOiAwIDEwcHg7IG1hcmdpbi1ib3R0b206IDI4cHg7IH1cblxuLmFib3V0LWhvbWUgLm9yZGVyIGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxNDZweDsgaGVpZ2h0OiAzOHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOyBib3JkZXItcmFkaXVzOiAxcHggMnB4IDJweCAxcHg7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDM4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjZmZmOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmFib3V0LWhvbWUgLm9yZGVyIGE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuLnNlcnZpY2UtdGlsZXMgeyBtYXJnaW4tdG9wOiA1MHB4OyBwYWRkaW5nLXRvcDogMDsgfVxuXG4uc2VydmljZS10aWxlcyBbY2xhc3MqPSdzZXJ2aWNlJ10geyBoZWlnaHQ6IDIzMXB4OyB9XG5cbmZvb3RlciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmFkMWRmOyBtYXJnaW4tdG9wOiA0MHB4OyBwYWRkaW5nOiA1MHB4IDA7IH1cblxuZm9vdGVyIC5oLWxpbmtzIHsgZmxvYXQ6IG5vbmU7IG1hcmdpbjogMCAwIDAgMzZweDsgfVxuXG5mb290ZXIgLmJvdHRvbSB7IG1hcmdpbi10b3A6IDcwcHg7IH1cblxuZm9vdGVyIC5jb3B5IHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZmxvYXQ6IGxlZnQ7IH1cblxuZm9vdGVyIC5kZXYgeyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNzFweDsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Rldi5wbmcpIG5vLXJlcGVhdDsgfVxuXG4uYmctd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5iZy13aGl0ZS5tYXJnaW4geyBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIHsgcGFkZGluZy10b3A6IDI2cHg7IHBhZGRpbmctYm90dG9tOiAyNnB4OyB9XG5cbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIFtjbGFzcyo9J3NlcnZpY2UtJ10geyBoZWlnaHQ6IDg0cHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjYmFkMWRmOyBkaXNwbGF5OiBibG9jazsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiA4NHB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwYWRkaW5nLWxlZnQ6IDg1cHg7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IGNlbnRlcjsgfVxuXG4uc2VydmljZS10aWxlcy1zbWFsbCBbY2xhc3MqPSdzZXJ2aWNlLSddOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjOWMwMDAwOyB9XG5cbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIC5zZXJ2aWNlLTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb24tc2Vydi1zbWFsbC0xLnBuZyk7IH1cblxuLnNlcnZpY2UtdGlsZXMtc21hbGwgLnNlcnZpY2UtMiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbi1zZXJ2LXNtYWxsLTIucG5nKTsgfVxuXG4uc2VydmljZS10aWxlcy1zbWFsbCAuc2VydmljZS0zIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtc21hbGwtMy5wbmcpOyB9XG5cbi5wYWdlLXRpdGxlIHsgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLnBhZ2UtdGl0bGUgaDEgeyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuI2NvbnRlbnQgeyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG5cbiNjb250ZW50IHAgeyBsaW5lLWhlaWdodDogaW5oZXJpdDsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uaS1uZXdzOmxhc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiA5MHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5pLW5ld3MgLnRpdGxlIHsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uaS1uZXdzIC5uZXdzIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cblxuLmktbmV3cyAubmV3czphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cblxuLmktbmV3cyAubmV3cyAuaW1hZ2UgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiA0cHggMjZweCAwIDA7IH1cblxuLmktbmV3cyAubmV3cyAuZGF0ZSB7IGZvbnQtc2l6ZTogMTRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5pLW5ld3MgLm5ld3MgLm5hbWUgeyBjb2xvcjogaW5oZXJpdDsgZm9udC13ZWlnaHQ6IDcwMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmktbmV3cyAubmV3cyAubmFtZTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uaS1uZXdzIC5uZXdzIC50ZXh0IHsgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5pLW5ld3MgLmFsbC1uZXdzIHsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAyNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4uaS1uZXdzIC5hbGwtbmV3czpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ub2JqZWN0LXBhZ2UgeyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4ub2JqZWN0LXBhZ2UgLnNvcnQgeyBtYXJnaW4tdG9wOiAtMTVweDsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ub2JqZWN0LXBhZ2UgLnNvcnQgbGFiZWwgeyBmb250LXNpemU6IDEycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiAzNnB4OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLm9iamVjdC1wYWdlIC5saXN0IHsgbWFyZ2luLWxlZnQ6IC0zNnB4OyB9XG5cbi5vYmplY3QtcGFnZSAubGlzdDphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cblxuLm9iamVjdC1wYWdlIC5vYmplY3QtaXRlbSB7IHdpZHRoOiA1NjJweDsgbWFyZ2luLWxlZnQ6IDM2cHg7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLm9iamVjdC1wYWdlIC5vYmplY3QtaXRlbSAubmFtZSB7IGhlaWdodDogYXV0bzsgcGFkZGluZy1ib3R0b206IDEycHg7IH1cblxuLm9iamVjdC1wYWdlIC5hbGwtcHJvamVjdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ub2JqZWN0LXBhZ2UgLmFsbC1wcm9qZWN0IGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAyOTZweDsgaGVpZ2h0OiAzOHB4OyBsaW5lLWhlaWdodDogMzhweDsgYmFja2dyb3VuZC1jb2xvcjogIzkwMDsgYm9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4OyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5vYmplY3QtcGFnZSAuYWxsLXByb2plY3QgYTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IG1hcm9vbjsgfVxuXG4uaW1hZ2UtbGVmdCB7IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDRweCAyNnB4IDAgMDsgfVxuXG4uc2VydmljZS1jb250YWluZXIgLnJvdyB7IHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG5cbi5ib3R0b20tb3JkZXItYnRuIHsgbWFyZ2luLXRvcDogMzhweDsgfVxuXG4uYm90dG9tLW9yZGVyLWJ0biBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTQ2cHg7IGhlaWdodDogMzhweDsgYmFja2dyb3VuZC1jb2xvcjogIzkwMDsgYm9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4OyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDM4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ib3R0b20tb3JkZXItYnRuIGE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuLm1hcC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogNTI4cHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLm1hcC1jb250YWluZXIgI3lhLW1hcCB7IGhlaWdodDogNTI4cHg7IHdpZHRoOiAxMDAlOyB9XG5cbi5tYXAtY29udGFpbmVyIC5tYXAtYm90dG9tIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgbGVmdDogMDsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY1LCA3NiwgODIsIDAuNTUpOyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDMwMDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRpbmc6IDE3cHggMTlweCAyN3B4OyB9XG5cbi5tYXAtY29udGFpbmVyIC5tYXAtYm90dG9tIGEgeyBjb2xvcjogaW5oZXJpdDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMWIxYjE7IHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuXG4ubWFwLWNvbnRhaW5lciAubWFwLWJvdHRvbSBhOmhvdmVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJyZWFkY3J1bWJzIHsgbWFyZ2luOiAtMjVweCAwIDMwcHg7IH1cblxuLmJyZWFkY3J1bWJzIGxpIHsgbGluZS1oZWlnaHQ6IDI0cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYnJlYWRjcnVtYnMgbGk6YmVmb3JlIHsgY29udGVudDogJy8nOyBtYXJnaW4tcmlnaHQ6IDRweDsgfVxuXG4uYnJlYWRjcnVtYnMgbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uYnJlYWRjcnVtYnMgbGkgYSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgY29sb3I6IGJsYWNrOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzc5ZDhhMTsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5icmVhZGNydW1icyBsaSBhOmhvdmVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm9iamVjdC10b3A6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogdGFibGU7IHdpZHRoOiAxMDAlOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA3MDlweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIHVsIHsgbWFyZ2luOiAwOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIC5pbWFnZS10aHVtYiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAyMHB4OyBsZWZ0OiAwOyB9XG5cbi5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIC5pbWFnZS10aHVtYiBhIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxNDBweDsgaGVpZ2h0OiA5MnB4OyBmbG9hdDogbGVmdDsgbWFyZ2luOiAwIDE4cHg7IGJvcmRlcjogM3B4IHNvbGlkICNlZGVkZTY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub2JqZWN0LXRvcCAub2JqZWN0LWltYWdlcyAuaW1hZ2UtdGh1bWIgYS5hY3RpdmU6YmVmb3JlIHsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvcmRlci1ib3R0b206IDE2cHggc29saWQgI2VkZWRlNjsgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDsgYm90dG9tOiAxMDAlOyBsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAtMTZweDsgfVxuXG4ub2JqZWN0LXRvcCAub2JqZWN0LWltYWdlcyAuYngtbmV4dCwgLm9iamVjdC10b3AgLm9iamVjdC1pbWFnZXMgLmJ4LXByZXYgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDIwcHg7IHRvcDogMTM4cHg7IHdpZHRoOiAzOXB4OyBoZWlnaHQ6IDk5cHg7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDA7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvdy1sZWZ0LnBuZyk7IH1cblxuLm9iamVjdC10b3AgLm9iamVjdC1pbWFnZXMgLmJ4LW5leHQgeyBsZWZ0OiBhdXRvOyByaWdodDogMjBweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvdy1yaWdodC5wbmcpOyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDQwN3B4OyBtYXJnaW4tdG9wOiAtNXB4OyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCB1bCB7IG1hcmdpbjogMDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgdWwgbGkgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCB1bCBsaSBiIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgdWwucGFyYW1zIGIgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAxMjBweDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgLmNvbnRhY3RzIHsgbWFyZ2luLXRvcDogNjVweDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgLmNvbnRhY3RzIC50aXRsZSB7IGZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuXG4ub2JqZWN0LXRvcCAucmlnaHQgLmNvbnRhY3RzIC5vcmRlciB7IG1hcmdpbi10b3A6IDE1cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDE0NnB4OyBoZWlnaHQ6IDM4cHg7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7IGJvcmRlci1yYWRpdXM6IDFweCAycHggMnB4IDFweDsgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMzhweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5vYmplY3QtdG9wIC5yaWdodCAuY29udGFjdHMgLm9yZGVyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogbWFyb29uOyB9XG5cbi5vYmplY3Qtb3B0aW9ucyB7IG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLm9iamVjdC1vcHRpb25zIC50aXRsZSB7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4ub2JqZWN0LW9wdGlvbnMgLnRpdGxlLTIgeyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLm9iamVjdC1vcHRpb25zIC50ZXh0IHsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMTRweDsgfVxuXG4ub2JqZWN0LW9wdGlvbnMgLm9wdGlvbnMgeyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5vYmplY3Qtb3B0aW9ucyAub3B0aW9ucyB0YWJsZSB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMzMuMzMlOyB9XG5cbi5vYmplY3Qtb3B0aW9ucyAub3B0aW9ucyB0YWJsZSB0ZCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDI0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLm9iamVjdC1vcHRpb25zIC5vcHRpb25zIHRhYmxlIHRkOmZpcnN0LWNoaWxkIHsgd2lkdGg6IDI4MHB4OyBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG5cbi5vYmplY3QtZGVzcmlwdGlvbnMgeyBtYXJnaW4tdG9wOiA1NXB4OyB9XG5cbi5vYmplY3QtZGVzcmlwdGlvbnMgLnRpdGxlIHsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5vYmplY3QtZGVzcmlwdGlvbnMgLnRleHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmRjOyBwYWRkaW5nOiAzMHB4IDAgMzVweDsgfVxuXG4ub2JqZWN0LWluLW1hcCB7IG1hcmdpbi10b3A6IDQ1cHg7IH1cblxuLm9iamVjdC1pbi1tYXAgLnRpdGxlIHsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5vYmplY3QtaW4tbWFwICN5YS1tYXAgeyBoZWlnaHQ6IDI2MHB4OyB3aWR0aDogMTAwJTsgfVxuXG4ub2JqZWN0LXBsYW4geyBtYXJnaW4tdG9wOiA0NXB4OyB9XG5cbi5vYmplY3QtcGxhbiAudGl0bGUgeyBmb250LXNpemU6IDMwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLm9iamVjdC1wbGFuIHVsIHsgbWFyZ2luOiAwOyB9XG5cbi5vYmplY3QtcGxhbiB1bCBsaSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vYmplY3QtcGxhbiB1bCBsaSAucGxhbiB7IGhlaWdodDogMTczcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjYmFkMWRmOyB9XG5cbi5vYmplY3QtY2FsYyB7IG1hcmdpbi10b3A6IDQ1cHg7IH1cblxuLm9iamVjdC1jYWxjIC50aXRsZSB7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgeyBtYXJnaW46IDA7IH1cblxuLm9iamVjdC1jYWxjIHVsIGxpIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgbGk6YmVmb3JlIHsgY29udGVudDogJyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDExcHg7IGJhY2tncm91bmQtY29sb3I6ICNlZGVkZTY7IHotaW5kZXg6IC0xOyBsZWZ0OiAwOyB0b3A6IDdweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgbGkgc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ub2JqZWN0LWNhbGMgdWwgbGkgc3BhbjpsYXN0LWNoaWxkIHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMjRweDsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuLmFib3V0LWNvbnRhaW5lciAuYmctd2hpdGUgeyBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH1cblxuLm5ld3MtZGV0YWlscy1jb250YWluZXIgLmJnLXdoaXRlIHsgcGFkZGluZy1ib3R0b206IDcwcHg7IH1cblxuLm5ld3MtZGV0YWlscy1kYXRlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tYm90dG9tOiAtMTVweDsgfVxuXG4uc2VydmljZXMtY29udGFpbmVyIC5iZy13aGl0ZSB7IHBhZGRpbmctYm90dG9tOiAxODBweDsgfVxuXG4ubmV3cy1tZW51IHsgbWFyZ2luOiAwOyB9XG5cbi5uZXdzLW1lbnUgbGkgeyBkaXNwbGF5OiBibG9jazsgbGluZS1oZWlnaHQ6IDM2cHg7IH1cblxuLm5ld3MtbWVudSBsaSBhIHsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDE2cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbi5uZXdzLW1lbnUgbGkgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ubmV3cy1jb250YWluZXIgLmktbmV3cyB7IG1hcmdpbjogMDsgfVxuXG4uc2hvdy1tb3JlLW5ld3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAzMDFweDsgaGVpZ2h0OiAzOHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOyBib3JkZXItcmFkaXVzOiAxcHggMnB4IDJweCAxcHg7IGNvbG9yOiB3aGl0ZTsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMzhweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1hbGlnbjogY2VudGVyOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLnNob3ctbW9yZS1uZXdzOmhvdmVyIHsgY29sb3I6IHdoaXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjQwcHgpIHsgYm9keSB7IG1pbi13aWR0aDogNjQwcHg7IH1cbiAgYm9keTpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMjEwcHg7IH1cbiAgaGVhZGVyIHsgcGFkZGluZy10b3A6IDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBoZWFkZXIgLmxvZ28geyBtYXJnaW4tdG9wOiAwOyBmbG9hdDogbm9uZTsgfVxuICBoZWFkZXIgLmJ1dHRvbnMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMzBweDsgcmlnaHQ6IDIwcHg7IG1hcmdpbi10b3A6IDA7IG1heC13aWR0aDogbm9uZTsgfVxuICBoZWFkZXIgLmJ1dHRvbnMgYSB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuICBoZWFkZXIgLmNvbnRhY3RzIHsgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICBoZWFkZXIgLmNvbnRhY3RzIC50ZWwgeyBmb250LXNpemU6IDIycHg7IH1cbiAgaGVhZGVyIC5jb250YWN0cyAudGV4dCB7IGZvbnQtc2l6ZTogMThweDsgfVxuICAuaC1saW5rcyB7IGZsb2F0OiBub25lOyBtYXJnaW46IDMwcHggMCAwIDQwcHg7IH1cbiAgLmgtbGlua3MgbGkgYSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAuYnV0dG9uLWJvcmRlciB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgLmhvbWUtdG9wIHsgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuaG9tZS10b3AgLmJ1dHRvbnMgYSB7IGZvbnQtc2l6ZTogMjBweDsgd2lkdGg6IDI3MHB4OyBoZWlnaHQ6IDY0cHg7IGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSwgLnNlcnZpY2UtdGlsZXMgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSBbY2xhc3MqPSdzZXJ2aWNlJ10sIC5zZXJ2aWNlLXRpbGVzIFtjbGFzcyo9J3NlcnZpY2UnXSB7IGhlaWdodDogYXV0bzsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuc2VydmljZS10aWxlLWhvbWUgLm1vcmUsIC5zZXJ2aWNlLXRpbGVzIC5tb3JlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlcnZpY2UtdGlsZS1ob21lIC5tb3JlIGEsIC5zZXJ2aWNlLXRpbGVzIC5tb3JlIGEgeyBib3JkZXItY29sb3I6ICMzMTRjOTE7IGNvbG9yOiAjMzE0YzkxOyBmb250LXNpemU6IDIwcHg7IGJvcmRlci13aWR0aDogMnB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSAubmFtZSwgLnNlcnZpY2UtdGlsZXMgLm5hbWUgeyBmb250LXNpemU6IDQwcHg7IHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5zZXJ2aWNlLXRpbGUtaG9tZSAudGV4dCwgLnNlcnZpY2UtdGlsZXMgLnRleHQgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnNlcnZpY2UtdGlsZS1ob21lIC5iZywgLnNlcnZpY2UtdGlsZXMgLmJnIHsgbWFyZ2luLXRvcDogMDsgfVxuICAuYmxvY2stdGl0bGUgeyBmb250LXNpemU6IDQycHg7IH1cbiAgLm9iamVjdC1ob21lIHsgbWFyZ2luLXRvcDogNDBweDsgfVxuICAub2JqZWN0LWhvbWUgLmxpc3QgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAub2JqZWN0LWhvbWUgLm9iamVjdC1pdGVtIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBub25lOyBtYXJnaW4tbGVmdDogMDsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5vYmplY3QtaG9tZSAuYWxsLXByb2plY3QgYSB7IGZvbnQtc2l6ZTogMjhweDsgfVxuICAub2JqZWN0LWl0ZW0geyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5vYmplY3QtaXRlbSAubmFtZSB7IGZvbnQtc2l6ZTogMjRweDsgaGVpZ2h0OiA4OHB4OyB9XG4gIC5vYmplY3QtaXRlbSAuaW5mbyB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAub2JqZWN0LWl0ZW0gLmltYWdlIGltZyB7IHdpZHRoOiAxMDAlOyB9XG4gIC5vYmplY3QtaXRlbSAubG9jYXRpb24geyBmb250LXNpemU6IDIwcHg7IH1cbiAgLm9iamVjdC1pdGVtIC5sb2NhdGlvbjpiZWZvcmUgeyB0b3A6IDdweDsgfVxuICAub2JqZWN0LWl0ZW0gLnByaWNlIHsgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5hYm91dC1ob21lIGgzIHsgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5hYm91dC1ob21lIHAgeyBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgLmFib3V0LWhvbWUgLm9yZGVyIGEgeyBmb250LXNpemU6IDIwcHg7IGhlaWdodDogNDJweDsgbGluZS1oZWlnaHQ6IDQycHg7IH1cbiAgZm9vdGVyIC5jb3B5IHsgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5wYWdlLXRpdGxlIGgxIHsgZm9udC1zaXplOiA0MnB4OyB9XG4gICNjb250ZW50IHAgeyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgYm9keTpub3QoLnBhZ2UtaXMtaW5kZXgpICNjb250ZW50IGRpdiA+IC5iZy13aGl0ZSB7IHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5uZXdzLWRldGFpbHMtZGF0ZSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAuYnJlYWRjcnVtYnMgbGkgYSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAubWFwLWNvbnRhaW5lciAubWFwLWJvdHRvbSB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAuaS1uZXdzIC5uZXdzIHsgcGFkZGluZy1yaWdodDogMDsgZm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIC5pLW5ld3MgLm5ld3MgLm5hbWUgeyBmb250LXNpemU6IDIycHg7IH1cbiAgLmktbmV3cyAubmV3cyAuZGF0ZSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAuaS1uZXdzIC5hbGwtbmV3cyB7IGZvbnQtc2l6ZTogMjZweDsgfVxuICAubmV3cy1tZW51IHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAubmV3cy1tZW51IGxpIGEgeyBmb250LXNpemU6IDI0cHg7IH1cbiAgLnNob3ctbW9yZS1uZXdzIHsgZm9udC1zaXplOiAyMHB4OyBoZWlnaHQ6IDUwcHg7IGxpbmUtaGVpZ2h0OiA1MHB4OyB3aWR0aDogYXV0bzsgcGFkZGluZzogMCAzMHB4OyB9XG4gIC5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIHsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAxMDAlOyB9XG4gIC5vYmplY3QtdG9wIC5vYmplY3QtaW1hZ2VzIC5pbWFnZS10aHVtYiBhIHsgd2lkdGg6IDExNHB4OyBoZWlnaHQ6IGF1dG87IH1cbiAgLm9iamVjdC10b3AgLnJpZ2h0IHsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAxMDAlOyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5vYmplY3QtdG9wIC5yaWdodCB1bCBsaSB7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAub2JqZWN0LXRvcCAucmlnaHQgdWwucGFyYW1zIGIgeyB3aWR0aDogMTkwcHg7IH1cbiAgLm9iamVjdC10b3AgLnJpZ2h0IC5jb250YWN0cyAudGl0bGUgeyBmb250LXNpemU6IDI4cHg7IH1cbiAgLm9iamVjdC10b3AgLnJpZ2h0IC5jb250YWN0cyAub3JkZXIgeyBmb250LXNpemU6IDIwcHg7IGhlaWdodDogNTBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IHBhZGRpbmc6IDAgMzBweDsgd2lkdGg6IGF1dG87IH1cbiAgLm9iamVjdC1vcHRpb25zIC50aXRsZSB7IGZvbnQtc2l6ZTogMzRweDsgfVxuICAub2JqZWN0LW9wdGlvbnMgLnRpdGxlLTIgeyBmb250LXNpemU6IDI4cHg7IH1cbiAgLm9iamVjdC1vcHRpb25zIC50ZXh0IHsgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5vYmplY3Qtb3B0aW9ucyAub3B0aW9ucyB0YWJsZSB7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDIwcHg7IH1cbiAgLm9iamVjdC1vcHRpb25zIC5vcHRpb25zIHRhYmxlIHRkIHsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAub2JqZWN0LW9wdGlvbnMgLm9wdGlvbnMgdGFibGUgdGQ6Zmlyc3QtY2hpbGQgeyB3aWR0aDogNDAwcHg7IH1cbiAgLm9iamVjdC1kZXNyaXB0aW9ucyAudGl0bGUgeyBmb250LXNpemU6IDM0cHg7IH1cbiAgLm9iamVjdC1kZXNyaXB0aW9ucyAudGV4dCB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAub2JqZWN0LWluLW1hcCAudGl0bGUgeyBmb250LXNpemU6IDM0cHg7IH1cbiAgLm9iamVjdC1wbGFuIC50aXRsZSB7IGZvbnQtc2l6ZTogMzRweDsgfVxuICAub2JqZWN0LWNhbGMgLnRpdGxlIHsgZm9udC1zaXplOiAzNHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIC5vYmplY3QtY2FsYyB1bCBsaSB7IGZvbnQtc2l6ZTogMjBweDsgZm9udC1zaXplOiA0MDA7IH1cbiAgLm9iamVjdC1jYWxjIHVsIGxpIGIgeyBmb250LXNpemU6IDIycHg7IH1cbiAgLm9iamVjdC1wYWdlIC5zb3J0IGxhYmVsIHsgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5vYmplY3QtcGFnZSAuYWxsLXByb2plY3QgYSB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IGhlaWdodDogNTBweDsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDAgMzBweDsgfVxuICAuc2VsZWN0Ym94aXQtY29udGFpbmVyICogeyBmb250LXNpemU6IDIwcHg7IH1cbiAgLmJvdHRvbS1vcmRlci1idG4gYSB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IGhlaWdodDogNTBweDsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDAgMzBweDsgfSB9XG5cbi8qcHJpbnQgc3R5bGVzKi9cbi5wYWdlLWlzLXByaW50IHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnByaW50LWNvbnRlaW5lciB7IHdpZHRoOiA3MTZweDsgbWFyZ2luOiAwIGF1dG87IH1cblxuLnByaW50LWNvbnRlaW5lciBoMSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMzBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucHJpbnQtY29udGVpbmVyIGgzIHsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wcmludC1jb250ZWluZXIgcCB7IGZvbnQtc2l6ZTogMTZweDsgfVxuXG4ucHJpbnQtaGVhZGVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZy10b3A6IDU1cHg7IHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG5cbi5wcmludC1oZWFkZXIgLnByaW50LWxvZ28geyBmbG9hdDogbGVmdDsgfVxuXG4ucHJpbnQtaGVhZGVyIC5yaWdodCB7IGZsb2F0OiByaWdodDsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogMzAwOyBsaW5lLWhlaWdodDogMTRweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogMjNweDsgfVxuXG4ucHJpbnQtaGVhZGVyIC5yaWdodCBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMjVweDsgfVxuXG4ucHJpbnQtbG9jYXRpb24geyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnByaW50LWltYWdlcyB7IG92ZXJmbG93OiBoaWRkZW47IG1hcmdpbi1sZWZ0OiAtNDJweDsgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5wcmludC1pbWFnZXMgaW1nIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1sZWZ0OiA0MnB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5wcmludC1vcHRpb25zIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMThweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgd2lkdGg6IDEwMCU7IG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLnByaW50LW9wdGlvbnMgdGQgeyBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4ucHJpbnQtb3B0aW9ucyB0ZDpmaXJzdC1jaGlsZCB7IHdpZHRoOiAzNzlweDsgfVxuXG4ucHJpbnQtc2l0ZS11cmwgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5wcmludC1pbi1tYXAgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNS4gRHJpbGxkb3duXHJcbi8vICAxNi4gRHJvcGRvd25cclxuLy8gIDE3LiBEcm9wZG93biBNZW51XHJcbi8vICAxOC4gRmxleCBWaWRlb1xyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmV2ZWFsXHJcbi8vICAyOS4gU2xpZGVyXHJcbi8vICAzMC4gU3dpdGNoXHJcbi8vICAzMS4gVGFibGVcclxuLy8gIDMyLiBUYWJzXHJcbi8vICAzMy4gVGh1bWJuYWlsXHJcbi8vICAzNC4gVGl0bGUgQmFyXHJcbi8vICAzNS4gVG9vbHRpcFxyXG4vLyAgMzYuIFRvcCBCYXJcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogMTIxN3B4O1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMyMTk5ZTgsXHJcbiAgc2Vjb25kYXJ5OiAjNzc3LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2VjNTg0MCxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMGEwYTBhO1xyXG4kd2hpdGU6ICNmZWZlZmU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJ0dlb21ldHJpYScsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDI4cHg7XHJcbiRnbG9iYWwtcGFkZGluZzogMjhweDtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogNDBweCxcclxuICBtZWRpdW06IDU2cHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogMjQsXHJcbiAgICAnaDInOiAyMCxcclxuICAgICdoMyc6IDE5LFxyXG4gICAgJ2g0JzogMTgsXHJcbiAgICAnaDUnOiAxNyxcclxuICAgICdoNic6IDE2LFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiA0OCxcclxuICAgICdoMic6IDQwLFxyXG4gICAgJ2gzJzogMzEsXHJcbiAgICAnaDQnOiAyNSxcclxuICAgICdoNSc6IDIwLFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE1LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuLy8gMTYuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTcuIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDE4LiBGbGV4IFZpZGVvXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XHJcblxyXG4vLyAxOS4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMC4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXppbmRleDogLTE7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcclxuXHJcbi8vIDI1LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjYuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOC4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDI5LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzAuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMxLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzIuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gMzMuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzQuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyAzNS4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNi4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cclxuQG1peGluIGNzcy10cmlhbmdsZShcclxuICAkdHJpYW5nbGUtc2l6ZSxcclxuICAkdHJpYW5nbGUtY29sb3IsXHJcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxyXG4pIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cclxuQG1peGluIGhhbWJ1cmdlcihcclxuICAkY29sb3I6ICRibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IlMjgje3JlZCgkY29sb3IpfSwgI3tncmVlbigkY29sb3IpfSwgI3tibHVlKCRjb2xvcil9JTI5JztcclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XHJcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cclxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXHJcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xyXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyAnO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZmxleC1iYXNpczogMDtcclxuICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXHJcbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cclxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XHJcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXHJcbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xyXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXHJcbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbn1cclxuXHJcbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY2xpcDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXHJcbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xyXG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XHJcblxyXG4gIEBpZiBub3QgJHNtYWxsIHtcclxuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XHJcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXHJcbiAgJHJvdzogJ3JvdycsXHJcbiAgJGNvbHVtbjogJ2NvbHVtbicsXHJcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcclxuICAkcHVzaDogJ3B1c2gnLFxyXG4gICRwdWxsOiAncHVsbCcsXHJcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcclxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcclxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXHJcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcclxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcclxuICAkZW5kOiAnZW5kJyxcclxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCdcclxuKSB7XHJcbiAgLy8gUm93XHJcbiAgLiN7JHJvd30ge1xyXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XHJcblxyXG4gICAgLy8gQ29sbGFwc2luZ1xyXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xyXG4gICAgICA+IC4jeyRjb2x1bW59IHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lc3RpbmdcclxuICAgICYgJiB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XHJcblxyXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xyXG4gICAgJi4jeyRleHBhbmRlZH0ge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcblxyXG4gICAgICAuI3skcm93fSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb2x1bW5cclxuICAuI3skY29sdW1ufSB7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcclxuXHJcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xyXG4gICAgICAmLiN7JGVuZH0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29sdW1uIHJvd1xyXG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcclxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcblxyXG4gICAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXHJcbiAgICAuI3skcm93fSAmIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XHJcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxyXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXHJcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIE9mZnNldHNcclxuICAgICAgJG86ICRpIC0gMTtcclxuXHJcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJsb2NrIGdyaWRcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcclxuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksIFwiLiN7JGNvbHVtbn1cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcclxuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcclxuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XHJcblxyXG4gICAgICAuI3skcm93fSxcclxuICAgICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9ICYuI3skcm93fSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XHJcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XHJcblxyXG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyKTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFBvc2l0aW9uaW5nXHJcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxyXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXHJcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXHJcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcclxuICAgIC5jb2x1bW5zIHtcclxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxyXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxyXG4vLy8gQGNvbnRlbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cclxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cclxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cclxuQG1peGluIGdyaWQtY29udGV4dChcclxuICAkY29sdW1ucyxcclxuICAkcm9vdDogZmFsc2VcclxuKSB7XHJcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XHJcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xyXG5cclxuICBAaWYgJHJvb3Qge1xyXG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcclxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXHJcbi8vLyBAY29udGVudFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxyXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXHJcbkBtaXhpbiBncmlkLXJvdyhcclxuICAkY29sdW1uczogbnVsbCxcclxuICAkYmVoYXZpb3I6IG51bGwsXHJcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXHJcbiAgJGNmOiB0cnVlLFxyXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcclxuKSB7XHJcbiAgJG1hcmdpbjogYXV0bztcclxuXHJcbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xyXG5cclxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcblxyXG4gIEBpZiAkY2Yge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxyXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XHJcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xyXG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcclxuICB9XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xyXG4gICAgJG1hcmdpbjogcmVtLWNhbGMoJHZhbHVlKSAvIDIgKiAtMTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxyXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXHJcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBicmVha3BvaW50c1xyXG4vLy8vXHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxyXG5cclxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xyXG5cclxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xyXG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcclxufVxyXG5AZWxzZSB7XHJcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcclxufVxyXG5cclxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcclxuICAvLyBTaXplIG9yIGtleXdvcmRcclxuICAkYnA6IG50aCgkdmFsLCAxKTtcclxuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcclxuICAkYnAtbWF4OiAwO1xyXG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXHJcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XHJcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XHJcbiAgJHN0cjogJyc7XHJcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cclxuICAkbmFtZWQ6IGZhbHNlO1xyXG5cclxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XHJcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XHJcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xyXG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XHJcbiAgfVxyXG5cclxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXHJcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcclxuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xyXG4gICAgICAkbmFtZWQ6IHRydWU7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICRicDogMDtcclxuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cclxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xyXG4gIEBpZiAkYnAtbWF4IHtcclxuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcclxuICB9XHJcblxyXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxyXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXHJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcclxuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcclxuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcclxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XHJcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxyXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xyXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXHJcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xyXG5cclxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXHJcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcclxuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXHJcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xyXG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XHJcblxyXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcclxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxyXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XHJcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXHJcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xyXG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyO1xyXG59XHJcblxyXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxyXG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXHJcbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cclxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxyXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuLy8vXHJcbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cclxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XHJcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcclxuICAkc3RyOiAnJztcclxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XHJcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xyXG4gIH1cclxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxyXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcclxuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcclxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG5cclxuICAvLyBHaGV0dG8gZm9yIGxvb3BcclxuICAkaTogMTtcclxuICAkZm91bmQ6IGZhbHNlO1xyXG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xyXG4gICAgQGlmICRmb3VuZCA9PSBmYWxzZSB7XHJcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XHJcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgICRpOiAkaSArIDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXHJcbiAgQGlmICRpID4gbGVuZ3RoKCRtYXApIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XHJcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxyXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xyXG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxyXG4gIEBlbHNlIHtcclxuICAgICRhbmNob3I6IG51bGw7XHJcbiAgICAkZm91bmQ6IGZhbHNlO1xyXG5cclxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgICAgQGlmIG5vdCAkZm91bmQge1xyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XHJcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xyXG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xyXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXHJcbiRzbWFsbC11cDogbnVsbDtcclxuJHNtYWxsLW9ubHk6IG51bGw7XHJcbiRtZWRpdW0tdXA6IG51bGw7XHJcbiRtZWRpdW0tb25seTogbnVsbDtcclxuJGxhcmdlLXVwOiBudWxsO1xyXG4kbGFyZ2Utb25seTogbnVsbDtcclxuJHhsYXJnZS11cDogbnVsbDtcclxuJHhsYXJnZS1vbmx5OiBudWxsO1xyXG4keHhsYXJnZS11cDogbnVsbDtcclxuJHh4bGFyZ2Utb25seTogbnVsbDtcclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XHJcbiAgJHNtYWxsLXVwOiBzY3JlZW47XHJcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcclxuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xyXG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xyXG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xyXG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XHJcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcclxuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xyXG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcclxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XHJcbikge1xyXG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcclxuQG1peGluIGdyaWQtY29sLXNpemUoXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxyXG4pIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xyXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcclxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxyXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXHJcbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxyXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcclxuICAkd2lkdGg6IDAlO1xyXG5cclxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcclxuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xyXG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XHJcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXHJcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcclxuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xyXG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcclxuICBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR3aWR0aDtcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xyXG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XHJcblxyXG4gIC8vIEd1dHRlcnNcclxuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XHJcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xyXG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XHJcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XHJcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcclxuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXHJcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxyXG4pIHtcclxuICBAaW5jbHVkZSBncmlkLXJvdztcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcclxuXHJcbiAgJixcclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cclxuQGZ1bmN0aW9uIGdyaWQtY29sKFxyXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcclxuKSB7XHJcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxyXG5AbWl4aW4gZ3JpZC1jb2woXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcclxuQG1peGluIGdyaWQtY29sLXJvdyhcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XHJcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XHJcbn1cclxuXHJcbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cclxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XHJcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcclxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXHJcbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxyXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XHJcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxyXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cclxuQG1peGluIGdyaWQtbGF5b3V0KFxyXG4gICRuLFxyXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXHJcbikge1xyXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XHJcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xyXG5cclxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcclxuICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cclxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XHJcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xyXG4gICAgQGlmICRpID09IDEge1xyXG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxyXG4vLy8vXHJcblxyXG4vLyBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxyXG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cclxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cclxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxyXG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cclxuLy8gICAtIEFuY2hvcnMgPGE+XHJcbi8vICAgLSBEaXZpZGVycyA8aHI+XHJcbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxyXG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XHJcbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cclxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XHJcbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XHJcbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogMjQsXHJcbiAgICAnaDInOiAyMCxcclxuICAgICdoMyc6IDE5LFxyXG4gICAgJ2g0JzogMTgsXHJcbiAgICAnaDUnOiAxNyxcclxuICAgICdoNic6IDE2LFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiA0OCxcclxuICAgICdoMic6IDQwLFxyXG4gICAgJ2gzJzogMzEsXHJcbiAgICAnaDQnOiAyNSxcclxuICAgICdoNSc6IDIwLFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xyXG5cclxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xyXG5cclxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xyXG5cclxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcclxuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xyXG4gIGRpdixcclxuICBkbCxcclxuICBkdCxcclxuICBkZCxcclxuICB1bCxcclxuICBvbCxcclxuICBsaSxcclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNixcclxuICBwcmUsXHJcbiAgZm9ybSxcclxuICBwLFxyXG4gIGJsb2NrcXVvdGUsXHJcbiAgdGgsXHJcbiAgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8vIFBhcmFncmFwaHNcclxuICBwIHtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuICB9XHJcblxyXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJvbmcgdGV4dFxyXG4gIHN0cm9uZyxcclxuICBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTbWFsbCB0ZXh0XHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nc1xyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XHJcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhlYWRpbmcgc2l6ZXNcclxuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xyXG4gICAgICAgICN7JGhlYWRlcn0ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExpbmtzXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xyXG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3Jpem9udGFsIHJ1bGVcclxuICBociB7XHJcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC8vIExpc3RzXHJcbiAgdWwsXHJcbiAgb2wsXHJcbiAgZGwge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAvLyBMaXN0IGl0ZW1zXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gVW5vcmRlcmVkIGxpc3RzXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBPcmRlcmVkIGxpc3RzXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcclxuICB1bCwgb2wge1xyXG4gICAgJiAmIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xyXG4gIGRsIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAgIGR0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJsb2NrcXVvdGVzXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xyXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xyXG5cclxuICAgICYsIHAge1xyXG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDaXRhdGlvbnNcclxuICBjaXRlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XHJcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBYmJyZXZpYXRpb25zXHJcbiAgYWJiciB7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcclxuICB9XHJcblxyXG4gIC8vIENvZGVcclxuICBjb2RlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcclxuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBLZXlzdHJva2VzXHJcbiAga2JkIHtcclxuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xyXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcclxuXHJcbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxyXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcclxuICAkcmVtLXZhbHVlczogKCk7XHJcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcclxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XHJcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcclxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XHJcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICRjb3VudCA9PSAxIHtcclxuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XHJcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xyXG59XHJcblxyXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxyXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xyXG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcclxuICB9XHJcblxyXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcclxuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcclxufVxyXG5cclxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXHJcbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcclxuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcclxuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cclxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcclxuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gVHVybiAwcmVtIGludG8gMFxyXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XHJcbiAgICAkdmFsdWU6IDA7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XHJcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxyXG4gIC8vIDxoZWFkZXI+XHJcbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XHJcbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XHJcbiAgLy8gPC9oZWFkZXI+XHJcbiAgLnN1YmhlYWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XHJcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cclxuICAubGVhZCB7XHJcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcclxuICAuc3RhdCB7XHJcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgIHAgKyAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcclxuICAubm8tYnVsbGV0IHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XHJcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4vLy8gQGdyb3VwIGdsb2JhbFxyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XHJcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICAqIHtcclxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxyXG4gICAgYSxcclxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XHJcblxyXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xyXG4gICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxyXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cclxuXHJcbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXHJcbiAgICBwcmUsXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGg1YnAuY29tL3RcclxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cclxuXHJcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgb3JwaGFuczogMztcclxuICAgICAgd2lkb3dzOiAzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xyXG4gICAgaDIsXHJcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0ICd1dGYtOCc7XHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG5AaW1wb3J0ICdqcXVlcnkuc2VsZWN0Qm94SXQuc2Nzcyc7XHJcblxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZXRlci1lbGVtZW50O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcclxuXHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuLypmb250cyovXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnR2VvbWV0cmlhJztcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUJvbGQuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9HZW9tZXRyaWEtQm9sZC5zdmcjR2VvbWV0cmlhLUJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUV4dHJhQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1FeHRyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9HZW9tZXRyaWEtRXh0cmFCb2xkLnN2ZyNHZW9tZXRyaWEtRXh0cmFCb2xkJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogODAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC5lb3QnKTtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1MaWdodC5zdmcjR2VvbWV0cmlhLUxpZ2h0JykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS5lb3QnKTtcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS5zdmcjR2VvbWV0cmlhJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0dlb21ldHJpYSc7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90Jyk7XHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnLi4vZm9udHMvR2VvbWV0cmlhLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy4uL2ZvbnRzL0dlb21ldHJpYS1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcuLi9mb250cy9HZW9tZXRyaWEtTWVkaXVtLnN2ZyNHZW9tZXRyaWEtTWVkaXVtJykgZm9ybWF0KCdzdmcnKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuYm9keSB7XHJcblx0bWluLWhlaWdodDogMTAwJTtcclxuXHRtaW4td2lkdGg6IDEyNTBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgMTYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuaGVhZGVyIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuXHQubG9nbyB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogNTNweCAwIDAgNXB4O1xyXG5cdH1cclxuXHRcclxuXHQuY29udGFjdHMge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRtYXJnaW46IDYxcHggMCAwIDQxcHg7XHJcblx0XHQudGVsIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTRweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0YiB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5idXR0b25zIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1heC13aWR0aDogMTQwcHg7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdG1hcmdpbi10b3A6IDM1cHg7XHJcblx0XHRhIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaC1saW5rcyB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0bWFyZ2luOiA2NnB4IDAgMCA5NnB4O1xyXG5cdGxpIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0bWFyZ2luOiAwIDAgMCA0NnB4O1xyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKCMwMDAsLjgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0bGVmdDogLTQwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5saW5rLTE6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogMzJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDMycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLTEucG5nKSBuby1yZXBlYXQ7XHJcblx0XHRcdFx0dG9wOiAtN3B4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCYubGluay0yOmJlZm9yZSB7XHJcblx0XHRcdFx0d2lkdGg6IDI3cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi0yLnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0XHRcdHRvcDogLTdweDtcclxuXHRcdFx0XHRsZWZ0OiAtMzJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmxpbmstMzpiZWZvcmUge1xyXG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tMy5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdFx0XHR0b3A6IC00cHg7XHJcblx0XHRcdFx0bGVmdDogLTM0cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmJ1dHRvbi1ib3JkZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjMzE0YzkxO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxuXHRwYWRkaW5nOiA3cHggMTVweDtcclxuXHRjb2xvcjogIzNkNDM1MjtcdFxyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMzMTRjOTE7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn1cclxuLmhvbWUtdG9wIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogMTIwcHg7XHJcblx0aDEge1xyXG5cdFx0Zm9udC1zaXplOiA2MHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbjogMCAwIDE1cHg7XHJcblx0fVxyXG5cdGgzIHtcclxuXHRcdGZvbnQtc2l6ZTogNDZweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdC5idXR0b25zIHtcclxuXHRcdG1hcmdpbjogNDVweCAwIDA7XHJcblx0XHRhIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMjQ2cHg7XHJcblx0XHRcdGhlaWdodDogNThweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xyXG5cdFx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDU4cHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdG1hcmdpbjogMCAxMHB4O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOTAwLDUlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc2VydmljZS10aWxlLWhvbWUsIC5zZXJ2aWNlLXRpbGVzIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdG1hcmdpbi10b3A6IDg5cHg7XHJcblx0cGFkZGluZy10b3A6IDM3cHg7XHJcblx0W2NsYXNzKj0nc2VydmljZSddIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y29sb3I6ICMwMDA7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjYmFkMWRmO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdGhlaWdodDogMzExcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICM5MDA7XHJcblx0XHRcdC5iZyB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwMDtcclxuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAjOTAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0fVxyXG5cdFx0XHQubW9yZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lmljb24ge1xyXG5cdFx0aGVpZ2h0OiAxNTVweDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0fVxyXG5cdC5uYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdC5iZyB7XHJcblx0XHRtYXJnaW46IDIwcHggLTFweCAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDFweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxcHg7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2JhZDFkZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLXRvcC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0fVxyXG5cdC50ZXh0IHtcclxuXHRcdG1hcmdpbjogMjJweCAyNXB4O1xyXG5cdFx0aGVpZ2h0OiA2M3B4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRjb2xvcjogYmxhY2s7XHJcblx0XHRsaW5lLWhlaWdodDogMS4xO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHR9XHJcblx0Lm1vcmUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMThweDtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0Y29sb3I6ICM5MDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcclxuXHRcdC5zZXJ2aWNlLSN7JGl9IHtcclxuXHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbi1zZXJ2LSN7JGl9LnBuZyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1ob21lIHtcclxuXHRtYXJnaW4tdG9wOiA5NXB4O1xyXG5cdC5saXN0IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtMzVweDtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQub2JqZWN0LWl0ZW0ge1xyXG5cdFx0d2lkdGg6IDI2NHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDM1cHg7XHJcblx0fVxyXG5cdC5hbGwtcHJvamVjdCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiA0OHB4O1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgjMDAwLCAwLjgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5ibG9jay10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAwIDAgMzBweDtcclxufVxyXG4ub2JqZWN0LWl0ZW0ge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNiYWQxZGY7XHJcblx0Lm5hbWUge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0cGFkZGluZzogMTVweCAxNHB4IDhweDtcclxuXHRcdGhlaWdodDogNzJweDtcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogIzAwMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoIzAwMCwgMC44KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuaW1hZ2Uge1xyXG5cdFx0bWFyZ2luOiAwIC0xcHg7XHJcblx0fVxyXG5cdC5pbmZvIHtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRwYWRkaW5nOiAxMXB4IDE2cHggMXB4O1xyXG5cdFx0PiBkaXYge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGNvbG9yOiAjOTAwO1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYm90dG9tIHtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmFkMWRmO1xyXG5cdFx0cGFkZGluZzogMThweCAxNXB4IDhweDtcclxuXHR9XHJcblx0LmxvY2F0aW9uIHtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxNnB4O1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdGhlaWdodDogMTRweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLXBsYWNlLnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR0b3A6IDJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnByaWNlIHtcclxuXHRcdGNvbG9yOiAjOTAwO1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxufVxyXG4uYWJvdXQtaG9tZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZTZlNmRjLC43KTtcclxuXHRwYWRkaW5nOiA1MHB4IDAgNjBweDtcclxuXHRoMyB7XHJcblx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdHAge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyOHB4O1xyXG5cdH1cclxuXHQub3JkZXIge1xyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDE0NnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDM4cHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MDA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDFweCAycHggMnB4IDFweDtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMzhweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCM5MDAsNSUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zZXJ2aWNlLXRpbGVzIHtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdFtjbGFzcyo9J3NlcnZpY2UnXSB7XHJcblx0XHRoZWlnaHQ6IDIzMXB4O1xyXG5cdH1cclxufVxyXG5mb290ZXIge1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmFkMWRmO1xyXG5cdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0cGFkZGluZzogNTBweCAwO1xyXG5cdC5oLWxpbmtzIHtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdFx0bWFyZ2luOiAwIDAgMCAzNnB4O1xyXG5cdH1cclxuXHQuYm90dG9tIHtcclxuXHRcdG1hcmdpbi10b3A6IDcwcHg7XHJcblx0fVxyXG5cdC5jb3B5IHtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdH1cclxuXHQuZGV2IHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0d2lkdGg6IDcxcHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Rldi5wbmcpIG5vLXJlcGVhdDtcclxuXHR9XHJcbn1cclxuLmJnLXdoaXRlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdCYubWFyZ2luIHtcclxuXHRcdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0fVxyXG59XHJcbi5zZXJ2aWNlLXRpbGVzLXNtYWxsIHtcclxuXHRwYWRkaW5nLXRvcDogMjZweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMjZweDtcclxuXHRbY2xhc3MqPSdzZXJ2aWNlLSddIHtcclxuXHRcdGhlaWdodDogODRweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2JhZDFkZjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y29sb3I6IGJsYWNrO1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4NHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdHBhZGRpbmctbGVmdDogODVweDtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDEycHggY2VudGVyO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogIzljMDAwMDtcclxuXHRcdH1cclxuXHR9XHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcclxuXHRcdC5zZXJ2aWNlLSN7JGl9IHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlcnYtc21hbGwtI3skaX0ucG5nKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnBhZ2UtdGl0bGUge1xyXG5cdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdGgxIHtcclxuXHRcdGNvbG9yOiBibGFjaztcclxuXHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG4jY29udGVudCB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdHAge1xyXG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG4uaS1uZXdzIHtcclxuXHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogOTBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cdC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHR9XHJcblx0Lm5ld3Mge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDEzMHB4O1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luOiA0cHggMjZweCAwIDA7XHJcblx0XHR9XHJcblx0XHQuZGF0ZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0fVxyXG5cdFx0Lm5hbWUge1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoIzAwMCwuOCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC50ZXh0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWxsLW5ld3Mge1xyXG5cdFx0Y29sb3I6IGJsYWNrO1x0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgjMDAwLC44KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1wYWdlIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHQuc29ydCB7XHJcblx0XHRtYXJnaW4tdG9wOiAtMTVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lmxpc3Qge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0zNnB4O1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5vYmplY3QtaXRlbSB7XHJcblx0XHR3aWR0aDogNTYycHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMzZweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHQubmFtZSB7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5hbGwtcHJvamVjdCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDI5NnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDM4cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAzOHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxcHggMnB4IDJweCAxcHg7XHJcblx0XHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOTAwLDUlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaW1hZ2UtbGVmdCB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0bWFyZ2luOiA0cHggMjZweCAwIDA7XHRcclxufVxyXG4uc2VydmljZS1jb250YWluZXIge1xyXG5cdC5yb3cge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDkwcHg7XHJcblx0fVxyXG59XHJcbi5ib3R0b20tb3JkZXItYnRuIHtcclxuXHRtYXJnaW4tdG9wOiAzOHB4O1xyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6IDE0NnB4O1xyXG5cdFx0aGVpZ2h0OiAzOHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDFweCAycHggMnB4IDFweDtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMzhweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCM5MDAsNSUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubWFwLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogNTI4cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHQjeWEtbWFwIHtcclxuXHRcdGhlaWdodDogNTI4cHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0Lm1hcC1ib3R0b20ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NSwgNzYsIDgyLCAwLjU1KTtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRwYWRkaW5nOiAxN3B4IDE5cHggMjdweDtcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMWIxYjE7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmJyZWFkY3J1bWJzIHtcclxuXHRtYXJnaW46IC0yNXB4IDAgMzBweDtcclxuXHRsaSB7XHJcblx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJy8nO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHRcdGEge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3OWQ4YTE7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC10b3Age1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cdFxyXG5cdC5vYmplY3QtaW1hZ2VzIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0d2lkdGg6IDcwOXB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1x0XHRcclxuXHRcdHVsIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0LmltYWdlLXRodW1iIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDIwcHg7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiAxNDBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDkycHg7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDE4cHg7XHJcblx0XHRcdFx0Ym9yZGVyOiAzcHggc29saWQgI2VkZWRlNjtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ji5hY3RpdmU6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxNnB4IHNvbGlkICNlZGVkZTY7XHJcblx0XHRcdFx0XHRib3JkZXItbGVmdDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGJvdHRvbTogMTAwJTtcclxuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTZweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ieC1uZXh0LCAuYngtcHJldiB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0bGVmdDogMjBweDtcclxuXHRcdFx0dG9wOiAxMzhweDtcclxuXHRcdFx0d2lkdGg6IDM5cHg7XHJcblx0XHRcdGhlaWdodDogOTlweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogMDtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fycm93LWxlZnQucG5nKTtcclxuXHRcdH1cclxuXHRcdC5ieC1uZXh0IHtcclxuXHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3ctcmlnaHQucG5nKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnJpZ2h0IHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdHdpZHRoOiA0MDdweDtcclxuXHRcdG1hcmdpbi10b3A6IC01cHg7XHJcblx0XHR1bCB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0XHRcdGIge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5wYXJhbXMgYiB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdHdpZHRoOiAxMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmNvbnRhY3RzIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNjVweDtcclxuXHRcdFx0LnRpdGxlIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDIycHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Lm9yZGVyIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTQ2cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzOHB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMzhweDtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOTAwLDUlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1vcHRpb25zIHtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0fVxyXG5cdC50aXRsZS0yIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0fVxyXG5cdC50ZXh0IHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHR9XHJcblx0Lm9wdGlvbnMge1xyXG5cdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdHRhYmxlIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHdpZHRoOiAzMy4zMyU7XHJcblx0XHRcdHRkIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDI4MHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMzBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1kZXNyaXB0aW9ucyB7XHJcblx0bWFyZ2luLXRvcDogNTVweDtcclxuXHQudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHQudGV4dCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmRjO1xyXG5cdFx0cGFkZGluZzogMzBweCAwIDM1cHg7XHJcblx0fVxyXG59XHJcbi5vYmplY3QtaW4tbWFwIHtcclxuXHRtYXJnaW4tdG9wOiA0NXB4O1xyXG5cdC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cdCN5YS1tYXAge1xyXG5cdFx0aGVpZ2h0OiAyNjBweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG4ub2JqZWN0LXBsYW4ge1xyXG5cdG1hcmdpbi10b3A6IDQ1cHg7XHRcclxuXHQudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHQucGxhbiB7XHRcdFx0XHRcclxuXHRcdFx0XHRoZWlnaHQ6IDE3M3B4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNiYWQxZGY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm9iamVjdC1jYWxjIHtcdFxyXG5cdG1hcmdpbi10b3A6IDQ1cHg7XHRcclxuXHQudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNlZGVkZTY7XHJcblx0XHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR0b3A6IDdweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYWJvdXQtY29udGFpbmVyIHtcclxuXHQuYmctd2hpdGUge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDE1MHB4O1xyXG5cdH1cclxufVxyXG4ubmV3cy1kZXRhaWxzLWNvbnRhaW5lciB7XHJcblx0LmJnLXdoaXRlIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG5cdH1cclxufVxyXG4ubmV3cy1kZXRhaWxzLWRhdGUge1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IC0xNXB4O1xyXG59XHJcbi5zZXJ2aWNlcy1jb250YWluZXIge1xyXG5cdC5iZy13aGl0ZSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTgwcHg7XHJcblx0fVxyXG59XHJcbi5uZXdzLW1lbnUge1xyXG5cdG1hcmdpbjogMDtcclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgjMDAwLC44KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubmV3cy1jb250YWluZXIge1xyXG5cdC5pLW5ld3Mge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxufVxyXG4uc2hvdy1tb3JlLW5ld3Mge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogMzAxcHg7XHJcblx0aGVpZ2h0OiAzOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICM5MDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMXB4IDJweCAycHggMXB4O1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRsaW5lLWhlaWdodDogMzhweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzkwMCw1JSk7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcblx0Ym9keSB7XHJcblx0XHRtaW4td2lkdGg6IDY0MHB4O1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMjEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdGhlYWRlciB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC5sb2dvIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQuYnV0dG9ucyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAzMHB4O1xyXG5cdFx0XHRyaWdodDogMjBweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5jb250YWN0cyB7XHJcblx0XHRcdG1hcmdpbjogMjBweCAwIDA7XHJcblx0XHRcdC50ZWwge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oLWxpbmtzIHtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdFx0bWFyZ2luOiAzMHB4IDAgMCA0MHB4O1xyXG5cdFx0bGkge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmJ1dHRvbi1ib3JkZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0fVxyXG5cdC5ob21lLXRvcCB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0LmJ1dHRvbnMge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDI3MHB4O1xyXG5cdFx0XHRcdGhlaWdodDogNjRweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNjRweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VydmljZS10aWxlLWhvbWUsIC5zZXJ2aWNlLXRpbGVzIHtcclxuXHRcdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0XHRbY2xhc3MqPSdzZXJ2aWNlJ10ge1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHR9XHJcblx0XHQubW9yZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICMzMTRjOTE7XHJcblx0XHRcdFx0Y29sb3I6ICMzMTRjOTE7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZXJ2aWNlLXRpbGUtaG9tZSwgLnNlcnZpY2UtdGlsZXMge1xyXG5cdFx0Lm5hbWUge1xyXG5cdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdFx0fVxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblx0XHQuYmcge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYmxvY2stdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiA0MnB4O1xyXG5cdH1cclxuXHQub2JqZWN0LWhvbWUge1xyXG5cdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHRcdC5saXN0IHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0XHQub2JqZWN0LWl0ZW0ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0XHQuYWxsLXByb2plY3Qge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1pdGVtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHQubmFtZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0aGVpZ2h0OiA4OHB4O1xyXG5cdFx0fVxyXG5cdFx0LmluZm8ge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHR9XHJcblx0XHQuaW1hZ2Uge1xyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQubG9jYXRpb24ge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR0b3A6IDdweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnByaWNlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWJvdXQtaG9tZSB7XHJcblx0XHRoMyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRmb250LXNpemU6IDIycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0XHQub3JkZXIgYSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0aGVpZ2h0OiA0MnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNDJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Zm9vdGVyIHtcclxuXHRcdC5jb3B5IHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucGFnZS10aXRsZSBoMSB7XHJcblx0XHRmb250LXNpemU6IDQycHg7XHJcblx0fVxyXG5cdCNjb250ZW50IHAge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHR9XHJcblx0Ym9keTpub3QoLnBhZ2UtaXMtaW5kZXgpICNjb250ZW50IGRpdiB7XHJcblx0XHQ+IC5iZy13aGl0ZSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubmV3cy1kZXRhaWxzLWRhdGUge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdH1cclxuXHQuYnJlYWRjcnVtYnMgbGkgYSB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdC5tYXAtY29udGFpbmVyIC5tYXAtYm90dG9tIHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG5cdC5pLW5ld3Mge1xyXG5cdFx0Lm5ld3Mge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHRcdC5uYW1lIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIycHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LmRhdGUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmFsbC1uZXdzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubmV3cy1tZW51IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHRsaSBhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2hvdy1tb3JlLW5ld3Mge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHR9XHJcblx0Lm9iamVjdC10b3Age1xyXG5cdFx0Lm9iamVjdC1pbWFnZXMge1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdC5pbWFnZS10aHVtYiBhIHtcclxuXHRcdFx0XHR3aWR0aDogMTE0cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9IFxyXG5cdFx0LnJpZ2h0IHtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLnBhcmFtcyB7XHJcblx0XHRcdFx0XHRiIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE5MHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuY29udGFjdHMge1xyXG5cdFx0XHRcdC50aXRsZSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5vcmRlciB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNTBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub2JqZWN0LW9wdGlvbnMge1xyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzNHB4O1xyXG5cdFx0fVxyXG5cdFx0LnRpdGxlLTIge1xyXG5cdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHR9XHJcblx0XHQudGV4dCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1vcHRpb25zIC5vcHRpb25zIHRhYmxlIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0dGQge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHR3aWR0aDogNDAwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1kZXNyaXB0aW9ucyB7XHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDM0cHg7XHJcblx0XHR9XHJcblx0XHQudGV4dCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm9iamVjdC1pbi1tYXAgLnRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMzRweDtcclxuXHR9XHJcblx0Lm9iamVjdC1wbGFuIC50aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDM0cHg7XHJcblx0fVxyXG5cdC5vYmplY3QtY2FsYyB7XHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDM0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0XHR1bCBsaSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0Zm9udC1zaXplOiA0MDA7XHJcblx0XHRcdGIge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub2JqZWN0LXBhZ2Uge1xyXG5cdFx0LnNvcnQgbGFiZWwge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHR9XHJcblx0XHQuYWxsLXByb2plY3QgYSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHRcdGhlaWdodDogNTBweDtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHRcdH1cclxuXHR9IFxyXG5cdC5zZWxlY3Rib3hpdC1jb250YWluZXIgKiB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdC5ib3R0b20tb3JkZXItYnRuIGEge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcHg7XHJcblx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKnByaW50IHN0eWxlcyovXHJcbi5wYWdlLWlzLXByaW50IHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG4ucHJpbnQtY29udGVpbmVyIHtcclxuXHR3aWR0aDogNzE2cHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0aDEge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdH1cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHR9XHJcbn1cclxuLnByaW50LWhlYWRlciB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwYWRkaW5nLXRvcDogNTVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHQucHJpbnQtbG9nbyB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblx0LnJpZ2h0IHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTRweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tdG9wOiAyM3B4O1xyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5wcmludC1sb2NhdGlvbiB7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG4ucHJpbnQtaW1hZ2VzIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbi1sZWZ0OiAtNDJweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0aW1nIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG4ucHJpbnQtb3B0aW9ucyB7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHR0ZCB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHR3aWR0aDogMzc5cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5wcmludC1zaXRlLXVybCB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG4ucHJpbnQtaW4tbWFwIHtcclxuXHRtYXJnaW4tdG9wOiA0MHB4O1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
