/*!
Theme Name: shr
Theme URI: http://brainrider.com http://brainrider.com http://brainrider.com
Description: A Custom B2B theme for shr.
Version: 1.0
Author: Jillian Wallace
Author URI: http://brainrider.com
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:
Text Domain: shr
*/
/** Foundation for Sites by ZURB Version 6.4.3 foundation.zurb.com Licensed under MIT Open Source */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document ========================================================================== */
/** 1. Change the default font family in all browsers (opinionated). 2. Correct the line height in all browsers. 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */
html { font-family: sans-serif; /* 1 */ line-height: 1.15; /* 2 */ -ms-text-size-adjust: 100%; /* 3 */ -webkit-text-size-adjust: 100%; /* 3 */ }

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

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

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

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

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

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

/** Add the correct display in IE. */
main { display: block; }

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

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

/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */
a:active, a:hover { outline-width: 0; }

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

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

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

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

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

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

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

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

sub { bottom: -0.25em; }

sup { top: -0.5em; }

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

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

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

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

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

/** Show the overflow in IE. */
button { overflow: visible; }

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

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

button, [type="button"], [type="reset"], [type="submit"] { /** Remove the inner border and padding in Firefox. */ /** Restore the focus styles unset by the previous rule. */ }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Show the overflow in Edge. */
input { overflow: visible; }

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

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

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

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

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

/** Change the border, margin, and padding in all browsers (opinionated). */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

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

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

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

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

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

/* Add the correct display in IE 9-. */
menu { display: block; }

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

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

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

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

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

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

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

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

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

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

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

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

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

pre { overflow: auto; }

button, input, optgroup, select, textarea { font-family: inherit; }

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

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

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

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

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

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

.align-right.vertical.menu > li > a { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.align-center.vertical.menu > li > a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

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

.align-self-top { -ms-flex-item-align: start; align-self: flex-start; }

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

.align-self-bottom { -ms-flex-item-align: end; align-self: flex-end; }

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

.align-self-middle { -ms-flex-item-align: center; align-self: center; }

.align-stretch { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

.align-self-stretch { -ms-flex-item-align: stretch; align-self: stretch; }

.align-center-middle { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-line-pack: center; align-content: center; }

.small-order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

.small-order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }

.small-order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }

.small-order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }

.small-order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }

.small-order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }

@media print, screen and (min-width: 40em) { .medium-order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .medium-order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .medium-order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
  .medium-order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
  .medium-order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
  .medium-order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } }

@media print, screen and (min-width: 64em) { .large-order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .large-order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .large-order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
  .large-order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
  .large-order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
  .large-order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } }

.flex-container { display: -webkit-box; display: -ms-flexbox; display: flex; }

.flex-child-auto { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }

.flex-child-grow { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; }

.flex-child-shrink { -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto; }

.flex-dir-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }

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

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

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

@media print, screen and (min-width: 40em) { .medium-flex-container { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .medium-flex-child-auto { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
  .medium-flex-child-grow { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; }
  .medium-flex-child-shrink { -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto; }
  .medium-flex-dir-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .medium-flex-dir-row-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .medium-flex-dir-column { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .medium-flex-dir-column-reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) { .large-flex-container { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .large-flex-child-auto { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
  .large-flex-child-grow { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; }
  .large-flex-child-shrink { -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto; }
  .large-flex-dir-row { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .large-flex-dir-row-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .large-flex-dir-column { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .large-flex-dir-column-reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

.row { max-width: 75rem; margin-right: auto; margin-left: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; }

.row .row { margin-right: -0.625rem; margin-left: -0.625rem; }

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

@media print, screen and (min-width: 64em) { .row .row { margin-right: -0.9375rem; margin-left: -0.9375rem; } }

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

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

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

.row:not(.expanded) .row { max-width: none; }

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

.row.is-collapse-child, .row.collapse > .column > .row, .row.collapse > .columns > .row { margin-right: 0; margin-left: 0; }

.column, .columns { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; padding-right: 0.625rem; padding-left: 0.625rem; min-width: 0; }

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

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

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

.small-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; }

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

.small-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; }

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

.small-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }

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

.small-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; }

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

.small-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; }

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

.small-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }

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

.small-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; }

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

.small-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; }

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

.small-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }

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

.small-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; }

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

.small-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; }

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

.small-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }

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

.small-up-1 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-1 > .column, .small-up-1 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }

.small-up-2 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-2 > .column, .small-up-2 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }

.small-up-3 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-3 > .column, .small-up-3 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; }

.small-up-4 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-4 > .column, .small-up-4 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }

.small-up-5 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-5 > .column, .small-up-5 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }

.small-up-6 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-6 > .column, .small-up-6 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; }

.small-up-7 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-7 > .column, .small-up-7 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 14.28571%; flex: 0 0 14.28571%; max-width: 14.28571%; }

.small-up-8 { -ms-flex-wrap: wrap; flex-wrap: wrap; }

.small-up-8 > .column, .small-up-8 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; }

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

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

@media print, screen and (min-width: 40em) { .medium-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; }
  .medium-offset-0 { margin-left: 0%; }
  .medium-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; }
  .medium-offset-1 { margin-left: 8.33333%; }
  .medium-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .medium-offset-2 { margin-left: 16.66667%; }
  .medium-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; }
  .medium-offset-3 { margin-left: 25%; }
  .medium-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; }
  .medium-offset-4 { margin-left: 33.33333%; }
  .medium-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .medium-offset-5 { margin-left: 41.66667%; }
  .medium-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; }
  .medium-offset-6 { margin-left: 50%; }
  .medium-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; }
  .medium-offset-7 { margin-left: 58.33333%; }
  .medium-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .medium-offset-8 { margin-left: 66.66667%; }
  .medium-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; }
  .medium-offset-9 { margin-left: 75%; }
  .medium-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; }
  .medium-offset-10 { margin-left: 83.33333%; }
  .medium-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .medium-offset-11 { margin-left: 91.66667%; }
  .medium-up-1 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-1 > .column, .medium-up-1 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .medium-up-2 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-2 > .column, .medium-up-2 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .medium-up-3 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-3 > .column, .medium-up-3 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; }
  .medium-up-4 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-4 > .column, .medium-up-4 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .medium-up-5 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-5 > .column, .medium-up-5 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .medium-up-6 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-6 > .column, .medium-up-6 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; }
  .medium-up-7 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-7 > .column, .medium-up-7 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 14.28571%; flex: 0 0 14.28571%; max-width: 14.28571%; }
  .medium-up-8 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-8 > .column, .medium-up-8 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) { .medium-expand { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; }

@media print, screen and (min-width: 40em) { .row.medium-unstack > .column, .row.medium-unstack > .columns { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) { .medium-collapse > .column, .medium-collapse > .columns { padding-right: 0; padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns { padding-right: 0.9375rem; padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) { .large-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; }
  .large-offset-0 { margin-left: 0%; }
  .large-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; }
  .large-offset-1 { margin-left: 8.33333%; }
  .large-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .large-offset-2 { margin-left: 16.66667%; }
  .large-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; }
  .large-offset-3 { margin-left: 25%; }
  .large-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; }
  .large-offset-4 { margin-left: 33.33333%; }
  .large-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .large-offset-5 { margin-left: 41.66667%; }
  .large-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; }
  .large-offset-6 { margin-left: 50%; }
  .large-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; }
  .large-offset-7 { margin-left: 58.33333%; }
  .large-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .large-offset-8 { margin-left: 66.66667%; }
  .large-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; }
  .large-offset-9 { margin-left: 75%; }
  .large-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; }
  .large-offset-10 { margin-left: 83.33333%; }
  .large-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .large-offset-11 { margin-left: 91.66667%; }
  .large-up-1 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-1 > .column, .large-up-1 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .large-up-2 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-2 > .column, .large-up-2 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .large-up-3 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-3 > .column, .large-up-3 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; }
  .large-up-4 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-4 > .column, .large-up-4 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .large-up-5 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-5 > .column, .large-up-5 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .large-up-6 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-6 > .column, .large-up-6 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; }
  .large-up-7 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-7 > .column, .large-up-7 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 14.28571%; flex: 0 0 14.28571%; max-width: 14.28571%; }
  .large-up-8 { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-8 > .column, .large-up-8 > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { .large-expand { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; }

@media print, screen and (min-width: 64em) { .row.large-unstack > .column, .row.large-unstack > .columns { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) { .large-collapse > .column, .large-collapse > .columns { padding-right: 0; padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns { padding-right: 0.9375rem; padding-left: 0.9375rem; } }

.shrink { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; max-width: 100%; }

.column-block { margin-bottom: 1.25rem; }

.column-block > :last-child { margin-bottom: 0; }

@media print, screen and (min-width: 40em) { .column-block { margin-bottom: 1.875rem; }
  .column-block > :last-child { margin-bottom: 0; } }

.button { display: inline-block; vertical-align: middle; margin: 0 0 1rem 0; font-family: inherit; padding: 0.85em 1em; -webkit-appearance: none; border: 1px solid transparent; border-radius: 0; -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; transition: background-color 0.25s ease-out, color 0.25s ease-out; font-size: 0.9rem; line-height: 1; text-align: center; cursor: pointer; background-color: #1779ba; color: #fefefe; }

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

.button:hover, .button:focus { background-color: #14679e; color: #fefefe; }

.button.tiny { font-size: 0.6rem; }

.button.small { font-size: 0.75rem; }

.button.large { font-size: 1.25rem; }

.button.expanded { display: block; width: 100%; margin-right: 0; margin-left: 0; }

.button.primary { background-color: #1779ba; color: #fefefe; }

.button.primary:hover, .button.primary:focus { background-color: #126195; color: #fefefe; }

.button.secondary { background-color: #767676; color: #fefefe; }

.button.secondary:hover, .button.secondary:focus { background-color: #5e5e5e; color: #fefefe; }

.button.success { background-color: #3adb76; color: #0a0a0a; }

.button.success:hover, .button.success:focus { background-color: #22bb5b; color: #0a0a0a; }

.button.warning { background-color: #ffae00; color: #0a0a0a; }

.button.warning:hover, .button.warning:focus { background-color: #cc8b00; color: #0a0a0a; }

.button.alert { background-color: #cc4b37; color: #fefefe; }

.button.alert:hover, .button.alert:focus { background-color: #a53b2a; color: #fefefe; }

.button.disabled, .button[disabled] { opacity: 0.25; cursor: not-allowed; }

.button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus { background-color: #1779ba; color: #fefefe; }

.button.disabled.primary, .button[disabled].primary { opacity: 0.25; cursor: not-allowed; }

.button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus { background-color: #1779ba; color: #fefefe; }

.button.disabled.secondary, .button[disabled].secondary { opacity: 0.25; cursor: not-allowed; }

.button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus { background-color: #767676; color: #fefefe; }

.button.disabled.success, .button[disabled].success { opacity: 0.25; cursor: not-allowed; }

.button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus { background-color: #3adb76; color: #0a0a0a; }

.button.disabled.warning, .button[disabled].warning { opacity: 0.25; cursor: not-allowed; }

.button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus { background-color: #ffae00; color: #0a0a0a; }

.button.disabled.alert, .button[disabled].alert { opacity: 0.25; cursor: not-allowed; }

.button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus { background-color: #cc4b37; color: #fefefe; }

.button.hollow { border: 1px solid #1779ba; color: #1779ba; }

.button.hollow, .button.hollow:hover, .button.hollow:focus { background-color: transparent; }

.button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus { background-color: transparent; }

.button.hollow:hover, .button.hollow:focus { border-color: #0c3d5d; color: #0c3d5d; }

.button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] { border: 1px solid #1779ba; color: #1779ba; }

.button.hollow.primary { border: 1px solid #1779ba; color: #1779ba; }

.button.hollow.primary:hover, .button.hollow.primary:focus { border-color: #0c3d5d; color: #0c3d5d; }

.button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] { border: 1px solid #1779ba; color: #1779ba; }

.button.hollow.secondary { border: 1px solid #767676; color: #767676; }

.button.hollow.secondary:hover, .button.hollow.secondary:focus { border-color: #3b3b3b; color: #3b3b3b; }

.button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] { border: 1px solid #767676; color: #767676; }

.button.hollow.success { border: 1px solid #3adb76; color: #3adb76; }

.button.hollow.success:hover, .button.hollow.success:focus { border-color: #157539; color: #157539; }

.button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] { border: 1px solid #3adb76; color: #3adb76; }

.button.hollow.warning { border: 1px solid #ffae00; color: #ffae00; }

.button.hollow.warning:hover, .button.hollow.warning:focus { border-color: #805700; color: #805700; }

.button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] { border: 1px solid #ffae00; color: #ffae00; }

.button.hollow.alert { border: 1px solid #cc4b37; color: #cc4b37; }

.button.hollow.alert:hover, .button.hollow.alert:focus { border-color: #67251a; color: #67251a; }

.button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] { border: 1px solid #cc4b37; color: #cc4b37; }

.button.clear { border: 1px solid #1779ba; color: #1779ba; }

.button.clear, .button.clear:hover, .button.clear:focus { background-color: transparent; }

.button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus { background-color: transparent; }

.button.clear:hover, .button.clear:focus { border-color: #0c3d5d; color: #0c3d5d; }

.button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] { border: 1px solid #1779ba; color: #1779ba; }

.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] { border-color: transparent; }

.button.clear.primary { border: 1px solid #1779ba; color: #1779ba; }

.button.clear.primary:hover, .button.clear.primary:focus { border-color: #0c3d5d; color: #0c3d5d; }

.button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] { border: 1px solid #1779ba; color: #1779ba; }

.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] { border-color: transparent; }

.button.clear.secondary { border: 1px solid #767676; color: #767676; }

.button.clear.secondary:hover, .button.clear.secondary:focus { border-color: #3b3b3b; color: #3b3b3b; }

.button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] { border: 1px solid #767676; color: #767676; }

.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] { border-color: transparent; }

.button.clear.success { border: 1px solid #3adb76; color: #3adb76; }

.button.clear.success:hover, .button.clear.success:focus { border-color: #157539; color: #157539; }

.button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] { border: 1px solid #3adb76; color: #3adb76; }

.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] { border-color: transparent; }

.button.clear.warning { border: 1px solid #ffae00; color: #ffae00; }

.button.clear.warning:hover, .button.clear.warning:focus { border-color: #805700; color: #805700; }

.button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] { border: 1px solid #ffae00; color: #ffae00; }

.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] { border-color: transparent; }

.button.clear.alert { border: 1px solid #cc4b37; color: #cc4b37; }

.button.clear.alert:hover, .button.clear.alert:focus { border-color: #67251a; color: #67251a; }

.button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] { border: 1px solid #cc4b37; color: #cc4b37; }

.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] { border-color: transparent; }

.button.dropdown::after { display: block; width: 0; height: 0; border: inset 0.4em; content: ''; border-bottom-width: 0; border-top-style: solid; border-color: #fefefe transparent transparent; position: relative; top: 0.4em; display: inline-block; float: right; margin-left: 1em; }

.button.dropdown.hollow::after { border-top-color: #1779ba; }

.button.dropdown.hollow.primary::after { border-top-color: #1779ba; }

.button.dropdown.hollow.secondary::after { border-top-color: #767676; }

.button.dropdown.hollow.success::after { border-top-color: #3adb76; }

.button.dropdown.hollow.warning::after { border-top-color: #ffae00; }

.button.dropdown.hollow.alert::after { border-top-color: #cc4b37; }

.button.arrow-only::after { top: -0.1em; float: none; margin-left: 0; }

a.button:hover, a.button:focus { text-decoration: none; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea { display: block; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; height: 2.4375rem; margin: 0 0 1rem; padding: 0.5rem; border: 1px solid #cacaca; border-radius: 0; background-color: #fefefe; -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); font-family: inherit; font-size: 1rem; font-weight: normal; line-height: 1.5; color: #0a0a0a; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, textarea:focus { outline: none; border: 1px solid #8a8a8a; background-color: #fefefe; -webkit-box-shadow: 0 0 5px #cacaca; box-shadow: 0 0 5px #cacaca; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea { max-width: 100%; }

textarea[rows] { height: auto; }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #cacaca; }

input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #cacaca; }

input::placeholder, textarea::placeholder { color: #cacaca; }

input:disabled, input[readonly], textarea:disabled, textarea[readonly] { background-color: #e6e6e6; cursor: not-allowed; }

[type='submit'], [type='button'] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; }

input[type='search'] { -webkit-box-sizing: border-box; box-sizing: border-box; }

[type='file'], [type='checkbox'], [type='radio'] { margin: 0 0 1rem; }

[type='checkbox'] + label, [type='radio'] + label { display: inline-block; vertical-align: baseline; margin-left: 0.5rem; margin-right: 1rem; margin-bottom: 0; }

[type='checkbox'] + label[for], [type='radio'] + label[for] { cursor: pointer; }

label > [type='checkbox'], label > [type='radio'] { margin-right: 0.5rem; }

[type='file'] { width: 100%; }

label { display: block; margin: 0; font-size: 0.875rem; font-weight: normal; line-height: 1.8; color: #0a0a0a; }

label.middle { margin: 0 0 1rem; padding: 0.5625rem 0; }

.help-text { margin-top: -0.5rem; font-size: 0.8125rem; font-style: italic; color: #0a0a0a; }

.input-group { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; margin-bottom: 1rem; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

.input-group > :first-child { border-radius: 0 0 0 0; }

.input-group > :last-child > * { border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a, .input-group-button input, .input-group-button button, .input-group-button label { margin: 0; white-space: nowrap; }

.input-group-label { padding: 0 1rem; border: 1px solid #cacaca; background: #e6e6e6; color: #0a0a0a; text-align: center; white-space: nowrap; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.input-group-label:first-child { border-right: 0; }

.input-group-label:last-child { border-left: 0; }

.input-group-field { border-radius: 0; -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; height: auto; min-width: 0; }

.input-group-button { padding-top: 0; padding-bottom: 0; text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; }

.input-group-button a, .input-group-button input, .input-group-button button, .input-group-button label { height: auto; -ms-flex-item-align: stretch; align-self: stretch; padding-top: 0; padding-bottom: 0; font-size: 1rem; }

fieldset { margin: 0; padding: 0; border: 0; }

legend { max-width: 100%; margin-bottom: 0.5rem; }

.fieldset { margin: 1.125rem 0; padding: 1.25rem; border: 1px solid #cacaca; }

.fieldset legend { margin: 0; margin-left: -0.1875rem; padding: 0 0.1875rem; }

select { height: 2.4375rem; margin: 0 0 1rem; padding: 0.5rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 1px solid #cacaca; border-radius: 0; background-color: #fefefe; font-family: inherit; font-size: 1rem; font-weight: normal; line-height: 1.5; color: #0a0a0a; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>"); background-origin: content-box; background-position: right -1rem center; background-repeat: no-repeat; background-size: 9px 6px; padding-right: 1.5rem; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

@media screen and (min-width: 0\0) { select { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }

select:focus { outline: none; border: 1px solid #8a8a8a; background-color: #fefefe; -webkit-box-shadow: 0 0 5px #cacaca; box-shadow: 0 0 5px #cacaca; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

select:disabled { background-color: #e6e6e6; cursor: not-allowed; }

select::-ms-expand { display: none; }

select[multiple] { height: auto; background-image: none; }

.is-invalid-input:not(:focus) { border-color: #cc4b37; background-color: #f9ecea; }

.is-invalid-input:not(:focus)::-webkit-input-placeholder { color: #cc4b37; }

.is-invalid-input:not(:focus):-ms-input-placeholder { color: #cc4b37; }

.is-invalid-input:not(:focus)::placeholder { color: #cc4b37; }

.is-invalid-label { color: #cc4b37; }

.form-error { display: none; margin-top: -0.5rem; margin-bottom: 1rem; font-size: 0.75rem; font-weight: bold; color: #cc4b37; }

.form-error.is-visible { display: block; }

.hide { display: none !important; }

.invisible { visibility: hidden; }

@media screen and (max-width: 39.9375em) { .hide-for-small-only { display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) { .show-for-small-only { display: none !important; } }

@media print, screen and (min-width: 40em) { .hide-for-medium { display: none !important; } }

@media screen and (max-width: 39.9375em) { .show-for-medium { display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) { .hide-for-medium-only { display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) { .show-for-medium-only { display: none !important; } }

@media print, screen and (min-width: 64em) { .hide-for-large { display: none !important; } }

@media screen and (max-width: 63.9375em) { .show-for-large { display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) { .hide-for-large-only { display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) { .show-for-large-only { display: none !important; } }

.show-for-sr, .show-on-focus { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; -webkit-clip-path: inset(50%); clip-path: inset(50%); border: 0; }

.show-on-focus:active, .show-on-focus:focus { position: static !important; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; -webkit-clip-path: none; clip-path: none; }

.show-for-landscape, .hide-for-portrait { display: block !important; }

@media screen and (orientation: landscape) { .show-for-landscape, .hide-for-portrait { display: block !important; } }

@media screen and (orientation: portrait) { .show-for-landscape, .hide-for-portrait { display: none !important; } }

.hide-for-landscape, .show-for-portrait { display: none !important; }

@media screen and (orientation: landscape) { .hide-for-landscape, .show-for-portrait { display: none !important; } }

@media screen and (orientation: portrait) { .hide-for-landscape, .show-for-portrait { display: block !important; } }

.float-left { float: left !important; }

.float-right { float: right !important; }

.float-center { display: block; margin-right: auto; margin-left: auto; }

.clearfix::before, .clearfix::after { display: table; content: ' '; -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

.clearfix::after { clear: both; }

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/** 1. Change the default font family in all browsers (opinionated). 2. Correct the line height in all browsers. 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */
/* Document ========================================================================== */
html { font-family: sans-serif; /* 1 */ line-height: 1.15; /* 2 */ -ms-text-size-adjust: 100%; /* 3 */ -webkit-text-size-adjust: 100%; /* 3 */ }

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

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

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

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

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

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

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

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

/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */
a:active, a:hover { outline-width: 0; }

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

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

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

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

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

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

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

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

sub { bottom: -0.25em; }

sup { top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

/** Change the border, margin, and padding in all browsers (opinionated). */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Slider */
.slick-slider { position: relative; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }

.slick-track:before, .slick-track:after { display: table; content: ''; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

body { font-size: 20px; color: #333333; font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; font-weight: 400; }

@media screen and (max-width: 63.9375em) { body { font-size: 18px; } }

p, a, ul li, ol li { line-height: 30px; }

@media screen and (max-width: 63.9375em) { p, a, ul li, ol li { line-height: 26px; } }

@media screen and (max-width: 39.9375em) { p { margin: 0.5em 0; } }

@media screen and (max-width: 39.9375em) { h1 { font-size: 32px; line-height: 40px; } }

h2 { font-weight: 600; font-size: 34px; line-height: 36px; }

@media screen and (max-width: 39.9375em) { h2 { font-size: 28px; line-height: 30px; } }

h3 { font-weight: 600; font-size: 24px; line-height: 28px; }

h4 { font-weight: 600; font-size: 22px; margin: 1em 0; }

a { color: #ff9500; font-weight: 600; }

a:hover { color: #084c61; cursor: pointer; }

@media screen and (max-width: 39.9375em) { div#page.site { overflow-x: hidden; } }

.wrapper { max-width: 90%; margin: 0 auto; }

.container { margin-bottom: 6em; }

.container .row { margin-top: 1em; margin-bottom: 1em; }

@media screen and (max-width: 39.9375em) { .container { margin-bottom: 3em; } }

.row { max-width: 1170px; }

#banner-header + .container, #featured-intro + .container { margin-top: 3.5em; }

@media screen and (max-width: 39.9375em) { #banner-header + .container, #featured-intro + .container { margin-top: 2.5em; } }

.btn-default { color: #ff9500; text-transform: uppercase; text-decoration: none; border: 2px solid #ff9500; border-radius: 5px; padding: 6px 20px; display: inline-block; margin: 0; -webkit-transition: 0.5s; transition: 0.5s; font-size: 16px; font-weight: 700; letter-spacing: 0.02em; }

.btn-default:hover { color: #fff; background-color: #ff9500; cursor: pointer; }

.btn-default.btn-white { color: #fff; border-color: #fff; }

.btn-default.btn-white:hover { color: #ff9500; background-color: #fff; cursor: pointer; }

img.alignleft, img.left { float: left; margin: 1em 1em 1em 0; }

@media screen and (max-width: 39.9375em) { img.alignleft, img.left { float: none; display: block; margin: 1em auto; } }

img.alignright, img.right { float: right; margin: 1em 0 1em 1em; }

@media screen and (max-width: 39.9375em) { img.alignright, img.right { float: none; display: block; margin: 1em auto; } }

img.aligncenter, img.center { display: block; margin: 1em auto; }

img.alignnone, img.none { margin: 1em 0; }

@media screen and (max-width: 39.9375em) { img.alignnone, img.none { display: block; margin: 1em auto; } }

figure { max-width: 100%; margin: 1em 0; }

figure.alignleft, figure.left { float: left; margin: 1em 1em 1em 0; }

@media screen and (max-width: 39.9375em) { figure.alignleft, figure.left { float: none; display: block; margin: 1em auto; } }

figure.alignright, figure.right { float: right; margin: 1em 0 1em 1em; }

@media screen and (max-width: 39.9375em) { figure.alignright, figure.right { float: none; display: block; margin: 1em auto; } }

figure.aligncenter, figure.center { display: block; margin: 1em auto; }

figure.alignnone figure.none { margin: 1em 0; }

@media screen and (max-width: 39.9375em) { figure.alignnone figure.none { display: block; margin: 1em auto; } }

figure figcaption { background: #c8d3d5; padding: 10px; font-size: 18px; line-height: 20px; }

#banner-header .slider-content { display: block; height: 100%; }

#banner-header .slick-list, #banner-header .slick-track { display: -webkit-box; display: -ms-flexbox; display: flex; }

@media screen and (min-width: 0\0) { #banner-header .slick-list, #banner-header .slick-track { display: block; } }

#banner-header .slick-dots { position: absolute; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; bottom: 6px; }

#banner-header .slick-dots li { position: relative; display: inline-block; width: 16px; height: 16px; margin: 0 5px; padding: 0; cursor: pointer; background-color: #dfdfdf; border-radius: 50%; }

#banner-header .slick-dots li.slick-active { background-color: #ff9500; }

#banner-header .slick-dots button { display: none; }

#banner-header .container { display: block; height: 100%; }

#banner-header .entry-header { background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: transparent; height: 100%; }

#banner-header .entry-header .container { min-height: 500px; padding: 3em 0; margin-bottom: 0em; }

#banner-header .entry-header .container h1, #banner-header .entry-header .container p { color: #fff; }

#banner-header .entry-header .container h1 { font-size: 60px; line-height: 64px; margin-bottom: 20px; font-weight: 600; text-shadow: 1px 1px 4px #333333; max-width: 50%; }

@media screen and (max-width: 63.9375em) { #banner-header .entry-header .container h1 { width: 100%; max-width: 100%; } }

#banner-header .entry-header .container span.intro-copy { width: 50%; display: block; }

#banner-header .entry-header .container span.intro-copy p { font-size: 30px; line-height: 34px; font-weight: 600; margin-bottom: 36px; text-shadow: 1px 1px 4px #333333; }

@media screen and (max-width: 39.9375em) { #banner-header .entry-header .container span.intro-copy p { margin-bottom: 22px; } }

@media screen and (max-width: 63.9375em) { #banner-header .entry-header .container span.intro-copy { width: 100%; } }

@media screen and (max-width: 39.9375em) { #banner-header .entry-header .container { min-height: 150px; padding: 2em 0; background-color: rgba(5, 5, 5, 0.2); }
  #banner-header .entry-header .container h1 { margin-top: 0; font-size: 36px; line-height: 38px; }
  #banner-header .entry-header .container span.intro-copy p { font-size: 22px; line-height: 26px; } }

#banner-header .entry-header .btn-default { background-color: #fff; border-width: 1px; }

#banner-header .entry-header .btn-default:hover { background-color: #ff9500; color: #fff; }

#banner-header .entry-header .row.row-banner-title { margin-top: 0; margin-bottom: 0; }

@media screen and (max-width: 63.9375em) { #banner-header .entry-header .row.row-banner-title .columns { padding: 0 2em; } }

#featured-intro.orange { background-color: #ff9500; color: #fff; }

#featured-intro.lightblue { background-color: #c8d3d5; }

#featured-intro.darkblue { background-color: #084c61; color: #fff; }

#featured-intro.darkblue .row .columns a { color: #ff9500; }

#featured-intro.white { background-color: #fff; }

#featured-intro .row { margin-top: 0; margin-bottom: 0; }

#featured-intro .row .columns { padding-top: 1.25em; padding-bottom: 1.25em; }

@media screen and (max-width: 63.9375em) { #featured-intro .row .columns { padding-left: 2em; padding-right: 2em; } }

#featured-intro .row .columns h2.hero-featured-title { margin-top: 0; font-size: 26px; line-height: 32px; margin-bottom: 16px; }

#featured-intro .row .columns p { margin-top: 0; font-weight: 500; }

#featured-intro .row .columns a { color: #084c61; font-weight: 600; }

#featured-intro .row .columns a:hover { color: #333333; }

.container.featured-content .flex-row { display: -ms-flex; display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 0; margin-bottom: 0; }

.container.featured-content .flex-row .columns { min-height: 600px; }

.container.featured-content .flex-row .columns.column-left { padding-right: 0; }

.container.featured-content .flex-row .columns.column-right { padding-left: 0; }

.container.featured-content .flex-row .columns .featured-link { color: #084c61; display: inline-block; margin-top: 1em; }

.container.featured-content .flex-row .columns .featured-link:hover { color: #333333; }

@media screen and (max-width: 39.9375em) { .container.featured-content .flex-row .columns .featured-link { margin-top: 0; } }

.container.featured-content .flex-row .columns .inner-column { height: 100%; }

.container.featured-content .flex-row .columns .inner-column.white { background-color: #fff; }

.container.featured-content .flex-row .columns .inner-column.orange { background-color: #ff9500; color: #fff; font-weight: 500; }

.container.featured-content .flex-row .columns .inner-column.lightblue { background-color: #c8d3d5; }

.container.featured-content .flex-row .columns .inner-column.darkblue { background-color: #084c61; color: #fff; font-weight: 500; }

.container.featured-content .flex-row .columns .inner-column.darkblue .featured-link { color: #ff9500; }

.container.featured-content .flex-row .columns .inner-content { padding: 2em; }

.container.featured-content .flex-row .columns .inner-content h2 { margin: 0.5em 0; }

.container.featured-content .flex-row .background-image div { background-size: cover; background-position: center center; background-repeat: no-repeat; height: 100%; }

@media screen and (max-width: 80em) { .container.featured-content .flex-row .columns.column-left { padding-left: 0; }
  .container.featured-content .flex-row .columns.column-right { padding-right: 0; } }

@media screen and (max-width: 39.9375em) { .container.featured-content .flex-row .columns.background-image { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; height: 176px; min-height: auto; }
  .container.featured-content .flex-row .columns.featured-content { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; min-height: auto; height: auto; }
  .container.featured-content .flex-row .columns.featured-content .inner-content { padding: 2em; }
  .container.featured-content .flex-row .columns.featured-content .inner-content h2 { margin-top: 0; } }

.columns-layout .row h2 { text-align: center; width: 100%; display: block; margin-top: 0; }

.columns-layout .row .columns.columns-intro { padding-left: 2em; padding-right: 2em; text-align: center; }

@media screen and (max-width: 39.9375em) { .columns-layout .row .columns.columns-intro { margin-bottom: 0; } }

.columns-layout .row .columns { padding-right: 3.5rem; padding-left: 3.5rem; text-align: center; }

.columns-layout .row .columns img { display: block; margin-bottom: 1.25em; margin-left: auto; margin-right: auto; height: auto; }

.columns-layout .row .columns img.regular { width: 100%; }

.columns-layout .row .columns img.small { width: 150px; }

.columns-layout .row .columns h3 { margin: 0 0 10px; font-weight: 600; }

.columns-layout .row .columns p { margin: 0 0 1.25em; }

@media screen and (max-width: 63.9375em) { .columns-layout .row .columns { padding-right: 1rem; padding-left: 1rem; } }

@media screen and (max-width: 39.9375em) { .columns-layout .row .columns { margin-bottom: 50px; padding-right: 2em; padding-left: 2em; } }

@media screen and (max-width: 63.9375em) { .columns-layout .row.columns-row { padding-left: 2em; padding-right: 2em; } }

@media screen and (max-width: 39.9375em) { .columns-layout .row.columns-row { padding-left: 0; padding-right: 0; } }

.columns-layout-basic .columns img { display: block; margin-bottom: 1.25em; margin-left: auto; margin-right: auto; height: auto; }

.columns-layout-basic .columns img.regular { width: 100%; }

.columns-layout-basic .columns img.small { width: 150px; }

.columns-layout-basic .columns h3 { margin: 0 0 10px; text-align: center; }

.columns-layout-basic .columns p { margin: 0 0 1.25em; }

@media screen and (max-width: 39.9375em) { .columns-layout-basic .columns { margin-bottom: 50px; padding-right: 2em; padding-left: 2em; } }

.columns-layout-basic .btn-wrap { text-align: center; }

@media screen and (max-width: 63.9375em) { .columns-layout-basic .row.columns-row { padding-left: 2em; padding-right: 2em; } }

@media screen and (max-width: 39.9375em) { .columns-layout-basic .row.columns-row { padding-left: 0; padding-right: 0; } }

.columns-layout-locations h2 { text-align: center; width: 100%; display: block; margin-top: 0; }

.columns-layout-locations .columns.columns-intro { padding-left: 2em; padding-right: 2em; text-align: center; }

@media screen and (max-width: 39.9375em) { .columns-layout-locations .columns.columns-intro { margin-bottom: 0; } }

.columns-layout-locations .row .columns { text-align: left; }

.columns-layout-locations .row .columns .map, .columns-layout-locations .row .columns .image-map { width: 100%; height: 250px; overflow: hidden; margin-bottom: 20px; }

.columns-layout-locations .row .columns .map img, .columns-layout-locations .row .columns .image-map img { width: 100%; height: auto; }

.columns-layout-locations .row .columns .map iframe { max-width: 100%; }

@media screen and (max-width: 39.9375em) { .columns-layout-locations .row .columns .map iframe { width: 100%; } }

.columns-layout-locations .row .columns img { display: block; margin-left: auto; margin-right: auto; height: auto; }

.columns-layout-locations .row .columns h3 { margin: 0 0 10px; font-weight: 600; }

.columns-layout-locations .row .columns p { margin: 0 0 1.25em; }

@media screen and (max-width: 63.9375em) { .columns-layout-locations { padding-left: 2em; padding-right: 2em; } }

.section-highlight { background-color: #084c61; }

.section-highlight .row { padding: 2em 0; }

.section-highlight .columns { text-align: center; color: #fff; padding-left: 2em; padding-right: 2em; }

.section-highlight .columns h2 { margin-top: 0; margin-bottom: 20px; }

.section-highlight .columns p { font-size: 24px; line-height: 32px; font-weight: 500; margin-bottom: 24px; }

.section-highlight .columns .btn-default.btn-white { color: #ff9500; background-color: #fff; cursor: pointer; }

.section-highlight .columns .btn-default.btn-white:hover { color: #fff; border-color: #fff; background-color: transparent; }

@media screen and (max-width: 63.9375em) { .section-highlight .columns { padding-left: 2em; padding-right: 2em; } }

@media screen and (max-width: 39.9375em) { .row.wysiwyg { max-width: none; width: 100%; } }

.row.wysiwyg .columns h2 { font-size: 28px; line-height: 30px; margin-bottom: 14px; }

.row.wysiwyg .columns p { margin-top: 14px; }

@media screen and (max-width: 63.9375em) { .row.wysiwyg .columns { padding-left: 2em; padding-right: 2em; } }

.row.image-text-row { margin-bottom: 2em; }

.row.image-text-row .columns h2 { font-size: 28px; line-height: 30px; margin: 1em 0; }

.row.image-text-row .columns p:first-of-type { margin-top: 0; }

.row.image-text-row .columns a { color: #ff9500; }

.row.image-text-row .columns a:hover { color: #333333; }

@media screen and (max-width: 63.9375em) { .row.image-text-row .columns { padding-left: 2em; padding-right: 2em; } }

header.site-header { position: relative; z-index: 101; padding: 1.5em 0 0; }

header.site-header .container { margin-bottom: 0; }

header.site-header .wrapper { position: relative; }

header.site-header #navigation-wrapper { display: block; }

header.site-header #navigation-wrapper-mobile { display: none; }

header.site-header .site-navigation { position: relative; height: 140px; z-index: 1; }

header.site-header .site-navigation .site-branding { position: absolute; top: 0; left: 0; }

header.site-header .site-navigation #navlogo { width: 90px; height: 90px; }

header.site-header nav ul { float: right; padding-left: 0; margin-top: 0; margin-bottom: 0; }

header.site-header nav ul li { display: inline-block; list-style-type: none; padding: 0 0.75em; position: relative; }

header.site-header nav ul li a { color: #084c61; text-decoration: none; font-weight: 600; display: block; }

header.site-header nav ul li a:hover { text-decoration: none; color: #ff9500; }

header.site-header nav ul li.current-menu-item a, header.site-header nav ul li.current_page_item a { color: #ff9500; }

header.site-header nav.primary-navigation ul { text-align: right; }

header.site-header nav.primary-navigation ul li { padding-top: 20px; padding-bottom: 20px; }

header.site-header nav.primary-navigation ul li:last-of-type { padding-right: 0; }

header.site-header nav.primary-navigation li.menu-item-has-children { position: relative; }

header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu { display: none; background-color: #fff; position: absolute; left: 0; top: 70px; z-index: 11; border: 1px solid #ddd; min-width: 300px; text-align: left; }

header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu li { display: block; width: 100%; margin-left: 0; margin-right: 0; padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid #ddd; }

header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu li:last-of-type { border-bottom: none; }

header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu li a { display: block; }

header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu li a:hover { text-decoration: none; color: #ff9500; }

header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu li.current-menu-item a, header.site-header nav.primary-navigation li.menu-item-has-children ul.sub-menu li.current_page_item a { color: #ff9500; }

header.site-header nav.primary-navigation li.menu-item-has-children:hover ul.sub-menu { display: block; }

header.site-header nav.secondary-navigation { text-align: left; text-transform: uppercase; }

header.site-header nav.secondary-navigation ul li { font-size: 16px; padding-top: 20px; padding-bottom: 20px; }

header.site-header nav.secondary-navigation ul li a { color: #333333; }

header.site-header nav.secondary-navigation ul li.btn-default { padding: 4px 12px; }

header.site-header nav.secondary-navigation ul li.btn-default a { color: #ff9500; }

header.site-header nav.secondary-navigation ul li.btn-default:hover a { color: #fff; text-decoration: none; }

header.site-header nav.secondary-navigation ul li.menu-search-bar { padding: 0; }

header.site-header nav.secondary-navigation ul li.menu-search-bar a { position: relative; visibility: hidden; }

header.site-header nav.secondary-navigation ul li.menu-search-bar:hover { cursor: pointer; }

header.site-header nav.secondary-navigation ul li.menu-search-bar:before { content: '\f002'; font-family: FontAwesome; font-size: 26px; font-weight: 400; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

header.site-header nav.secondary-navigation ul li:hover a { color: #ff9500; }

header.site-header nav.secondary-navigation ul li.current-menu-item a, header.site-header nav.secondary-navigation ul li.current_page_item a { color: #ff9500; }

header.site-header nav.secondary-navigation li.menu-item-has-children { position: relative; }

header.site-header nav.secondary-navigation li.menu-item-has-children:hover { background-color: #f7f7f7; }

header.site-header nav.secondary-navigation li.menu-item-has-children:hover ul.sub-menu { display: block; }

header.site-header nav.secondary-navigation li.menu-item-has-children:hover ul.sub-menu li a { color: #333333; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu { display: none; background-color: #f7f7f7; position: absolute; left: 0; top: 60px; z-index: 11; min-width: 250px; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu li { display: block; width: 100%; margin-left: 0; margin-right: 0; padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid #ddd; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu li:last-of-type { border-bottom: none; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu li a { display: block; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu li a:hover { text-decoration: none; color: #ff9500; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu li.current-menu-item a, header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu li.current_page_item a { color: #ff9500; }

@media screen and (max-width: 1600px) { header.site-header nav.primary-navigation ul li { font-size: 17px; padding: 20px 6px; }
  header.site-header nav.secondary-navigation ul li { font-size: 17px; padding: 20px 8px; } }

header.site-header div.site-navigation-control { display: none; }

@media screen and (max-width: 1120px) { header.site-header { padding-bottom: 0; }
  header.site-header .wrapper { max-width: none; width: 100%; }
  header.site-header #navigation-wrapper { display: none; }
  header.site-header #navigation-wrapper-mobile { display: none; background-color: #fff; }
  header.site-header .site-navigation { height: auto; }
  header.site-header .site-navigation .site-branding { position: relative; left: 2em; margin-bottom: 30px; }
  header.site-header .menu-screen-reader-text { display: none; }
  header.site-header div.site-navigation-control { display: inline-block; position: relative; float: right; z-index: 11; right: 2em; top: 20px; }
  header.site-header #site-navigation-toggle { color: #999; }
  header.site-header #site-navigation-toggle:hover { color: #084c61; }
  header.site-header .burger-menu { font-size: 36px; }
  header.site-header .mobile-search-bar { font-size: 36px; margin-right: 20px; color: #999; }
  header.site-header .mobile-search-bar:hover { cursor: pointer; color: #084c61; }
  header.site-header #navigation-wrapper-mobile nav ul { text-align: left; float: none; }
  header.site-header #navigation-wrapper-mobile nav ul li { display: block; list-style-type: none; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation ul { text-align: left; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation ul li { margin: 0; padding-top: 0; padding-bottom: 0; font-size: 18px; border-bottom: 1px solid #999; padding-left: 0; padding-right: 0; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation ul li a { padding: 10px 5%; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation ul li:hover { background-color: #f7f7f7; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation ul li:hover a { text-decoration: none; color: #333333; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation ul li.current-menu-item a, header.site-header #navigation-wrapper-mobile nav.primary-navigation ul li.current_page_item a { color: #ff9500; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children { position: relative; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children ul.sub-menu { display: none; position: relative; top: 0; border: none; min-width: none; background-color: #f7f7f7; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children ul.sub-menu li { font-size: 18px; border-bottom: 1px solid #999; margin: 0; padding: 0; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children ul.sub-menu li a { padding: 10px 10px 10px 10%; color: #333333; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children ul.sub-menu li:last-of-type { border-bottom: none; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children ul.sub-menu li.current-menu-item a, header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children ul.sub-menu li.current_page_item a { color: #ff9500; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children:after { content: ''; width: 18px; height: 18px; position: absolute; top: 14px; right: 5%; background-image: url("assets/img/arrow_right_blue-opt.svg"); background-repeat: no-repeat; background-position: 50%; background-size: contain; -webkit-transition: .5s; transition: .5s; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children:hover ul.sub-menu { display: none; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children:hover:after { width: 18px; height: 18px; background-size: contain; background-image: url("assets/img/arrow_right_grey-opt.svg"); }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children.sub-open { background-color: #f7f7f7; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children.sub-open a { color: #333333; }
  header.site-header #navigation-wrapper-mobile nav.primary-navigation li.menu-item-has-children.sub-open:after { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation { margin-top: 0; text-transform: none; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li.btn-default.mobile-hide, header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li.menu-search-bar.mobile-hide { display: none; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li a { color: #084c61; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul { text-align: left; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li { margin: 0; padding-top: 0; padding-bottom: 0; font-size: 18px; border-bottom: 1px solid #999; padding-left: 0; padding-right: 0; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li a { padding: 10px 5%; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li:hover { background-color: #f7f7f7; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li:hover a { text-decoration: none; color: #333333; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li.current-menu-item a, header.site-header #navigation-wrapper-mobile nav.secondary-navigation ul li.current_page_item a { color: #ff9500; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children { position: relative; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu { display: none; position: relative; top: 0; border: none; min-width: none; background-color: #f7f7f7; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu li { font-size: 18px; border-bottom: 1px solid #999; margin: 0; padding: 0; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu li a { padding: 10px 10px 10px 10%; color: #333333; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu li:last-of-type { border-bottom: none; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu li.current-menu-item a, header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu li.current_page_item a { color: #ff9500; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children:after { content: ''; width: 18px; height: 18px; position: absolute; top: 14px; right: 5%; background-image: url("assets/img/arrow_right_blue-opt.svg"); background-repeat: no-repeat; background-position: 50%; background-size: contain; -webkit-transition: .5s; transition: .5s; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children:hover ul.sub-menu { display: none; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children:hover:after { width: 18px; height: 18px; background-size: contain; background-image: url("assets/img/arrow_right_grey-opt.svg"); }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children.sub-open { background-color: #f7f7f7; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children.sub-open a { color: #333333; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children.sub-open:after { -webkit-transform: rotate(90deg); transform: rotate(90deg); } }

.mobile-search { display: none; }

.mobile-search form.search-form { display: inline-block; }

.mobile-search label { display: inline-block; }

.mobile-search .screen-reader-text { display: none; }

.mobile-search.show-search { display: inline-block; }

.page-header, .entry-header { background-color: #ff9500; }

.page-header .container, .entry-header .container { margin-bottom: 0; }

.page-header .container .row, .entry-header .container .row { margin-top: 0; margin-bottom: 0; }

.page-header .row-title, .entry-header .row-title { padding: 1em 0; }

.page-header .row-title h1, .entry-header .row-title h1 { color: #fff; font-weight: 400; }

@media screen and (max-width: 63.9375em) { .page-header .row-title .columns, .entry-header .row-title .columns { padding-left: 2em; padding-right: 2em; } }

#page .site-content article { padding: 3em 0; }

.single-post #page .site-content article { padding: 0; }

.single-post #page .site-content article .container { padding: 3em 0 0; }

.single-post img.post-featured-img { margin-bottom: 2em; }

.single-post .blog-byline { display: block; font-weight: 600; font-size: 20px; margin: 0.25em 0; }

.single-post .blog-byline.author { margin-bottom: 2em; }

.single-post .entry-header { color: #ff9500; }

.single-post .entry-header .row.row-title { padding-top: 20px; padding-bottom: 56px; }

.single-post .entry-header h1 { margin: 28px 0 0; }

.single-post .entry-header a { color: #084c61; margin-left: 10px; margin-top: 10px; display: inline-block; }

.single-post .entry-header a:first-of-type { margin-left: 0; }

@media screen and (max-width: 63.9375em) { .single-post .columns { padding-left: 2em; padding-right: 2em; } }

.blog .inner-row, .archive .inner-row { padding: 0 2em; }

.blog .archive-wrap, .blog .sidebar-wrap, .archive .archive-wrap, .archive .sidebar-wrap { padding: 4em 0; }

.blog .entry-header, .archive .entry-header { background-color: #fff; }

.blog .entry-header h2, .archive .entry-header h2 { margin: 10px 0 0; }

.blog .entry-header a, .archive .entry-header a { color: #333333; text-decoration: none; }

.blog .entry-header a:hover, .archive .entry-header a:hover { text-decoration: underline; }

.blog #page .site-content article, .archive #page .site-content article { padding: 10px 0; margin-bottom: 30px; }

.blog #page .site-content article .container, .archive #page .site-content article .container { margin-bottom: 1em; }

.blog #page .site-content article .container .entry-content p, .archive #page .site-content article .container .entry-content p { margin: 0; }

.blog #page .site-content article .container .blog-featured-image img, .archive #page .site-content article .container .blog-featured-image img { width: 100%; height: auto; }

@media screen and (max-width: 39.9375em) { .blog #page .site-content article .container .blog-featured-image img, .archive #page .site-content article .container .blog-featured-image img { margin-bottom: 20px; width: 150px; height: 150px; max-width: 100%; } }

.blog .blog-byline, .archive .blog-byline { display: inline-block; font-weight: 600; font-size: 18px; margin: 0; }

.blog .sidebar-wrap { padding: 4em 0; }

.blog .sidebar-wrap h2 { margin: 10px 0 0; }

footer.site-footer { background-color: #f7f7f7; padding: 2em 0; }

footer.site-footer .container { margin-bottom: 0; }

footer.site-footer .row { width: 90%; max-width: none; }

footer.site-footer .row.footer-row { margin-top: 0; margin-bottom: 16px; }

footer.site-footer .row #footer-logo { width: 70px; height: 70px; }

footer.site-footer .row h4 { font-weight: 600; }

@media screen and (max-width: 63.9375em) { footer.site-footer .row h4 { margin: 0.5em 0; } }

footer.site-footer .row ul { padding-left: 0; }

footer.site-footer .row ul li { list-style-type: none; line-height: 1; margin-bottom: 12px; }

footer.site-footer .row ul li a { color: #084c61; font-weight: 500; text-decoration: none; }

footer.site-footer .row ul li a:hover { color: #333333; }

@media screen and (max-width: 63.9375em) { footer.site-footer .row ul { margin: 0 0 0.5em; } }

footer.site-footer .row ul.footer-social { display: block; }

footer.site-footer .row ul.footer-social li { display: inline-block; margin: 0 12px; }

footer.site-footer .row ul.footer-social li:first-of-type { margin-left: 0; }

footer.site-footer .row ul.footer-social li a:hover { color: #333333; }

@media screen and (max-width: 39.9375em) { footer.site-footer .row ul.footer-social li a { font-size: 30px; line-height: 36px; } }

@media screen and (max-width: 63.9375em) { footer.site-footer .row ul.footer-social { margin-bottom: 2em; } }

@media screen and (max-width: 63.9375em) { footer.site-footer .row { width: 100%; }
  footer.site-footer .row .columns { padding: 0 2em; } }

footer.site-footer .footer-logos { text-align: center; }

footer.site-footer .footer-logos .footer-logos-img { display: inline-block; margin: 0 16px; }

footer.site-footer .footer-logos .footer-logos-img img { display: block; height: 40px; width: auto; }

@media screen and (max-width: 39.9375em) { footer.site-footer .footer-logos .footer-logos-img { display: block; margin: 0 auto 16px; }
  footer.site-footer .footer-logos .footer-logos-img img { display: inline-block; }
  footer.site-footer .footer-logos .footer-logos-img:last-of-type { margin-bottom: 0; } }

footer.site-footer .footer-copyright { text-align: center; }

footer.site-footer .footer-copyright p { font-weight: 500; display: inline-block; margin-top: 0; margin-bottom: 0; font-size: 18px; }

footer.site-footer .footer-copyright ul { display: inline-block; padding-left: 0; margin-top: 0; margin-bottom: 0; }

footer.site-footer .footer-copyright ul li { display: inline-block; font-size: 18px; margin-left: 16px; }

footer.site-footer .footer-copyright ul li:before { content: '|'; position: relative; left: -8px; }

@media screen and (max-width: 39.9375em) { footer.site-footer .footer-copyright { text-align: left; }
  footer.site-footer .footer-copyright p, footer.site-footer .footer-copyright ul, footer.site-footer .footer-copyright ul li { display: block; margin-bottom: 10px; }
  footer.site-footer .footer-copyright ul li { margin-left: 0; }
  footer.site-footer .footer-copyright ul li:before { content: none; } }

.cta { width: 100%; margin-top: 3em; }

.cta .row { width: 100%; max-width: none; min-height: 200px; }

.cta .row .columns { padding-top: 1.25em; padding-bottom: 1.25em; color: #fff; }

.cta .row .columns h3 { margin: 0; font-weight: 500; font-size: 34px; }

@media screen and (max-width: 39.9375em) { .cta .row .columns h3 { font-size: 30px; line-height: 38px; } }

.cta .row .columns p { font-weight: 500; }

@media screen and (max-width: 39.9375em) { .cta .row .columns { padding-left: 2em; padding-right: 2em; }
  .cta .row .columns p { margin: 0.5em 0; } }

.cta .left { background-color: #ff9500; }

.cta .left .row-inner { width: 100%; padding-left: 5vw; margin-left: 0; margin-right: 0; }

.cta .left .row-inner .left-inner { background-color: transparent; padding-right: 1.25em; }

.cta .left .row-inner .left-inner a { color: #084c61; }

.cta .left .row-inner .left-inner a:hover { color: #333333; }

@media screen and (max-width: 39.9375em) { .cta .left .row-inner .left-inner { padding-right: 0; } }

@media screen and (max-width: 63.9375em) { .cta .left { padding-left: 2em; padding-right: 2em; }
  .cta .left .row-inner { padding-left: 0; }
  .cta .left .row-inner .left-inner { padding-right: 0; } }

.cta .right { background-color: #084c61; }

.cta .right .row-inner-right { width: 100%; padding-right: 5vw; }

.cta .right .right-inner { padding-left: 1.25em; }

.cta .right .right-inner a { color: #ff9500; }

.cta .right .right-inner a:hover { color: #c8d3d5; }

@media screen and (max-width: 63.9375em) { .cta .right { padding-left: 2em; padding-right: 2em; }
  .cta .right .row-inner-right { padding-right: 0; }
  .cta .right .right-inner { padding-left: 0; } }

@media screen and (max-width: 39.9375em) { .cta { margin-top: 6em; } }

.navigation.pagination { margin-top: 1em; }

.navigation.pagination h2.screen-reader-text { display: none; }

.navigation.pagination .nav-links { text-align: center; font-size: 22px; line-height: 26px; }

.navigation.pagination .nav-links a, .navigation.pagination .nav-links span.page-numbers.dots, .navigation.pagination .nav-links span.page-numbers.current { text-decoration: none; border: 2px solid #999; margin-bottom: 10px; padding: 8px 16px; color: #333333; font-weight: 500; line-height: 1; display: inline-block; -webkit-transition: 0.5s; transition: 0.5s; }

.navigation.pagination .nav-links a:hover, .navigation.pagination .nav-links span.page-numbers.dots:hover, .navigation.pagination .nav-links span.page-numbers.current:hover { color: #ff9500; border-color: #ff9500; }

.navigation.pagination .nav-links span.page-numbers.current { border-color: #ff9500; color: #ff9500; }

.navigation.pagination .nav-links .prev { position: relative; padding-left: 30px; }

.navigation.pagination .nav-links .prev:before { content: ''; width: 16px; height: 16px; position: absolute; top: 12px; left: 6px; background-image: url("assets/img/arrow_left_grey-opt.svg"); background-repeat: no-repeat; background-position: 50%; background-size: contain; -webkit-transition: .5s; transition: .5s; }

.navigation.pagination .nav-links .prev:hover:before { width: 16px; height: 16px; top: 12px; left: 6px; background-image: url("assets/img/arrow_left_orange-opt.svg"); }

.navigation.pagination .nav-links .next { position: relative; padding-right: 30px; }

.navigation.pagination .nav-links .next:after { content: ''; width: 16px; height: 16px; position: absolute; top: 12px; right: 6px; background-image: url("assets/img/arrow_right_grey-opt.svg"); background-repeat: no-repeat; background-position: 50%; background-size: contain; -webkit-transition: .5s; transition: .5s; }

.navigation.pagination .nav-links .next:hover:after { width: 16px; height: 16px; top: 12px; right: 6px; background-image: url("assets/img/arrow_right_orange-opt.svg"); }

@media screen and (max-width: 39.9375em) { .navigation.pagination .nav-links { font-size: 16px; line-height: 20px; }
  .navigation.pagination .nav-links .prev { padding-left: 22px; }
  .navigation.pagination .nav-links .prev:before { width: 12px; height: 12px; top: 11px; }
  .navigation.pagination .nav-links .prev:hover:before { width: 12px; height: 12px; top: 11px; }
  .navigation.pagination .nav-links .next { padding-right: 22px; }
  .navigation.pagination .nav-links .next:after { width: 12px; height: 12px; top: 11px; }
  .navigation.pagination .nav-links .next:hover:after { width: 12px; height: 12px; top: 11px; } }

.post-navigation { margin-top: 3em; }

@media screen and (max-width: 63.9375em) { .post-navigation { text-align: center; } }

.post-navigation span.previous.left { float: left; }

.post-navigation span.previous.left a { text-decoration: none; position: relative; display: block; border: 2px solid #ff9500; padding: 6px 20px 6px 30px; border-radius: 5px; }

.post-navigation span.previous.left a:before { content: ''; width: 14px; height: 14px; position: absolute; top: 15px; left: 10px; background-image: url("assets/img/arrow_left_orange-opt.svg"); background-repeat: no-repeat; background-position: 50%; background-size: contain; -webkit-transition: .5s; transition: .5s; }

.post-navigation span.previous.left a:hover { color: #fff; background-color: #ff9500; }

.post-navigation span.previous.left a:hover:before { width: 14px; height: 14px; top: 15px; left: 10px; background-image: url("assets/img/arrow_left_white-opt.svg"); }

@media screen and (max-width: 63.9375em) { .post-navigation span.previous.left a:before { top: 12px; }
  .post-navigation span.previous.left a:before:hover:before { top: 12px; } }

.post-navigation span.next.right { float: right; }

.post-navigation span.next.right a { text-decoration: none; position: relative; display: block; border: 2px solid #ff9500; padding: 6px 30px 6px 20px; border-radius: 5px; }

.post-navigation span.next.right a:after { content: ''; width: 14px; height: 14px; position: absolute; top: 15px; right: 10px; background-image: url("assets/img/arrow_right_orange-opt.svg"); background-repeat: no-repeat; background-position: 50%; background-size: contain; -webkit-transition: .5s; transition: .5s; }

.post-navigation span.next.right a:hover { color: #fff; background-color: #ff9500; }

.post-navigation span.next.right a:hover:after { width: 14px; height: 14px; top: 15px; right: 10px; background-image: url("assets/img/arrow_right_white-opt.svg"); }

@media screen and (max-width: 63.9375em) { .post-navigation span.next.right a:after { top: 12px; }
  .post-navigation span.next.right a:after:hover:after { top: 12px; } }

@media screen and (max-width: 39.9375em) { .post-navigation span.previous.left, .post-navigation span.next.right { float: none; display: inline-block; }
  .post-navigation span.previous.left { margin-bottom: 20px; } }

.single-shr-leadership .orange-wrapper { height: 154px; width: 100%; background-color: #ff9500; }

.single-shr-leadership .entry-header { background-color: transparent; }

.single-shr-leadership .leadership-bio .team-title { margin: 0; font-weight: 600; }

.single-shr-leadership .leadership-bio .team-subtitle { margin-top: 0; font-weight: 400; }

.single-shr-leadership .leadership-bio .entry-content { margin-bottom: 3em; }

.single-shr-leadership .leadership-pic .team-pic { border-bottom: 10px solid #084c61; }

@media screen and (max-width: 39.9375em) { .single-shr-leadership .leadership-pic { margin-bottom: 2em; } }

@media screen and (max-width: 63.9375em) { .single-shr-leadership .columns.small-12 { padding-left: 2em; padding-right: 2em; }
  .single-shr-leadership .columns.small-12 .columns { padding-left: 10px; padding-right: 10px; } }

.page-template-template-shr-leadership-archive .row.leadership-intro { margin-bottom: 3em; }

.page-template-template-shr-leadership-archive article .container { margin-bottom: 2em; }

.page-template-template-shr-leadership-archive a { text-decoration: none; }

.page-template-template-shr-leadership-archive a .team-info { background-color: #084c61; padding: 16px 20px; min-height: 152px; }

@media screen and (max-width: 39.9375em) { .page-template-template-shr-leadership-archive a .team-info { min-height: none; height: auto; } }

.page-template-template-shr-leadership-archive a .team-info h2 { margin: 0 0 6px; font-size: 26px; line-height: 32px; font-weight: 400; color: #fff; text-decoration: none; }

.page-template-template-shr-leadership-archive a .team-info p { color: #fff; font-size: 20px; margin: 0 0 10px; font-weight: 400; line-height: 24px; }

.page-template-template-shr-leadership-archive a:hover .team-info { background-color: #c8d3d5; }

.page-template-template-shr-leadership-archive a:hover .team-info h2 { color: #333333; }

.page-template-template-shr-leadership-archive a:hover .team-info p { color: #333333; }

.page-template-template-shr-leadership-archive a img.team-pic { vertical-align: bottom; }

@media screen and (max-width: 63.9375em) { .page-template-template-shr-leadership-archive .row { max-width: none; width: 100%; margin-bottom: 0; }
  .page-template-template-shr-leadership-archive .row.row-leadership { padding-left: 2em; padding-right: 2em; }
  .page-template-template-shr-leadership-archive .row.row-leadership .columns { margin-bottom: 1em; } }

@media screen and (max-width: 39.9375em) { .page-template-template-shr-leadership-archive .row.row-leadership { padding-left: 0; padding-right: 0; }
  .page-template-template-shr-leadership-archive .columns.small-12 { padding-left: 2em; padding-right: 2em; }
  .page-template-template-shr-leadership-archive a img.team-pic { display: block; margin-left: auto; margin-right: auto; }
  .page-template-template-shr-leadership-archive a .team-info { padding: 10px 18px; }
  .page-template-template-shr-leadership-archive a .team-info h2 { font-size: 26px; line-height: 32px; }
  .page-template-template-shr-leadership-archive a .team-info p { font-size: 18px; } }

form.search-form { margin-top: 34px; }

form.search-form .screen-reader-text { display: none; }

form label { width: 70%; display: inline-block; }

form label .search-field { border-radius: 5px; font-size: 20px; line-height: 30px; }

.search-submit { color: #ff9500; background-color: #fff; text-transform: uppercase; text-decoration: none; border: 2px solid #ff9500; border-radius: 5px; padding: 6px 20px; display: inline-block; margin: 0; -webkit-transition: 0.5s; transition: 0.5s; font-size: 16px; line-height: 26px; font-weight: 700; letter-spacing: 0.02em; margin-left: 14px; }

.search-submit:hover { color: #fff; background-color: #ff9500; }

.intro-404.intro-general { margin-top: 3em; }

.featured-content-search { margin-top: 50px; }

.error-404 .page-header { text-align: center; }

@media screen and (max-width: 63.9375em) { .error-404 .page-content { padding-left: 2em; padding-right: 2em; } }

.search .no-results.not-found .page-content, .search .no-results.not-found .featured-content-search { padding-left: 2em; padding-right: 2em; }

.error-404 .page-content, .search .page-content { padding-top: 2em; }

.error-404 .row-search, .search .row-search { text-align: center; }

.error-404 .row-search .intro-lrg.intro-lrg, .search .row-search .intro-lrg.intro-lrg { font-size: 30px; line-height: 34px; margin-bottom: 14px; }

@media screen and (max-width: 39.9375em) { .error-404 .row-search .intro-lrg.intro-lrg, .search .row-search .intro-lrg.intro-lrg { font-size: 24px; line-height: 28px; } }

.error-404 .row-search .intro-404, .search .row-search .intro-404 { font-size: 20px; line-height: 30px; margin-top: 14px; margin-bottom: 34px; }

@media screen and (max-width: 39.9375em) { .error-404 .row-search .intro-404, .search .row-search .intro-404 { font-size: 18px; line-height: 24px; } }

.error-404 .row-search .screen-reader-text, .search .row-search .screen-reader-text { display: none; }

.error-404 .row-search form, .search .row-search form { margin-top: 34px; }

.error-404 .row-search form label, .search .row-search form label { width: 70%; display: inline-block; }

.error-404 .row-search form label .search-field, .search .row-search form label .search-field { border-radius: 5px; font-size: 20px; line-height: 30px; }

.error-404 .row-search .search-submit, .search .row-search .search-submit { color: #ff9500; background-color: #fff; text-transform: uppercase; text-decoration: none; border: 2px solid #ff9500; border-radius: 5px; padding: 6px 20px; display: inline-block; margin: 0; -webkit-transition: 0.5s; transition: 0.5s; font-size: 16px; line-height: 26px; font-weight: 700; letter-spacing: 0.02em; margin-left: 14px; }

.error-404 .row-search .search-submit:hover, .search .row-search .search-submit:hover { color: #fff; background-color: #ff9500; }

.search .search-entry-header h2 { margin: 10px 0; font-size: 30px; line-height: 32px; }

.search .search-entry-header h3 { font-size: 20px; line-height: 22px; margin: 10px 0; }

.search .search-entry-header a { color: #333333; text-decoration: none; }

.search .search-entry-header a:hover { text-decoration: underline; }

.search .search-results-wrap, .search .sidebar-wrap { padding: 4em 0; }

.search .inner-row { padding: 0 2em; }

.search #page .site-content article { padding: 10px 0; margin-bottom: 30px; }

.search #page .site-content article .container { margin-bottom: 1em; }

.search #page .site-content article .container .entry-content p { margin: 0; }

.search .entry-meta a { text-decoration: underline; }

.search-wrap, .search-wrap-mobile { position: relative; width: 100%; }

.search-bar-mobile, .search-bar { display: none; padding: 0.75em 1em; background-color: #fff; width: 400px; position: absolute; top: 0; right: 0; z-index: 100; border-width: 6px 1px 1px 1px; border-color: #ff9500 #999 #999; border-style: solid; }

.search-bar-mobile p, .search-bar p { margin: 0 0 6px; line-height: 24px; }

.search-bar-mobile.show-search, .search-bar.show-search { display: block; }

.search-bar-mobile form, .search-bar form { width: 100%; }

.search-bar-mobile form label, .search-bar form label { width: calc(98% - 128px); display: inline-block; }

.search-bar-mobile form label .search-field, .search-bar form label .search-field { border-radius: 5px; font-size: 20px; line-height: 30px; margin-bottom: 0; background-color: #edf1f8; }

.search-bar-mobile .search-submit, .search-bar .search-submit { color: #fff; background-color: #fff; text-transform: uppercase; text-decoration: none; border: 2px solid #fff; background-color: #ff9500; border-radius: 5px; padding: 6px 20px; display: inline-block; margin: 0; -webkit-transition: 0.5s; transition: 0.5s; font-size: 16px; line-height: 26px; font-weight: 600; letter-spacing: 0.02em; margin-left: 14px; }

.search-bar-mobile .search-submit:hover, .search-bar .search-submit:hover { color: #ff9500; background-color: #fff; cursor: pointer; border-color: #ff9500; }

.search-bar-mobile .screen-reader-text, .search-bar .screen-reader-text { display: none; }

.search-bar-mobile { width: 100%; max-width: 400px; margin-left: auto; margin-right: auto; top: 100px; left: 0; right: 0; }

.br-rc-single-banner { background-color: #ff9500; }

.br-rc-single-banner .container { margin-bottom: 0; }

.br-rc-single-banner .container .row { margin-top: 0; margin-bottom: 0; }

.br-rc-single-banner .row-title { padding-top: 20px; padding-bottom: 56px; }

.br-rc-single-banner .row-title h1 { color: #fff; font-weight: 400; margin: 28px 0 0; }

.br-rc-single-banner .row-title a { color: #084c61; margin-left: 10px; margin-top: 10px; display: inline-block; }

.br-rc-single-banner .row-title a:first-of-type { margin-left: 0; }

.br-rc-single-banner .row-title i { margin-right: 10px; color: #084c61; }

@media screen and (max-width: 63.9375em) { .br-rc-single-banner .columns { padding-left: 2em; padding-right: 2em; } }

@media screen and (max-width: 63.9375em) { #br-rc-single { padding-left: 2em; padding-right: 2em; } }

@media screen and (max-width: 39.9375em) { #br-rc-single { padding-left: 0; padding-right: 0; } }

.br-rc-related-posts h2 { text-align: center; }

.br-rc-related-posts .br-rc-related-posts-post.row { position: relative; margin-bottom: 2em; border: 2px solid #999; margin-left: 0; margin-right: 0; }

.br-rc-related-posts .br-rc-related-posts-post.row h3 { padding-right: 2em; margin-top: 0; }

.br-rc-related-posts .br-rc-related-posts-post.row h3 a { color: #333333; font-size: 24px; text-decoration: none; }

.br-rc-related-posts .br-rc-related-posts-post.row a { display: block; font-size: 20px; line-height: 30px; color: #ff9500; text-decoration: underline; }

.br-rc-related-posts .br-rc-related-posts-post-content { padding: 1em; }

.br-rc-related-posts .br-rc-related-posts-type-callout { position: absolute; top: 1em; right: 1em; }

.br-rc-related-posts .br-rc-related-posts-type-callout button { color: #ff9500; font-size: 26px; }

@media screen and (max-width: 39.9375em) { .br-rc-related-posts .br-rc-related-posts-post-image { height: 120px; } }

@media screen and (max-width: 39.9375em) { #br-rc-single #content.columns { padding-left: 2em; padding-right: 2em; } }

.br-rc-archive-banner { background-color: #ff9500; }

.br-rc-archive-banner .container { margin-bottom: 0; }

.br-rc-archive-banner .row { padding-top: 20px; padding-bottom: 56px; margin-top: 0; margin-bottom: 0; }

.br-rc-archive-banner h1 { color: #fff; font-weight: 400; margin: 28px 0 0; }

.br-rc-archive-banner p { color: #fff; font-weight: 500; }

@media screen and (max-width: 63.9375em) { .br-rc-archive-banner .columns { padding-left: 2em; padding-right: 2em; } }

.br-rc-filter-controls { background-color: #c8d3d5; width: 100%; }

.br-rc-filter-controls .container { margin-bottom: 0; }

.br-rc-filter-controls .row { margin-top: 0; margin-bottom: 0; padding: 1em 0; }

.br-rc-filter-controls select#Categories, .br-rc-filter-controls select#Formats { width: 32%; margin-right: 2%; float: left; color: #333333; font-size: 20px; height: 44px; font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; }

@media screen and (max-width: 39.9375em) { .br-rc-filter-controls select#Categories, .br-rc-filter-controls select#Formats { width: 100%; float: none; margin-bottom: 16px; } }

.br-rc-filter-controls input.br-rc-filter-input { width: 32%; float: left; margin-bottom: 0; height: 44px; font-size: 20px; font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; }

@media screen and (max-width: 39.9375em) { .br-rc-filter-controls input.br-rc-filter-input { width: 100%; float: none; margin-bottom: 16px; } }

.br-rc-filter-controls .btn-default { background-color: #fff; height: 44px; }

.br-rc-filter-controls .btn-default:hover { background-color: #ff9500; color: #fff; }

@media screen and (max-width: 39.9375em) { .br-rc-filter-controls .submit-column { text-align: center; }
  .br-rc-filter-controls .columns { padding-left: 2em; padding-right: 2em; } }

#br-rc-archive { padding-top: 3em; }

@media screen and (max-width: 39.9375em) { #br-rc-archive { padding-left: 2em; padding-right: 2em; padding-top: 1em; }
  #br-rc-archive .columns.small-12.medium-8.medium-offset-2 { padding-left: 0; padding-right: 0; } }

.with-sidebar-archive .row .row { margin-left: 0; margin-right: 0; }

.with-sidebar-archive .br-rc-content-excerpt-container.row { position: relative; margin-bottom: 2em; border: 2px solid #999; }

.with-sidebar-archive .br-rc-content-excerpt-type-callout { position: absolute; top: 1em; right: 1em; }

.with-sidebar-archive .br-rc-content-excerpt-type-callout button { color: #ff9500; font-size: 26px; }

.with-sidebar-archive .br-rc-content-excerpt-content { padding: 1em; }

.with-sidebar-archive h2 { font-weight: 600; font-size: 24px; line-height: 28px; margin-top: 0; padding-right: 1em; }

.with-sidebar-archive h2 a { text-decoration: none; color: #333333; }

.with-sidebar-archive aside.sidebar-wrap { padding-top: 0; margin-top: 1em; }

.with-sidebar-archive aside.sidebar-wrap section { border: 2px solid #999; margin-bottom: 30px; padding: 16px; }

.with-sidebar-archive aside.sidebar-wrap section h2 { font-size: 24px; line-height: 28px; margin: 0 0 12px; }

@media screen and (max-width: 39.9375em) { .with-sidebar-archive aside.sidebar-wrap { padding-top: 2em; } }

@media screen and (max-width: 39.9375em) { .with-sidebar-archive .columns.small-12.medium-8, .with-sidebar-archive .columns.small-12.medium-4 { padding-left: 0; padding-right: 0; }
  .with-sidebar-archive .br-rc-content-excerpt-image { height: 120px; }
  .with-sidebar-archive .br-rc-content-excerpt-content { padding: 1em !important; } }

.full-width-archive .row { width: 100%; margin-left: 0; margin-right: 0; }

.full-width-archive .br-rc-content-excerpt-container.row { position: relative; margin-bottom: 2em; border: 2px solid #999; }

.full-width-archive .br-rc-content-excerpt-type-callout { position: absolute; top: 1em; right: 1em; }

.full-width-archive .br-rc-content-excerpt-type-callout button { color: #ff9500; font-size: 26px; }

.full-width-archive .br-rc-content-excerpt-content { padding: 1em; }

.full-width-archive h2 { font-weight: 600; font-size: 24px; line-height: 28px; margin-top: 0; padding-right: 1em; }

.full-width-archive h2 a { text-decoration: none; color: #333333; }

@media screen and (max-width: 39.9375em) { .full-width-archive .br-rc-content-excerpt-image { height: 120px; } }

.br-rc-content-excerpt-container-featured .br-rc-content-excerpt-featured-callout { padding: 1em 1em 0; }

.br-rc-content-excerpt-container-featured .br-rc-content-excerpt-featured-callout p { color: #ff9500; margin: 0; font-weight: 600; font-size: 22px; }

.br-rc-content-excerpt-container-featured .br-rc-content-excerpt-content { padding-top: 6px; }

@media screen and (max-width: 39.9375em) { .br-rc-content-excerpt-container-featured .br-rc-content-excerpt-image { height: 0; } }

.br-rc-no-results, .br-rc-no-results.container { width: 100% !important; margin-top: 1em; }

.br-rc-no-results .row.row-inner, .br-rc-no-results.container .row.row-inner { margin: 0; }

.br-rc-no-results h2, .br-rc-no-results.container h2 { font-size: 32px; line-height: 34px; margin-bottom: 13px; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results h2, .br-rc-no-results.container h2 { font-size: 28px; margin: 12px 0 18px; } }

.br-rc-no-results .results-filtering, .br-rc-no-results.container .results-filtering { font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; }

.br-rc-no-results .results-filtering h2, .br-rc-no-results.container .results-filtering h2 { text-align: center; margin-bottom: 40px; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results .results-filtering h2, .br-rc-no-results.container .results-filtering h2 { margin: 12px 0 18px; } }

.br-rc-no-results .results-filtering form, .br-rc-no-results.container .results-filtering form { width: 80%; display: block; margin-left: auto; margin-right: auto; margin-bottom: 12px; text-align: center; background-color: #f7f7f7; padding: 12px 0; font-size: 22px; }

.br-rc-no-results .results-filtering form button, .br-rc-no-results.container .results-filtering form button { color: #333333; font-weight: 500; font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; }

.br-rc-no-results .results-filtering form button span, .br-rc-no-results.container .results-filtering form button span { margin-left: 10px; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results .results-filtering form, .br-rc-no-results.container .results-filtering form { width: 100%; } }

.br-rc-no-results .results-filtering h3, .br-rc-no-results.container .results-filtering h3 { font-weight: 500; text-align: center; font-weight: 400; }

.br-rc-no-results .results-filtering h3 form, .br-rc-no-results.container .results-filtering h3 form { background-color: #fff; display: inline-block; width: auto; }

.br-rc-no-results .results-filtering h3 form button, .br-rc-no-results.container .results-filtering h3 form button { margin: 0 10px; padding: 10px; color: #ff9500; text-transform: uppercase; text-decoration: none; border: 2px solid #ff9500; border-radius: 5px; display: inline-block; -webkit-transition: 0.5s; transition: 0.5s; font-size: 16px; font-weight: 700; letter-spacing: 0.02em; }

.br-rc-no-results .results-filtering h3 form button:hover, .br-rc-no-results.container .results-filtering h3 form button:hover { color: #fff; background-color: #ff9500; cursor: pointer; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results .results-filtering h3, .br-rc-no-results.container .results-filtering h3 { font-size: 22px; line-height: 24px; } }

.br-rc-no-results .br-rc-site-search, .br-rc-no-results.container .br-rc-site-search { text-align: center; }

.br-rc-no-results .br-rc-site-search h2, .br-rc-no-results.container .br-rc-site-search h2 { font-size: 32px; line-height: 34px; margin-bottom: 13px; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results .br-rc-site-search h2, .br-rc-no-results.container .br-rc-site-search h2 { font-size: 28px; margin: 12px 0 18px; } }

.br-rc-no-results .br-rc-site-search h3, .br-rc-no-results.container .br-rc-site-search h3 { font-weight: 400; margin: 12px 0; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results .br-rc-site-search h3, .br-rc-no-results.container .br-rc-site-search h3 { font-size: 22px; line-height: 24px; } }

.br-rc-no-results h2.recent-heading, .br-rc-no-results.container h2.recent-heading { text-align: center; margin-bottom: 40px; }

@media screen and (max-width: 39.9375em) { .br-rc-no-results h2.recent-heading, .br-rc-no-results.container h2.recent-heading { margin-bottom: 18px; } }

.br-rc-no-results .br-rc-site-search form, .br-rc-no-results.container .br-rc-site-search form { margin-top: 34px; width: 80%; display: block; margin-left: auto; margin-right: auto; }

.br-rc-no-results .br-rc-site-search form .search-field-input, .br-rc-no-results.container .br-rc-site-search form .search-field-input { display: inline-block; border-radius: 5px; font-size: 20px; line-height: 30px; width: calc(98% - 128px); }

@media screen and (max-width: 39.9375em) { .br-rc-no-results .br-rc-site-search form, .br-rc-no-results.container .br-rc-site-search form { width: 100%; } }

.br-rc-no-results .br-rc-site-search .search-field-submit, .br-rc-no-results.container .br-rc-site-search .search-field-submit { color: #ff9500; background-color: #fff; text-transform: uppercase; text-decoration: none; border: 2px solid #ff9500; border-radius: 5px; padding: 6px 20px; display: inline-block; margin: 0; -webkit-transition: 0.5s; transition: 0.5s; font-size: 16px; line-height: 26px; font-weight: 700; letter-spacing: 0.02em; margin-left: 14px; }

.br-rc-no-results .br-rc-site-search .search-field-submit:hover, .br-rc-no-results.container .br-rc-site-search .search-field-submit:hover { color: #fff; background-color: #ff9500; }

.single-br_rc_resource .pardot-form { border: 2px solid #999; margin-bottom: 30px; padding: 16px; }

@media only screen and (max-width: 639px) { .single-br_rc_resource .hidden-sm-down { display: none; } }

@media screen and (max-width: 39.9375em) { .single-br_rc_resource .pardot-form { padding-top: 3em; } }

aside.sidebar { padding: 4em 0; }

@media screen and (max-width: 39.9375em) { aside.sidebar { padding: 0; } }

aside.sidebar section { border: 2px solid #999; margin-bottom: 30px; padding: 16px; }

aside.sidebar section h2 { font-size: 24px; line-height: 28px; margin: 0 0 12px; }

@media screen and (max-width: 39.9375em) { aside.sidebar { padding-left: 2em; padding-right: 2em; }
  aside.sidebar .widget-area.columns.sidebar-wrap { padding-left: 0; padding-right: 0; } }

nav ul.br-rc-pagination { padding-left: 0; text-align: center; font-size: 22px; line-height: 1; }

nav ul.br-rc-pagination li { list-style-type: none; display: inline-block; margin: 0 4px; border: 2px solid #999; padding: 4px 16px; font-weight: 500; -webkit-transition: 0.5s; transition: 0.5s; }

nav ul.br-rc-pagination li a { text-decoration: none; color: #333333; font-weight: 500; }

nav ul.br-rc-pagination li:hover { border-color: #ff9500; }

nav ul.br-rc-pagination li:hover a { color: #ff9500; }

nav ul.br-rc-pagination li.active { border-color: #ff9500; color: #ff9500; }

nav ul.br-rc-pagination li.disabled:hover { border-color: #999; }

/* New Code */
.service_agreement { border: 1px solid #e5e5e5; height: 250px; overflow: auto; padding: 20px; }

.service_agreement label { font-size: 20px; font-weight: bold; }

#signature-pad canvas { border: 1px solid #555; }

#signature-pad button { margin-right: 20px; }

#signature-pad button.clear { background: orange; }

#form_master_services_agreement { margin-top: 50px; }

.form_contact-form .checkbox label { font-size: 18px; font-weight: bold; }

div#frm_field_105_container { position: fixed; top: 400px; right: -100px; background: #fefefe; z-index: 999; padding: 0px 10px; }

/*nav updates for 3 level items*/
header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu > li.menu-item-has-children > ul.sub-menu { left: 100%; top: 0; display: none; border-left: 1px solid #ddd; }

@media (max-width: 1120px) { header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu > li.menu-item-has-children > ul.sub-menu { left: 0; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu { display: block; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu li ul li a { padding-left: 15%; }
  .sub-menu-two li { text-indent: 30px; }
  #mobmenuright li.upper.menu-item a { text-transform: uppercase !important; font-weight: bold !important; }
  #mobmenuright li a, #mobmenuright li a:visited, #mobmenuright .mobmenu_content h2, #mobmenuright .mobmenu_content h3 { font-family: "freight-sans-pro", Helvetica, Arial, sans-serif !important; font-size: 18px !important; font-weight: 600 !important; font-style: normal !important; line-height: 1.5em !important; letter-spacing: normal !important; color: #084c61 !important; }
  ul.sub-menu.show-sub-menu { padding-left: 0; } }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu > li.menu-item-has-children:hover > ul.sub-menu { display: block; }

header.site-header nav.secondary-navigation li.menu-item-has-children ul.sub-menu { min-width: 300px !important; }

header.site-header nav.secondary-navigation ul.sub-menu li.menu-item-has-children:after { background-image: url(https://dev-shrglobal.pantheonsite.io/wp-content/themes/shr/assets/img/arrow_right_blue-opt.svg); content: ''; width: 15px; height: 15px; position: absolute; right: 5%; top: 20px; background-repeat: no-repeat; }

/* mobile menu states */
@media screen and (max-width: 1120px) { header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu { display: none; }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children:hover ul.sub-menu { /*    display: block; */ }
  header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children.sub-open > ul.sub-menu { display: block; } }

/* @media screen and (max-width: 1120px) { header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children ul.sub-menu, header.site-header #navigation-wrapper-mobile nav.secondary-navigation li.menu-item-has-children:hover ul.sub-menu { display: block; position: relative; top: 0; border-top: 1px solid #999; } header.site-header #navigation-wrapper-mobile nav.secondary-navigation .menu-item-has-children:first-of-type .menu-item-has-children:after { background: none; } } */
/* hubspot unstyled embed */
.hs-button-reset, .hs-form .hs-button { border: none; font-family: Helvetica, Arial, sans-serif; line-height: 1; margin: 0; outline: 0; padding: 0; }

.base-hs-button-styles, .hs-form .hs-button { text-decoration: none; cursor: pointer; display: inline-block; font-size: 12px; font-weight: 700; line-height: 12px; padding: 7px 18px 7px; position: relative; text-align: center; }

.base-hs-button-styles:hover, .hs-form .hs-button:hover { text-decoration: none; }

input.hs-input[type=checkbox], input.hs-input[type=radio] { cursor: pointer; }

input.hs-input, textarea.hs-input, select.hs-input { display: inline-block; width: 210px; height: 18px; padding: 4px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 18px; color: #666; border: 1px solid #ccc; border-radius: 3px; }

textarea.hs-input { padding-top: 5px; }

html.webkit textarea.hs-input { padding-top: 6px; padding-left: 5px; }

input.hs-input[type=checkbox], input.hs-input[type=radio] { width: auto; height: auto; padding: 0; margin: 3px 0; line-height: normal; border: none; }

input.hs-input[type=file] { background-color: #fff; padding: initial; border: initial; line-height: initial; -webkit-box-shadow: none; box-shadow: none; }

input.hs-input[type=button], input.hs-input[type=reset], input.hs-input[type=submit] { width: auto; height: auto; }

input.hs-input[type=search] { border-radius: 16px; background-image: url("/common_assets/static-2.158/img/form/search.png"); background-repeat: no-repeat; padding-left: 26px; padding-right: 6px; padding-top: 5px; padding-bottom: 3px; background-position: 8px 8px; }

html.firefox input.hs-input[type=search] { position: relative; top: 1px; }

input.hs-input[type=search].transparent-image { background-image: url("/common_assets/static-2.158/img/form/search-transparent.png"); }

input.hs-input[type="search"]::-webkit-search-decoration, input.hs-input[type="search"]::-webkit-search-cancel-button, input.hs-input[type="search"]::-webkit-search-results-button, input.hs-input[type="search"]::-webkit-search-results-decoration { display: none; }

select.hs-input, input.hs-input[type=file] { height: 27px; }

select[multiple].hs-input { height: inherit; }

textarea.hs-input { height: auto; }

.hs-input:-moz-placeholder { color: #bfbfbf; }

.hs-input::-webkit-input-placeholder { color: #bfbfbf; }

input.hs-input, textarea.hs-input { -webkit-transition: border 0.2s linear, box-shadow 0.2s linear; -webkit-transition: border 0.2s linear, -webkit-box-shadow 0.2s linear; transition: border 0.2s linear, -webkit-box-shadow 0.2s linear; transition: border 0.2s linear, box-shadow 0.2s linear; transition: border 0.2s linear, box-shadow 0.2s linear, -webkit-box-shadow 0.2s linear; /* -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); */ }

input.hs-input:focus, textarea.hs-input:focus { outline: none; /* border-color: rgba(82, 168, 236, 0.8); */ border-color: #ff9500; /* -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); */ }

input.hs-input.error, .hs-form div.field.error input, .hs-form div.field.error textarea, .hs-form div.field.error .chzn-choices, textarea.hs-input.error { border-color: #c87872; /* -webkit-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25); -moz-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25); box-shadow: 0 0 3px rgba(171, 41, 32, 0.25); */ }

input.hs-input.error:focus, .hs-form div.field.error input:focus, .hs-form div.field.error textarea:focus, .hs-form div.field.error .chzn-choices:focus, textarea.hs-input.error:focus { border-color: #b9554d; /* -webkit-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5); -moz-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5); box-shadow: 0 0 6px rgba(171, 41, 32, 0.5); */ }

.input-mini.hs-input, input.mini.hs-input, textarea.mini.hs-input, select.mini.hs-input { width: 60px; }

.input-small.hs-input, input.small.hs-input, textarea.small.hs-input, select.small.hs-input { width: 90px; }

.input-medium.hs-input, input.medium.hs-input, textarea.medium.hs-input, select.medium.hs-input { width: 150px; }

.input-large.hs-input, input.large.hs-input, textarea.large.hs-input, select.large.hs-input { width: 210px; }

.input-xlarge.hs-input, input.xlarge.hs-input, textarea.xlarge.hs-input, select.xlarge.hs-input { width: 270px; }

.input-xxlarge.hs-input, input.xxlarge.hs-input, textarea.xxlarge.hs-input, select.xxlarge.hs-input { width: 530px; }

.input-stretch.hs-input, input.stretch.hs-input, textarea.stretch.hs-input, select.stretch.hs-input { -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; }

textarea.hs-input.xxlarge { overflow-y: auto; }

input.hs-input.span1, textarea.hs-input.span1, select.hs-input.span1 { display: inline-block; float: none; width: 30px; margin-left: 0; }

input.hs-input.span2, textarea.hs-input.span2, select.hs-input.span2 { display: inline-block; float: none; width: 90px; margin-left: 0; }

input.hs-input.span3, textarea.hs-input.span3, select.hs-input.span3 { display: inline-block; float: none; width: 150px; margin-left: 0; }

input.hs-input.span4, textarea.hs-input.span4, select.hs-input.span4 { display: inline-block; float: none; width: 210px; margin-left: 0; }

input.hs-input.span5, textarea.hs-input.span5, select.hs-input.span5 { display: inline-block; float: none; width: 270px; margin-left: 0; }

input.hs-input.span6, textarea.hs-input.span6, select.hs-input.span6 { display: inline-block; float: none; width: 330px; margin-left: 0; }

input.hs-input.span7, textarea.hs-input.span7, select.hs-input.span7 { display: inline-block; float: none; width: 390px; margin-left: 0; }

input.hs-input.span8, textarea.hs-input.span8, select.hs-input.span8 { display: inline-block; float: none; width: 450px; margin-left: 0; }

input.hs-input.span9, textarea.hs-input.span9, select.hs-input.span9 { display: inline-block; float: none; width: 510px; margin-left: 0; }

input.hs-input.span10, textarea.hs-input.span10, select.hs-input.span10 { display: inline-block; float: none; width: 570px; margin-left: 0; }

input.hs-input.span11, textarea.hs-input.span11, select.hs-input.span11 { display: inline-block; float: none; width: 630px; margin-left: 0; }

input.hs-input.span12, textarea.hs-input.span12, select.hs-input.span12 { display: inline-block; float: none; width: 690px; margin-left: 0; }

input.hs-input.span13, textarea.hs-input.span13, select.hs-input.span13 { display: inline-block; float: none; width: 750px; margin-left: 0; }

input.hs-input.span14, textarea.hs-input.span14, select.hs-input.span14 { display: inline-block; float: none; width: 810px; margin-left: 0; }

input.hs-input.span15, textarea.hs-input.span15, select.hs-input.span15 { display: inline-block; float: none; width: 870px; margin-left: 0; }

input.hs-input.span16, textarea.hs-input.span16, select.hs-input.span16 { display: inline-block; float: none; width: 930px; margin-left: 0; }

input.hs-input[disabled], select.hs-input[disabled], textarea.hs-input[disabled] { background-color: #f5f5f5; border-color: #ddd; cursor: not-allowed; }

.help-inline, .help-block { font-size: 11px; line-height: 18px; color: #818181; }

.help-inline { padding-left: 5px; }

.help-block { display: block; max-width: 600px; }

.inline-inputs { color: #818181; }

.inline-inputs span, .inline-inputs input { display: inline-block; }

.inline-inputs input.mini { width: 60px; }

.inline-inputs input.small { width: 90px; }

.inline-inputs span { padding: 0 2px 0 1px; }

.input-prepend input, .input-append input { border-radius: 0 3px 3px 0; }

.input-prepend .add-on, .input-append .add-on { position: relative; background: #f5f5f5; border: 1px solid #ccc; z-index: 2; float: left; display: block; width: auto; min-width: 16px; height: 18px; padding: 4px 4px 4px 5px; margin-right: -1px; font-weight: normal; line-height: 18px; color: #bfbfbf; text-align: center; text-shadow: 0 1px 0 #fff; border-radius: 3px 0 0 3px; }

.input-prepend .active, .input-append .active { background: #bfe0bf; border-color: #59ad59; }

.input-append input { float: left; border-radius: 3px 0 0 3px; }

.input-append .add-on { border-radius: 0 3px 3px 0; margin-right: 0; margin-left: -1px; }

.hs-form { margin-bottom: 18px; }

.hs-form fieldset { margin-bottom: 18px; padding-top: 18px; }

.hs-form fieldset legend { display: block; margin-left: 150px; font-size: 19.5px; line-height: 1; color: #414141; }

.hs-form .clearfix, .hs-form .field, .hs-form .hs-form-field { margin-bottom: 18px; }

.hs-form .clearfix:after, .hs-form .field:after, .hs-form .hs-form-field:after { content: ""; display: table; clear: both; }

.hs-form label { padding-top: 5px; font-size: 13px; line-height: 18px; font-weight: bold; float: left; width: 130px; text-align: right; color: #414141; }

.hs-form .input { margin-left: 150px; }

.hs-form div.field.error { background: #fae5e3; padding: 6px 0; margin-bottom: 18px; border-radius: 4px; }

.hs-form div.field.error > label, .hs-form div.field.error span.help-inline, .hs-form div.field.error span.help-block { color: #9d261d; }

.hs-form div.field.error .input-prepend span.add-on, .hs-form div.field.error .input-append span.add-on { background: #f4c8c5; border-color: #c87872; color: #b9554d; }

.hs-form .hsErrMsgContainer ul { margin-top: 6px; margin-bottom: 0px; margin-left: 7px; list-style: none; }

.hs-form .hsErrMsgContainer ul li { font-size: 12px; color: #a44e47; }

.hs-form .hsErrMsgContainer .hs-block-message { min-width: 200px; width: 200px; }

.hs-form .hsErrMsgContainer .hs-block-message ul { margin-top: 0px; }

.hs-form .actions { background: #f5f5f5; margin-top: 18px; margin-bottom: 18px; padding: 17px 20px 18px 150px; border-top: 1px solid #ddd; border-radius: 0 0 3px 3px; }

.hs-form .actions .secondary-action { float: right; }

.hs-form .actions .secondary-action a { line-height: 30px; }

.hs-form .actions .secondary-action a:hover { text-decoration: underline; }

.hs-form .inputs-list { margin: 0 0 5px; width: 100%; }

.hs-form .inputs-list > li { display: block; padding: 0; width: 100%; }

.hs-form .inputs-list label { display: block; float: none; width: auto; padding: 0; line-height: 18px; text-align: left; white-space: normal; font-weight: normal; }

.hs-form .inputs-list label strong { color: #818181; }

.hs-form .inputs-list label small { font-size: 11px; font-weight: normal; }

.hs-form .inputs-list .inputs-list { margin-left: 25px; margin-bottom: 10px; padding-top: 0; }

.hs-form .inputs-list:first-child { padding-top: 6px; }

.hs-form .inputs-list > li + li { padding-top: 2px; }

.hs-form .inputs-list input[type=radio], .hs-form .inputs-list input[type=checkbox] { margin-bottom: 0; }

.hs-form.stacked { padding-left: 20px; }

.hs-form.stacked fieldset { padding-top: 9px; }

.hs-form.stacked legend { margin-left: 0; }

.hs-form.stacked label { display: block; float: none; width: auto; font-weight: bold; text-align: left; line-height: 20px; padding-top: 0; margin-bottom: 4px; }

.hs-form.stacked .field { margin-bottom: 18px; }

.hs-form.stacked .field div.input { margin-left: 0; }

.hs-form.stacked .field div.input > input + a, .hs-form.stacked .field div.input select + a, .hs-form.stacked .field div.input textarea + a { margin-top: 4px; display: block; }

.hs-form.stacked .inputs-list { margin-bottom: 0; }

.hs-form.stacked .inputs-list > li { padding-top: 0; }

.hs-form.stacked .inputs-list > li label { font-weight: normal; padding-top: 0; }

.hs-form.stacked div.error { padding: 3px 10px 6px; margin-top: 0; margin-left: -10px; margin-bottom: 9px; }

.hs-form.stacked .actions { margin-left: -20px; padding-left: 20px; }

.hs-form { padding-left: 0px; }

.hs-form.stacked { padding-left: 0px; }

.hs-form.stacked fieldset { padding: 0; }

.hs-form .hs-button { color: #fff; text-shadow: 0 -1px 0 #3574e3; /*     background-color: #3574e3; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #7ec8f4), color-stop(100%, #3574e3)); background-image: -webkit-linear-gradient(top, #7ec8f4, #3574e3); background-image: -moz-linear-gradient(top, #7ec8f4, #3574e3); background-image: linear-gradient(top, #7ec8f4, #3574e3); box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5); border-top: 1px solid #64baf0; border-bottom: 1px solid #1c4ed5; border-right: 1px solid #468ee6; border-left: 1px solid #468ee6; */ border-radius: 4px; -webkit-transition: opacity 0.15s linear; transition: opacity 0.15s linear; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }

.hs-form .hs-button:visited, .hs-form .hs-button:hover { color: #fff; }

.hs-form .hs-button:hover:not(.inactive), .hs-form .hs-button:focus:not(.inactive), .hs-form .hs-button.hovered:not(.inactive) { /* box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5), 0 0 5px #3574e3; border-top: 1px solid #4db0ee; border-bottom: 1px solid #1946be; border-right: 1px solid #3080e3; border-left: 1px solid #3080e3 */ }

.hs-form .hs-button:active:not(.inactive):not(.link), .hs-form .hs-button.depressed:not(.inactive):not(.link), .dropdown-open > .hs-form .hs-button:not(.inactive):not(.link) { /* background-color: #599eeb; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3574e3), color-stop(100%, #599eeb)); background-image: -webkit-linear-gradient(top, #3574e3, #599eeb); background-image: -moz-linear-gradient(top, #3574e3, #599eeb); background-image: linear-gradient(top, #3574e3, #599eeb); box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.3), inset 0px -1px 0px rgba(255, 255, 255, 0.3); border-top: 1px solid #1c4ed5; border-bottom: 1px solid #4084e2; border-right: 1px solid #468ee6; border-left: 1px solid #468ee6 */ }

.dropdown-open > .hs-form .hs-button:not(.inactive):not(.link) { -webkit-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.3); box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.3); }

.hs-form .hs-button.disabled.disabled.disabled.disabled, .hs-form .hs-button[disabled][disabled][disabled] { /* background-color: #6387c5; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #88b1ce), color-stop(100%, #6387c5)); background-image: -webkit-linear-gradient(top, #88b1ce, #6387c5); background-image: -moz-linear-gradient(top, #88b1ce, #6387c5); background-image: linear-gradient(top, #88b1ce, #6387c5); box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0); border-top: 1px solid #7baacc; border-bottom: 1px solid #5774be; border-right: 1px solid #6c94c7; border-left: 1px solid #6c94c7; */ cursor: default; color: #ededed; text-shadow: none; opacity: 0.6; }

.hs-form .hs-button.disabled.disabled.disabled.disabled.next:before, .hs-form .hs-button[disabled][disabled][disabled].next:before { opacity: 0.5; }

.hs-form .hs-button.disabled.disabled.disabled.disabled.previous:before, .hs-form .hs-button[disabled][disabled][disabled].previous:before { opacity: 0.5; }

.hs-form .hs-button.next:before, .hs-form .hs-button.previous:before { background: url(/style_guide/static-8.319/img/hs-button-arrows.png) center 0 no-repeat; display: block; width: 16px; height: 16px; position: absolute; top: 5px; content: " "; z-index: 99; }

.hs-form .hs-button.next { padding-right: 32px; }

.hs-form .hs-button.next:before { right: 9px; }

.hs-form .hs-button.previous { padding-left: 32px; }

.hs-form .hs-button.previous:before { background-position: center -16px; left: 9px; }

.hs-form .hs-button.inactive { cursor: default; }

.hs-form ul { list-style: none; }

.hs-form label { display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

.hs-form label.hidden { display: none; }

.hs-form .hs-field-desc { color: #aaa; margin: 0px 0px 5px 150px; font-size: 11px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

.hs-form .hs-form-required { color: red; }

.hs-form .field { margin-bottom: 9px; }

.hs-form .hs-richtext { margin-bottom: 3px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 18px; font-size: 14px; color: #414141; }

.hs-form .hs-richtext hr { text-align: left; margin-left: 0; width: 91%; }

.hs-form .email-correction, .hs-form .email-validation { padding-top: 3px; font-size: 12px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

.hs-form .email-correction a, .hs-form .email-validation a { cursor: pointer; }

.hs-form .inputs-list { padding-left: 5px; list-style: none; }

.hs-form .inputs-list li input { margin: 3px 5px 3px 0px; }

.hs-form input[type=checkbox], .hs-form input[type=radio] { margin-right: 5px; }

.hs-form input:not([type="image"]), .hs-form textarea { /* box-sizing: content-box */ -webkit-box-sizing: border-box; box-sizing: border-box; }

.hs-form.stacked .hs-field-desc { margin: 0px 0px 2px 0px; }

.hs-form .hs-input, .hs-form textarea.hs-input { -webkit-box-sizing: border-box; box-sizing: border-box; max-width: 500px; width: 90%; }

.hs-form .hs-input:not[type=checkbox], .hs-form .hs-input:not[type=radio], .hs-form textarea.hs-input:not[type=checkbox], .hs-form textarea.hs-input:not[type=radio] { min-height: 18px; min-width: 100px; }

.hs-form .actions { background: transparent; margin-top: 18px; margin-bottom: 18px; padding: 17px 20px 18px 0px; border-top: none; border-radius: 0 0 3px 3px; }

.hs-form .actions .secondary-action { float: right; }

.hs-form .actions .secondary-action a { line-height: 30px; }

.hs-form .actions .secondary-action a:hover { text-decoration: underline; }

.pika-single { z-index: 9999; display: block; position: relative; color: #333; background: #fff; border: 1px solid #ccc; border-bottom-color: #bbb; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

.pika-single.is-hidden { display: none; }

.pika-single.is-bound { position: absolute; -webkit-box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); }

.pika-single { *zoom: 1; }

.pika-single:before, .pika-single:after { content: " "; display: table; }

.pika-single:after { clear: both; }

.pika-lendar { float: left; width: 240px; margin: 8px; }

.pika-title { position: relative; text-align: center; }

.pika-title select { cursor: pointer; position: absolute; z-index: 9998; margin: 0; left: 0; top: 5px; filter: alpha(opacity=0); opacity: 0; }

.pika-label { display: inline-block; *display: inline; position: relative; z-index: 9999; overflow: hidden; margin: 0; padding: 5px 3px; font-size: 14px; line-height: 20px; font-weight: bold; background-color: #fff; }

.pika-prev, .pika-next { display: block; cursor: pointer; position: relative; outline: none; border: 0; padding: 0; width: 20px; height: 30px; text-indent: 20px; white-space: nowrap; overflow: hidden; background-color: transparent; background-position: center center; background-repeat: no-repeat; background-size: 75% 75%; opacity: 0.5; *position: absolute; *top: 0; }

.pika-prev:hover, .pika-next:hover { opacity: 1; }

.pika-prev.is-disabled, .pika-next.is-disabled { cursor: default; opacity: 0.2; }

.pika-prev, .is-rtl .pika-next { float: left; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); *left: 0; }

.pika-next, .is-rtl .pika-prev { float: right; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); *right: 0; }

.pika-select { display: inline-block; *display: inline; }

.pika-table { width: 100%; border-collapse: collapse; border-spacing: 0; border: 0; }

.pika-table th, .pika-table td { width: 14.28571%; padding: 0; }

.pika-table th { color: #999; font-size: 12px; line-height: 25px; font-weight: bold; text-align: center; }

.pika-table abbr { border-bottom: none; cursor: help; }

.pika-button { cursor: pointer; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; outline: none; border: 0; margin: 0; width: 100%; padding: 5px; color: #666; font-size: 12px; line-height: 15px; text-align: right; background: #f5f5f5; }

.is-today .pika-button { color: #3af; font-weight: bold; }

.is-selected .pika-button { color: #fff; font-weight: bold; background: #3af; -webkit-box-shadow: inset 0 1px 3px #178fe5; box-shadow: inset 0 1px 3px #178fe5; border-radius: 3px; }

.is-disabled .pika-button { pointer-events: none; cursor: default; color: #999; opacity: 0.3; }

.pika-button:hover { color: #fff !important; background: #ff8000 !important; -webkit-box-shadow: none !important; box-shadow: none !important; border-radius: 3px !important; }

.pika-week { font-size: 11px; color: #999; }

.hs-form fieldset { border: 0; padding: 0; margin: 0; max-width: 500px; }

.hs-form fieldset.form-columns-1 .hs-input { width: 95%; }

.hs-form fieldset.form-columns-1 .input { margin-right: 8px; }

.hs-form fieldset.form-columns-1 input[type="checkbox"], .hs-form fieldset.form-columns-1 input[type="radio"] { width: auto; }

.hs-form fieldset.form-columns-2 .hs-form-field { width: 50%; float: left; }

.hs-form fieldset.form-columns-2 .input { margin-right: 8px; }

.hs-form fieldset.form-columns-3 .hs-form-field { width: 32.7%; float: left; }

.hs-form fieldset.form-columns-3 .input { margin-right: 8px; }

.hs-form fieldset .hs-form-field.hidden-label { margin-top: 24px; }

.hs-form .hs-social-login { border-radius: 3px; -webkit-box-sizing: content-box; box-sizing: content-box; width: 95%; max-width: 480px; height: 90px; }

.hsformerror { margin: 0 0 2px; padding: 2px 6px; height: auto; background-color: #fdd2d0; font-size: 11px; border: 1px solid #fcb3af; padding: 4px 16px 4px 10px; color: #000; display: none; background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#fdd2d0)); background-image: linear-gradient(#fefefe, #fdd2d0); border-radius: 4px; -webkit-box-shadow: 0 0 6px #ddd; box-shadow: 0 0 6px #ddd; z-index: 99999; }

.hsformerror em { border: 10px solid; border-color: #fdd2d0 transparent transparent; bottom: -17px; display: block; height: 0; left: 60px; position: absolute; width: 0; }

.hsformerror p { font-family: Lucida Grande, Lucida Sans Unicode, bitstream vera sans, trebuchet ms, verdana, sans-serif; margin: 0; float: left; margin-right: 8px; }

.hsformerror:hover { cursor: default; }

.hsformerror .close-form-error { float: right; display: inline; top: 3px; position: absolute; font-family: Verdana !important; color: #b17c79 !important; cursor: pointer !important; font-size: 11px !important; font-weight: normal !important; }

.hsformerror .close-form-error:hover { color: #cc8884; }

@media (max-width: 400px), (min-device-width: 320px) and (max-device-width: 480px) { form.hs-form .form-columns-2 .hs-form-field, form.hs-form .form-columns-3 .hs-form-field { float: none; width: 100%; }
  form.hs-form .form-columns-2 .hs-form-field .hs-input, form.hs-form .form-columns-3 .hs-form-field .hs-input { width: 95%; } }

@media (max-width: 422px) { .all-social-types { height: 100px; } }

@media (max-width: 342px) { .hs-social-login { height: 72px; } }

/* SHR edits */
.hbspt-form form { width: 50%; margin-left: auto; margin-right: auto; }

@media (max-width: 750px) { .hbspt-form form { width: 100%; } }

.hs-form .hs-input, .hs-form textarea.hs-input .hs-form select.hs-input { width: 100%; max-width: none; margin-bottom: .5rem; font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; font-size: 1.125rem; -webkit-box-sizing: border-box; box-sizing: border-box; }

.hs-form .hs-input, .hs-form select.hs-input { height: 2rem; }

.hs-form label { font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; font-size: 1.125rem; }

.hs-form .hs-button { display: inline-block; border-radius: 5px; border: 3px solid #ff9500; line-height: 1.5; text-transform: uppercase; padding: .5em 1.5em; color: #ff9500; background-color: #fff; font-weight: bold; cursor: pointer; background-image: none; text-shadow: none; font-family: "freight-sans-pro", Helvetica, Arial, sans-serif; font-size: 1.125rem; }

.hs-form .hs-button:hover { color: #fff; background-color: #ff9500; -webkit-box-shadow: none; box-shadow: none; border: 3px solid #ff9500; }

.hs-form .hs-button:active { color: #fff; background-color: #ff9500; -webkit-box-shadow: none; box-shadow: none; border: 3px solid #ff9500; -webkit-transform: translate(0px, 0px); transform: translate(0px, 0px); }

.hs-form .hs-form-required { margin-left: .25rem; }

.hs-form select.hs-input { -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJzdHlsZS5jc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiX25vcm1hbGl6ZS5zY3NzIiwiX3NsaWNrLW1haW4uc2NzcyIsIl9nZW5lcmFsLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfZmxleGlibGUuc2NzcyIsIl9oZWFkZXIuc2NzcyIsIl9wb3N0cy5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX25hdmlnYXRpb24uc2NzcyIsIl9sZWFkZXJzaGlwLnNjc3MiLCJfc2VhcmNoLnNjc3MiLCJfcmVzb3VyY2UtY2VudHJlLnNjc3MiLCJfYWRkaXRpb25hbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztFQVdFO0FDWEYsb0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9ELHlGQUNnRjtBQUVoRixvTkFLRztBQUVILE9BQ0Usd0JDMUN1QixDRDBDUyxPQUFPLENBUXJDLGtCQUFpQixDQUFFLE9BQU8sQ0FFNUIsMkJBQTBCLENBQUUsT0FBTyxDQUNuQywrQkFBOEIsQ0FBRSxPQUFPLEVBQ3hDOztBQUlELHlGQUNnRjtBQUVoRix1REFFRztBQUVILE9BQ0UsVUFBUyxFQUNWOztBQUVELHdDQUVHO0FBRUgsK0NBTUUsZUFBYyxFQUNmOztBQUVELGdJQUdHO0FBRUgsS0U5RUYsZUFYdUMsQ0ZvR2pDLGlCQUFnQixFQUVuQjs7QUFvQ0QsaUdBQ2dGO0FBdUNoRix3Q0FFRztBQUVILHFCQUVFLGVBQWMsRUFDZjs7QUFFRCxzQ0FFRztBQUVILFNBS0ksaUJDdkxZLEVEeUxmOztBQUVELHFGQUdHO0FBRUgsS0FDRSxnQ0FBdUIsQ0FBdkIsd0JBQXVCLENBQUUsT0FBTyxDQUNoQyxVQUFTLENBQUUsT0FBTyxDQUNsQixrQkFBaUIsQ0FBRSxPQUFPLEVBQzNCOztBQUVELHFDQUVHO0FBRUgsT0FDRSxlQUFjLEVBQ2Y7O0FBYUQsZ0lBR0c7QUFFSCxNQUNFLGtDQUFpQyxDQUFFLE9BQU8sQ0FDMUMsZUFBYyxDQUFFLE9BQU8sRUFDeEI7O0FBSUQsc0ZBQ2dGO0FBRWhGLHlIQUdHO0FBRUgsSUFDRSw4QkFBNkIsQ0FBRSxPQUFPLENBQ3RDLHNDQUFx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RGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYOztBQUZELGlCQ25DSiw2QkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDs7QUFGRCxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQsaUJDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYOztBRXFERCw2Q0Z2REEsa0JDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsa0JDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsa0JDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsa0JDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsa0JDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsa0JDbkNKLDZCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FFcURELDZDRnZEQSxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxpQkNuQ0osNkJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QUE3Rkwsa0JDT0EscUJBQWEsQ0FBYixxQkFBYSxDQUFiLGNBQWEsRURMWjs7QUFFRCxtQkFDRSxvQkFBYyxDQUFkLG1CQUFjLENBQWQsZUFBYyxFQUNmOztBQUVELG1CQUNFLG9CQUFjLENBQWQsbUJBQWMsQ0FBZCxlQUFjLEVBQ2Y7O0FBRUQscUJBQ0Usb0JBQWMsQ0FBZCxtQkFBYyxDQUFkLGVBQWMsRUFDZjs7QUFHQyxnQkNpREYsK0JBbkVVLENBbUVWLDhCQW5FVSxDQW1FVix3QkFuRVUsQ0FtRVYsb0JBbkVVLEVEb0JQOztBQUZELHdCQ2lERiwrQkFsRTBCLENBa0UxQiwrQkFsRTBCLENBa0UxQixnQ0FsRTBCLENBa0UxQiw0QkFsRTBCLEVEbUJ2Qjs7QUFGRCxtQkNpREYsNkJBakVnQixDQWlFaEIsOEJBakVnQixDQWlFaEIsMkJBakVnQixDQWlFaEIsdUJBakVnQixFRGtCYjs7QUFGRCwyQkNpREYsNkJBaEVnQyxDQWdFaEMsK0JBaEVnQyxDQWdFaEMsbUNBaEVnQyxDQWdFaEMsK0JBaEVnQyxFRGlCN0I7O0FFK0hDLDZDRnZISSx5QkNwQlIscUJBQWEsQ0FBYixxQkFBYSxDQUFiLGNBQWEsRURzQko7RUFFRCwwQkFDRSxvQkFBYyxDQUFkLG1CQUFjLENBQWQsZUFBYyxFQUNmO0VBRUQsMEJBQ0Usb0JBQWMsQ0FBZCxtQkFBYyxDQUFkLGVBQWMsRUFDZjtFQUVELDRCQUNFLG9CQUFjLENBQWQsbUJBQWMsQ0FBZCxlQUFjLEVBQ2Y7RUFHQyx1QkNzQlYsK0JBbkVVLENBbUVWLDhCQW5FVSxDQW1FVix3QkFuRVUsQ0FtRVYsb0JBbkVVLEVEK0NDO0VBRkQsK0JDc0JWLCtCQWxFMEIsQ0FrRTFCLCtCQWxFMEIsQ0FrRTFCLGdDQWxFMEIsQ0FrRTFCLDRCQWxFMEIsRUQ4Q2Y7RUFGRCwwQkNzQlYsNkJBakVnQixDQWlFaEIsOEJBakVnQixDQWlFaEIsMkJBakVnQixDQWlFaEIsdUJBakVnQixFRDZDTDtFQUZELGtDQ3NCViw2QkFoRWdDLENBZ0VoQywrQkFoRWdDLENBZ0VoQyxtQ0FoRWdDLENBZ0VoQywrQkFoRWdDLEVENENyQixFQUFBOztBRW9HUCw2Q0Z2SEksd0JDcEJSLHFCQUFhLENBQWIscUJBQWEsQ0FBYixjQUFhLEVEc0JKO0VBRUQseUJBQ0Usb0JBQWMsQ0FBZCxtQkFBYyxDQUFkLGVBQWMsRUFDZjtFQUVELHlCQUNFLG9CQUFjLENBQWQsbUJBQWMsQ0FBZCxlQUFjLEVBQ2Y7RUFFRCwyQkFDRSxvQkFBYyxDQUFkLG1CQUFjLENBQWQsZUFBYyxFQUNmO0VBR0Msc0JDc0JWLCtCQW5FVSxDQW1FViw4QkFuRVUsQ0FtRVYsd0JBbkVVLENBbUVWLG9CQW5FVSxFRCtDQztFQUZELDhCQ3NCViwrQkFsRTBCLENBa0UxQiwrQkFsRTBCLENBa0UxQixnQ0FsRTBCLENBa0UxQiw0QkFsRTBCLEVEOENmO0VBRkQseUJDc0JWLDZCQWpFZ0IsQ0FpRWhCLDhCQWpFZ0IsQ0FpRWhCLDJCQWpFZ0IsQ0FpRWhCLHVCQWpFZ0IsRUQ2Q0w7RUFGRCxpQ0NzQlYsNkJBaEVnQyxDQWdFaEMsK0JBaEVnQyxDQWdFaEMsbUNBaEVnQyxDQWdFaEMsK0JBaEVnQyxFRDRDckIsRUFBQTs7QUcrRFgsT0M3QkEsaUJOVHVELENLbkRyRCxtQkFBa0IsQ0FDbEIsa0JBQWlCLENBSWpCLHFCQUFhLENBQWIscUJBQWEsQ0FBYixjQUFhLENBQ2IsK0JBbEJtQixDQWtCbkIsOEJBbEJtQixDQWtCbkIsd0JBbEJtQixDQWtCbkIsb0JBbEJtQixFQTZJcEI7O0FBeENELFlDMUNFLHdCQUYrRCxDQUcvRCx1QkFIK0QsRUR1RDlEOztBRDBCQyw2Q0NyQ0osWUMxQ0UseUJBRitELENBRy9ELHdCQUgrRCxFRHVEOUQsRUFBQTs7QUQwQkMsNkNDckNKLFlDMUNFLHlCQUYrRCxDQUcvRCx3QkFIK0QsRUR1RDlELEVBQUE7O0FBWEgscUJBUU0sZ0JBQWUsQ0FDZixlQUFjLEVBQ2Y7O0FBVkwsZ0JDN0JBLGdCQUhhLEVEcURWOztBQXJCSCxxQkFrQk0sbUJBQWtCLENBQ2xCLGtCQUFpQixFQUNsQjs7QUFwQkwsMkJDN0JBLGdCQUhhLEVEeURWOztBQXpCSCxvREV4R0UsaUJQdUVTLENPdEVULGdCUHNFUyxFSytETjs7QUE5QkwsMEZBcUNJLGdCQUFlLENBQ2YsZUFBYyxFQUNmOztBQUlILG9CQXREQSxvQkF4RGMsQ0F3RGQsa0JBeERjLENBd0RkLGNBeERjLENFckNaLHdCQUZxQyxDQUdyQyx1QkFIcUMsQ0ZvRXJDLGFBQVksRUFtRmI7O0FEUkcsNkNDTUosb0JFbkpFLHlCQUZxQyxDQUdyQyx3QkFIcUMsRUZ1SnRDLEVBQUE7O0FBSUQsb0NBQ0UsWUFBVyxDQUNYLGVBQWMsRUFDZjs7QUFHRCw4Q0FDRSxnQkFBZSxDQUNmLGVBQWMsQ0FDZCxpQkFBZ0IsQ0FDaEIsZ0JBQWUsRUFDaEI7O0FBS0csV0FDRSxvQkduSytDLENIbUsvQyx1QkduSytDLENIbUsvQyxtQkduSytDLENIb0svQyxvQkdwSytDLEVIcUtoRDs7QUFLRCxrQkk3SkosZ0JEaEJnQyxFSCtLM0I7O0FBVkQsV0FDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDs7QUFLRCxrQkk3Skosc0JEYnFELEVINEtoRDs7QUFWRCxXQUNFLG9CR25LK0MsQ0htSy9DLGtCR25LK0MsQ0htSy9DLGNHbksrQyxDSG9LL0MsZUdwSytDLEVIcUtoRDs7QUFLRCxrQkk3SkosdUJEYnFELEVINEtoRDs7QUFWRCxXQUNFLG9CR25LK0MsQ0htSy9DLHdCR25LK0MsQ0htSy9DLG9CR25LK0MsQ0hvSy9DLHFCR3BLK0MsRUhxS2hEOztBQUtELGtCSTdKSixpQkRicUQsRUg0S2hEOztBQVZELFdBQ0Usb0JHbksrQyxDSG1LL0Msd0JHbksrQyxDSG1LL0Msb0JHbksrQyxDSG9LL0MscUJHcEsrQyxFSHFLaEQ7O0FBS0Qsa0JJN0pKLHVCRGJxRCxFSDRLaEQ7O0FBVkQsV0FDRSxvQkduSytDLENIbUsvQyxrQkduSytDLENIbUsvQyxjR25LK0MsQ0hvSy9DLGVHcEsrQyxFSHFLaEQ7O0FBS0Qsa0JJN0pKLHVCRGJxRCxFSDRLaEQ7O0FBVkQsV0FDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDs7QUFLRCxrQkk3SkosaUJEYnFELEVINEtoRDs7QUFWRCxXQUNFLG9CR25LK0MsQ0htSy9DLHdCR25LK0MsQ0htSy9DLG9CR25LK0MsQ0hvSy9DLHFCR3BLK0MsRUhxS2hEOztBQUtELGtCSTdKSix1QkRicUQsRUg0S2hEOztBQVZELFdBQ0Usb0JHbksrQyxDSG1LL0Msa0JHbksrQyxDSG1LL0MsY0duSytDLENIb0svQyxlR3BLK0MsRUhxS2hEOztBQUtELGtCSTdKSix1QkRicUQsRUg0S2hEOztBQVZELFlBQ0Usb0JHbksrQyxDSG1LL0Msd0JHbksrQyxDSG1LL0Msb0JHbksrQyxDSG9LL0MscUJHcEsrQyxFSHFLaEQ7O0FBS0Qsa0JJN0pKLGlCRGJxRCxFSDRLaEQ7O0FBVkQsWUFDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDs7QUFLRCxtQkk3SkosdUJEYnFELEVINEtoRDs7QUFWRCxZQUNFLG9CR25LK0MsQ0htSy9DLG1CR25LK0MsQ0htSy9DLGVHbksrQyxDSG9LL0MsZ0JHcEsrQyxFSHFLaEQ7O0FBS0QsbUJJN0pKLHVCRGJxRCxFSDRLaEQ7O0FBS0QsY0ExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjs7QUExR0wsZ0RBR0Usb0JBRnNCLENBRXRCLG1CQUZzQixDQUV0QixlQUZzQixDQUd0QixnQkFIc0IsRUFJdkI7O0FBbUdHLGNBMUdKLG9CQUFlLENBQWYsZ0JBQWUsRUE0R1Y7O0FBMUdMLGdEQUdFLG9CQUZzQixDQUV0QixrQkFGc0IsQ0FFdEIsY0FGc0IsQ0FHdEIsZUFIc0IsRUFJdkI7O0FBbUdHLGNBMUdKLG9CQUFlLENBQWYsZ0JBQWUsRUE0R1Y7O0FBMUdMLGdEQUdFLG9CQUZzQixDQUV0Qix3QkFGc0IsQ0FFdEIsb0JBRnNCLENBR3RCLHFCQUhzQixFQUl2Qjs7QUFtR0csY0ExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjs7QUExR0wsZ0RBR0Usb0JBRnNCLENBRXRCLGtCQUZzQixDQUV0QixjQUZzQixDQUd0QixlQUhzQixFQUl2Qjs7QUFtR0csY0ExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjs7QUExR0wsZ0RBR0Usb0JBRnNCLENBRXRCLGtCQUZzQixDQUV0QixjQUZzQixDQUd0QixlQUhzQixFQUl2Qjs7QUFtR0csY0ExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjs7QUExR0wsZ0RBR0Usb0JBRnNCLENBRXRCLHdCQUZzQixDQUV0QixvQkFGc0IsQ0FHdEIscUJBSHNCLEVBSXZCOztBQW1HRyxjQTFHSixvQkFBZSxDQUFmLGdCQUFlLEVBNEdWOztBQTFHTCxnREFHRSxvQkFGc0IsQ0FFdEIsd0JBRnNCLENBRXRCLG9CQUZzQixDQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHLGNBMUdKLG9CQUFlLENBQWYsZ0JBQWUsRUE0R1Y7O0FBMUdMLGdEQUdFLG9CQUZzQixDQUV0QixvQkFGc0IsQ0FFdEIsZ0JBRnNCLENBR3RCLGlCQUhzQixFQUl2Qjs7QUErSEMsd0RFcE5BLGlCUHVFUyxDT3RFVCxnQlBzRVMsRUs4SW1DOztBQUc1Qyw0REV4TkEsd0JBRnFDLENBR3JDLHVCQUhxQyxFRjJOZ0I7O0FENUVuRCw2Q0M0QkEsWUFDRSxvQkduSytDLENIbUsvQyx1QkduSytDLENIbUsvQyxtQkduSytDLENIb0svQyxvQkdwSytDLEVIcUtoRDtFQUtELG1CSTdKSixnQkRoQmdDLEVIK0szQjtFQVZELFlBQ0Usb0JHbksrQyxDSG1LL0Msd0JHbksrQyxDSG1LL0Msb0JHbksrQyxDSG9LL0MscUJHcEsrQyxFSHFLaEQ7RUFLRCxtQkk3Skosc0JEYnFELEVINEtoRDtFQVZELFlBQ0Usb0JHbksrQyxDSG1LL0Msa0JHbksrQyxDSG1LL0MsY0duSytDLENIb0svQyxlR3BLK0MsRUhxS2hEO0VBS0QsbUJJN0pKLHVCRGJxRCxFSDRLaEQ7RUFWRCxZQUNFLG9CR25LK0MsQ0htSy9DLHdCR25LK0MsQ0htSy9DLG9CR25LK0MsQ0hvSy9DLHFCR3BLK0MsRUhxS2hEO0VBS0QsbUJJN0pKLGlCRGJxRCxFSDRLaEQ7RUFWRCxZQUNFLG9CR25LK0MsQ0htSy9DLHdCR25LK0MsQ0htSy9DLG9CR25LK0MsQ0hvSy9DLHFCR3BLK0MsRUhxS2hEO0VBS0QsbUJJN0pKLHVCRGJxRCxFSDRLaEQ7RUFWRCxZQUNFLG9CR25LK0MsQ0htSy9DLGtCR25LK0MsQ0htSy9DLGNHbksrQyxDSG9LL0MsZUdwSytDLEVIcUtoRDtFQUtELG1CSTdKSix1QkRicUQsRUg0S2hEO0VBVkQsWUFDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDtFQUtELG1CSTdKSixpQkRicUQsRUg0S2hEO0VBVkQsWUFDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDtFQUtELG1CSTdKSix1QkRicUQsRUg0S2hEO0VBVkQsWUFDRSxvQkduSytDLENIbUsvQyxrQkduSytDLENIbUsvQyxjR25LK0MsQ0hvSy9DLGVHcEsrQyxFSHFLaEQ7RUFLRCxtQkk3SkosdUJEYnFELEVINEtoRDtFQVZELGFBQ0Usb0JHbksrQyxDSG1LL0Msd0JHbksrQyxDSG1LL0Msb0JHbksrQyxDSG9LL0MscUJHcEsrQyxFSHFLaEQ7RUFLRCxtQkk3SkosaUJEYnFELEVINEtoRDtFQVZELGFBQ0Usb0JHbksrQyxDSG1LL0Msd0JHbksrQyxDSG1LL0Msb0JHbksrQyxDSG9LL0MscUJHcEsrQyxFSHFLaEQ7RUFLRCxvQkk3SkosdUJEYnFELEVINEtoRDtFQVZELGFBQ0Usb0JHbksrQyxDSG1LL0MsbUJHbksrQyxDSG1LL0MsZUduSytDLENIb0svQyxnQkdwSytDLEVIcUtoRDtFQUtELG9CSTdKSix1QkRicUQsRUg0S2hEO0VBS0QsZUExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjtFQTFHTCxrREFHRSxvQkFGc0IsQ0FFdEIsbUJBRnNCLENBRXRCLGVBRnNCLENBR3RCLGdCQUhzQixFQUl2QjtFQW1HRyxlQTFHSixvQkFBZSxDQUFmLGdCQUFlLEVBNEdWO0VBMUdMLGtEQUdFLG9CQUZzQixDQUV0QixrQkFGc0IsQ0FFdEIsY0FGc0IsQ0FHdEIsZUFIc0IsRUFJdkI7RUFtR0csZUExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjtFQTFHTCxrREFHRSxvQkFGc0IsQ0FFdEIsd0JBRnNCLENBRXRCLG9CQUZzQixDQUd0QixxQkFIc0IsRUFJdkI7RUFtR0csZUExR0osb0JBQWUsQ0FBZixnQkFBZSxFQTRHVjtFQTFHTCxrREFHRSxvQkFGc0IsQ0FFdEIsa0JBRnNCLENBRXRCLGNBRnNCLENBR3RCLGVBSHNCLEVBSXZCO0VBbUdHLGVBMUdKLG9CQUFlLENBQWYsZ0JBQWUsRUE0R1Y7RUExR0wsa0RBR0Usb0JBRnNCLENBRXRCLGtCQUZzQixDQUV0QixjQUZzQixDQUd0QixlQUhzQixFQUl2QjtFQW1HRyxlQTFHSixvQkFBZSxDQUFmLGdCQUFlLEVBNEdWO0VBMUdMLGtEQUdFLG9CQUZzQixDQUV0Qix3QkFGc0IsQ0FFdEIsb0JBRnNCLENBR3RCLHFCQUhzQixFQUl2QjtFQW1HRyxlQTFHSixvQkFBZSxDQUFmLGdCQUFlLEVBNEdWO0VBMUdMLGtEQUdFLG9CQUZzQixDQUV0Qix3QkFGc0IsQ0FFdEIsb0JBRnNCLENBR3RCLHFCQUhzQixFQUl2QjtFQW1HRyxlQTFHSixvQkFBZSxDQUFmLGdCQUFlLEVBNEdWO0VBMUdMLGtEQUdFLG9CQUZzQixDQUV0QixvQkFGc0IsQ0FFdEIsZ0JBRnNCLENBR3RCLGlCQUhzQixFQUl2QixFQUFBOztBRHdERyxtRUNtREUsaUJBQ0Usb0JBNUpNLENBNEpOLGtCQTVKTSxDQTRKTixjQTVKTSxFQTZKUCxFQUFBOztBQUtELGdFQUVJLG9CQUEyQixDQUEzQixtQkFBMkIsQ0FBM0IsZUFBMkIsRUFLNUI7O0FEakVMLDZDQzBERSxnRUFLTSxvQkF2S0UsQ0F1S0Ysa0JBdktFLENBdUtGLGNBdktFLEVBeUtMLEVBQUE7O0FEakVMLDZDQ3VFRiwwREVwTkEsaUJQdUVTLENPdEVULGdCUHNFUyxFSzhJbUM7RUFHNUMsOERFeE5BLHlCQUZxQyxDQUdyQyx3QkFIcUMsRUYyTmdCLEVBQUE7O0FENUVuRCw2Q0M0QkEsV0FDRSxvQkduSytDLENIbUsvQyx1QkduSytDLENIbUsvQyxtQkduSytDLENIb0svQyxvQkdwSytDLEVIcUtoRDtFQUtELGtCSTdKSixnQkRoQmdDLEVIK0szQjtFQVZELFdBQ0Usb0JHbksrQyxDSG1LL0Msd0JHbksrQyxDSG1LL0Msb0JHbksrQyxDSG9LL0MscUJHcEsrQyxFSHFLaEQ7RUFLRCxrQkk3Skosc0JEYnFELEVINEtoRDtFQVZELFdBQ0Usb0JHbksrQyxDSG1LL0Msa0JHbksrQyxDSG1LL0MsY0duSytDLENIb0svQyxlR3BLK0MsRUhxS2hEO0VBS0Qsa0JJN0pKLHVCRGJxRCxFSDRLaEQ7RUFWRCxXQUNFLG9CR25LK0MsQ0htSy9DLHdCR25LK0MsQ0htSy9DLG9CR25LK0MsQ0hvSy9DLHFCR3BLK0MsRUhxS2hEO0VBS0Qsa0JJN0pKLGlCRGJxRCxFSDRLaEQ7RUFWRCxXQUNFLG9CR25LK0MsQ0htSy9DLHdCR25LK0MsQ0htSy9DLG9CR25LK0MsQ0hvSy9DLHFCR3BLK0MsRUhxS2hEO0VBS0Qsa0JJN0pKLHVCRGJxRCxFSDRLaEQ7RUFWRCxXQUNFLG9CR25LK0MsQ0htSy9DLGtCR25LK0MsQ0htSy9DLGNHbksrQyxDSG9LL0MsZUdwSytDLEVIcUtoRDtFQUtELGtCSTdKSix1QkRicUQsRUg0S2hEO0VBVkQsV0FDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDtFQUtELGtCSTdKSixpQkRicUQsRUg0S2hEO0VBVkQsV0FDRSxvQkduSytDLENIbUsvQyx3QkduSytDLENIbUsvQyxvQkduSytDLENIb0svQyxxQkdwSytDLEVIcUtoRDtFQUtELGtCSTdKSix1QkRicUQsRUg0S2hEO0VBVkQsV0FDRSxvQkduSytDLENIbUsvQyxrQkduSytDLENIbUsvQyxjR25LK0MsQ0hvSy9DLGVHcEsrQyxFSHFLaEQ7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dXJjZXNDb250ZW50IjpbIi8qIVxuVGhlbWUgTmFtZTogc2hyXG5UaGVtZSBVUkk6IGh0dHA6Ly9icmFpbnJpZGVyLmNvbSBodHRwOi8vYnJhaW5yaWRlci5jb20gaHR0cDovL2JyYWlucmlkZXIuY29tXG5EZXNjcmlwdGlvbjogQSBDdXN0b20gQjJCIHRoZW1lIGZvciBzaHIuXG5WZXJzaW9uOiAxLjBcbkF1dGhvcjogSmlsbGlhbiBXYWxsYWNlXG5BdXRob3IgVVJJOiBodHRwOi8vYnJhaW5yaWRlci5jb21cbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGFnczpcblRleHQgRG9tYWluOiBzaHJcbiovXG5cbi8vRm91bmRhdGlvbiBzdHlsZXNcbkBpbXBvcnQgJy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XG5AaW1wb3J0ICcuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG5cbi8vIEltcG9ydCBzcHJpdGVzaGVldHNcbkBpbXBvcnQgJ3Nwcml0ZXMnO1xuXG4vLyBJbXBvcnQgUmVzZXRcbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5cbi8vIEltcG9ydCBvdGhlciBzdHlsZXNcbkBpbXBvcnQgJ3NsaWNrLW1haW4nO1xuLy8gQGltcG9ydCAnc2xpY2stdGhlbWUnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2dlbmVyYWwnO1xuQGltcG9ydCAnZmxleGlibGUnO1xuQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ3Bvc3RzJztcbkBpbXBvcnQgJ2Zvb3Rlcic7XG5AaW1wb3J0ICduYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ2xlYWRlcnNoaXAnO1xuQGltcG9ydCAnc2VhcmNoJztcbkBpbXBvcnQgJ3Jlc291cmNlLWNlbnRyZSc7XG5AaW1wb3J0ICdhZGRpdGlvbmFsJzsiLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8qIVxuVGhlbWUgTmFtZTogc2hyXG5UaGVtZSBVUkk6IGh0dHA6Ly9icmFpbnJpZGVyLmNvbSBodHRwOi8vYnJhaW5yaWRlci5jb20gaHR0cDovL2JyYWlucmlkZXIuY29tXG5EZXNjcmlwdGlvbjogQSBDdXN0b20gQjJCIHRoZW1lIGZvciBzaHIuXG5WZXJzaW9uOiAxLjBcbkF1dGhvcjogSmlsbGlhbiBXYWxsYWNlXG5BdXRob3IgVVJJOiBodHRwOi8vYnJhaW5yaWRlci5jb21cbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGFnczpcblRleHQgRG9tYWluOiBzaHJcbiovXG4vKiogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQiBWZXJzaW9uIDYuNC4zIGZvdW5kYXRpb24uenVyYi5jb20gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy4gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuICovXG5odG1sIHsgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi8gbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi8gLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi8gLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovIH1cblxuLyogU2VjdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gKi9cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuYXJ0aWNsZSwgYXNpZGUsIGZvb3RlciwgaGVhZGVyLCBuYXYsIHNlY3Rpb24geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLiAqL1xuaDEgeyBmb250LXNpemU6IDJlbTsgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uICovXG5maWdjYXB0aW9uLCBmaWd1cmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LiAqL1xuZmlndXJlIHsgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC4gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuICovXG5ociB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovIGhlaWdodDogMDsgLyogMSAqLyBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqLyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS4gKi9cbm1haW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xucHJlIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovIH1cblxuLyogTGlua3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky4gKi9cbmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqLyAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHsgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS4gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS4gKi9cbmFiYnJbdGl0bGVdIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi8gfVxuXG4vKiogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuICovXG5iLCBzdHJvbmcgeyBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS4gKi9cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy4gKi9cbmNvZGUsIGtiZCwgc2FtcCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqLyBmb250LXNpemU6IDFlbTsgLyogMiAqLyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uICovXG5kZm4geyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS4gKi9cbm1hcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwOyBjb2xvcjogIzAwMDsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuICovXG5zbWFsbCB7IGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc3ViLCBzdXAgeyBmb250LXNpemU6IDc1JTsgbGluZS1oZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uICovXG5hdWRpbywgdmlkZW8geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkgeyBkaXNwbGF5OiBub25lOyBoZWlnaHQ6IDA7IH1cblxuLyoqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLiAqL1xuaW1nIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS4gKi9cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS4gKi9cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHsgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi8gZm9udC1zaXplOiAxMDAlOyAvKiAxICovIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovIG1hcmdpbjogMDsgLyogMiAqLyB9XG5cbi8qKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS4gKi9cbmJ1dHRvbiB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS4gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LiAqL1xuYnV0dG9uLCBzZWxlY3QgeyAvKiAxICovIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2AgY29udHJvbHMgaW4gQW5kcm9pZCA0LiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovIH1cblxuYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0geyAvKiogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gKi8gLyoqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS4gKi8gfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7IGJvcmRlci1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7IG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKiogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS4gKi9cbmlucHV0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS4gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovIHBhZGRpbmc6IDA7IC8qIDIgKi8gfVxuXG4vKiogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovIC8qKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLiAqLyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi8gfVxuXG4vKiogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5maWVsZHNldCB7IGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7IG1hcmdpbjogMCAycHg7IHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS4gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0IGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLiAqL1xubGVnZW5kIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBkaXNwbGF5OiB0YWJsZTsgLyogMSAqLyBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMyAqLyBjb2xvcjogaW5oZXJpdDsgLyogMiAqLyB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovIH1cblxuLyoqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLiAqL1xucHJvZ3Jlc3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi8gdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuICovXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guICovXG5kZXRhaWxzIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbm1lbnUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmNhbnZhcyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuICovXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLiAqL1xuW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHsgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBiYWNrZ3JvdW5kOiAjZmVmZWZlOyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiAjMGEwYTBhOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZywgLm1hcF9jYW52YXMgZW1iZWQsIC5tYXBfY2FudmFzIG9iamVjdCwgLm1xYS1kaXNwbGF5IGltZywgLm1xYS1kaXNwbGF5IGVtYmVkLCAubXFhLWRpc3BsYXkgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHsgcGFkZGluZzogMDsgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgbGluZS1oZWlnaHQ6IDE7IGN1cnNvcjogYXV0bzsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHsgb3V0bGluZTogMDsgfVxuXG5wcmUgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYSB7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2ggeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEgeyBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7IG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHsgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQgeyBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7IG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHsgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS1vcmRlci0xIHsgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHsgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHsgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHsgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHsgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHsgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2Utb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHsgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMgeyBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHsgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYgeyBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7IGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsgeyBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHsgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHsgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5yb3cgeyBtYXgtd2lkdGg6IDc1cmVtOyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1sZWZ0OiBhdXRvOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5yb3cgLnJvdyB7IG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5yb3cgLnJvdyB7IG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucm93IC5yb3cgeyBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLnJvdyAucm93LmNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4ucm93LmV4cGFuZGVkIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5yb3cuZXhwYW5kZWQgLnJvdyB7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7IGZsZXg6IDEgMSAwcHg7IHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyBtaW4td2lkdGg6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNvbHVtbiwgLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEgeyBmbGV4OiAwIDAgOC4zMzMzMyU7IG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHsgZmxleDogMCAwIDE2LjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHsgZmxleDogMCAwIDI1JTsgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7IGZsZXg6IDAgMCAzMy4zMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUgeyBmbGV4OiAwIDAgNDEuNjY2NjclOyBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHsgZmxleDogMCAwIDUwJTsgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7IGZsZXg6IDAgMCA1OC4zMzMzMyU7IG1heC13aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTggeyBmbGV4OiAwIDAgNjYuNjY2NjclOyBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHsgZmxleDogMCAwIDc1JTsgbWF4LXdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAgeyBmbGV4OiAwIDAgODMuMzMzMzMlOyBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7IGZsZXg6IDAgMCA5MS42NjY2NyU7IG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7IGZsZXg6IDAgMCAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMzMuMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMjAlOyBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTYuNjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTQuMjg1NzElOyBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTIuNSU7IG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMC42MjVyZW07IHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS0xIHsgZmxleDogMCAwIDguMzMzMzMlOyBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHsgZmxleDogMCAwIDE2LjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQgeyBmbGV4OiAwIDAgMzMuMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUgeyBmbGV4OiAwIDAgNDEuNjY2NjclOyBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcgeyBmbGV4OiAwIDAgNTguMzMzMzMlOyBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTggeyBmbGV4OiAwIDAgNjYuNjY2NjclOyBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkgeyBmbGV4OiAwIDAgNzUlOyBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHsgZmxleDogMCAwIDgzLjMzMzMzJTsgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7IGZsZXg6IDAgMCA5MS42NjY2NyU7IG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMzMuMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMjAlOyBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTYuNjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTQuMjg1NzElOyBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTIuNSU7IG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS1leHBhbmQgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtMSB7IGZsZXg6IDAgMCA4LjMzMzMzJTsgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIgeyBmbGV4OiAwIDAgMTYuNjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHsgZmxleDogMCAwIDMzLjMzMzMzJTsgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7IGZsZXg6IDAgMCA0MS42NjY2NyU7IG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHsgZmxleDogMCAwIDU4LjMzMzMzJTsgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7IGZsZXg6IDAgMCA2Ni42NjY2NyU7IG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkgeyBmbGV4OiAwIDAgNzUlOyBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7IGZsZXg6IDAgMCA4My4zMzMzMyU7IG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHsgZmxleDogMCAwIDkxLjY2NjY3JTsgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCA1MCU7IG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAzMy4zMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAyNSU7IG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAyMCU7IG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNi42NjY2NyU7IG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNC4yODU3MSU7IG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMi41JTsgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtZXhwYW5kIHsgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zaHJpbmsgeyBmbGV4OiAwIDAgYXV0bzsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4tYmxvY2sgeyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNvbHVtbi1ibG9jayB7IG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uYnV0dG9uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW46IDAgMCAxcmVtIDA7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBwYWRkaW5nOiAwLjg1ZW0gMWVtOyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItcmFkaXVzOiAwOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDsgZm9udC1zaXplOiAwLjlyZW07IGxpbmUtaGVpZ2h0OiAxOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgY29sb3I6ICNmZWZlZmU7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24geyBvdXRsaW5lOiAwOyB9XG5cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllOyBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLnRpbnkgeyBmb250LXNpemU6IDAuNnJlbTsgfVxuXG4uYnV0dG9uLnNtYWxsIHsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5idXR0b24ubGFyZ2UgeyBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLmJ1dHRvbi5leHBhbmRlZCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnV0dG9uLnByaW1hcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7IGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24uc2Vjb25kYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTsgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi5zdWNjZXNzIHsgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgY29sb3I6ICMwYTBhMGE7IH1cblxuLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViOyBjb2xvcjogIzBhMGEwYTsgfVxuXG4uYnV0dG9uLndhcm5pbmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyBjb2xvcjogIzBhMGEwYTsgfVxuXG4uYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5idXR0b24uYWxlcnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTsgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0geyBvcGFjaXR5OiAwLjI1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkgeyBvcGFjaXR5OiAwLjI1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHsgb3BhY2l0eTogMC4yNTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHsgb3BhY2l0eTogMC4yNTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgY29sb3I6ICMwYTBhMGE7IH1cblxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHsgb3BhY2l0eTogMC4yNTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgY29sb3I6ICMwYTBhMGE7IH1cblxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQgeyBvcGFjaXR5OiAwLjI1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLmhvbGxvdyB7IGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7IGNvbG9yOiAjMTc3OWJhOyB9XG5cbi5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjMGMzZDVkOyBjb2xvcjogIzBjM2Q1ZDsgfVxuXG4uYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHsgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTsgY29sb3I6ICMxNzc5YmE7IH1cblxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7IGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7IGNvbG9yOiAjMTc3OWJhOyB9XG5cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMgeyBib3JkZXItY29sb3I6ICMwYzNkNWQ7IGNvbG9yOiAjMGMzZDVkOyB9XG5cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7IGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7IGNvbG9yOiAjMTc3OWJhOyB9XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7IGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7IGNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjM2IzYjNiOyBjb2xvcjogIzNiM2IzYjsgfVxuXG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7IGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7IGNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3MgeyBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2OyBjb2xvcjogIzNhZGI3NjsgfVxuXG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjMTU3NTM5OyBjb2xvcjogIzE1NzUzOTsgfVxuXG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2OyBjb2xvcjogIzNhZGI3NjsgfVxuXG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nIHsgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDsgY29sb3I6ICNmZmFlMDA7IH1cblxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7IGJvcmRlci1jb2xvcjogIzgwNTcwMDsgY29sb3I6ICM4MDU3MDA7IH1cblxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHsgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDsgY29sb3I6ICNmZmFlMDA7IH1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3OyBjb2xvcjogI2NjNGIzNzsgfVxuXG4uYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMgeyBib3JkZXItY29sb3I6ICM2NzI1MWE7IGNvbG9yOiAjNjcyNTFhOyB9XG5cbi5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3OyBjb2xvcjogI2NjNGIzNzsgfVxuXG4uYnV0dG9uLmNsZWFyIHsgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTsgY29sb3I6ICMxNzc5YmE7IH1cblxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjMGMzZDVkOyBjb2xvcjogIzBjM2Q1ZDsgfVxuXG4uYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhOyBjb2xvcjogIzE3NzliYTsgfVxuXG4uYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnkgeyBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhOyBjb2xvcjogIzE3NzliYTsgfVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7IGJvcmRlci1jb2xvcjogIzBjM2Q1ZDsgY29sb3I6ICMwYzNkNWQ7IH1cblxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhOyBjb2xvcjogIzE3NzliYTsgfVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7IGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7IGNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7IGJvcmRlci1jb2xvcjogIzNiM2IzYjsgY29sb3I6ICMzYjNiM2I7IH1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7IGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7IGNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5idXR0b24uY2xlYXIuc3VjY2VzcyB7IGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7IGNvbG9yOiAjM2FkYjc2OyB9XG5cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjMTU3NTM5OyBjb2xvcjogIzE1NzUzOTsgfVxuXG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7IGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7IGNvbG9yOiAjM2FkYjc2OyB9XG5cbi5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5idXR0b24uY2xlYXIud2FybmluZyB7IGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7IGNvbG9yOiAjZmZhZTAwOyB9XG5cbi5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjODA1NzAwOyBjb2xvcjogIzgwNTcwMDsgfVxuXG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7IGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7IGNvbG9yOiAjZmZhZTAwOyB9XG5cbi5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5idXR0b24uY2xlYXIuYWxlcnQgeyBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3OyBjb2xvcjogI2NjNGIzNzsgfVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjNjcyNTFhOyBjb2xvcjogIzY3MjUxYTsgfVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0geyBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3OyBjb2xvcjogI2NjNGIzNzsgfVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXI6IGluc2V0IDAuNGVtOyBjb250ZW50OiAnJzsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDAuNGVtOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cblxuLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7IHRvcDogLTAuMWVtOyBmbG9hdDogbm9uZTsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEgeyBkaXNwbGF5OiBibG9jazsgYm94LXNpemluZzogYm9yZGVyLWJveDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMi40Mzc1cmVtOyBtYXJnaW46IDAgMCAxcmVtOyBwYWRkaW5nOiAwLjVyZW07IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IGJvcmRlci1yYWRpdXM6IDA7IGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiAjMGEwYTBhOyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTsgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhOyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7IG1heC13aWR0aDogMTAwJTsgfVxuXG50ZXh0YXJlYVtyb3dzXSB7IGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sIHRleHRhcmVhOmRpc2FibGVkLCB0ZXh0YXJlYVtyZWFkb25seV0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSwgW3R5cGU9J2J1dHRvbiddIHsgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSwgW3R5cGU9J2NoZWNrYm94J10sIFt0eXBlPSdyYWRpbyddIHsgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLCBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IG1hcmdpbi1sZWZ0OiAwLjVyZW07IG1hcmdpbi1yaWdodDogMXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLCBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHsgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7IHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMDsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuODsgY29sb3I6ICMwYTBhMGE7IH1cblxubGFiZWwubWlkZGxlIHsgbWFyZ2luOiAwIDAgMXJlbTsgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7IG1hcmdpbi10b3A6IC0wLjVyZW07IGZvbnQtc2l6ZTogMC44MTI1cmVtOyBmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQgeyBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7IGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSwgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCwgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwgeyBtYXJnaW46IDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHsgcGFkZGluZzogMCAxcmVtOyBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyBiYWNrZ3JvdW5kOiAjZTZlNmU2OyBjb2xvcjogIzBhMGEwYTsgdGV4dC1hbGlnbjogY2VudGVyOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBkaXNwbGF5OiBmbGV4OyBmbGV4OiAwIDAgYXV0bzsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQgeyBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQgeyBib3JkZXItcmFkaXVzOiAwOyBmbGV4OiAxIDEgMHB4OyBoZWlnaHQ6IGF1dG87IG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGZsZXg7IGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24gYSwgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCwgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwgeyBoZWlnaHQ6IGF1dG87IGFsaWduLXNlbGY6IHN0cmV0Y2g7IHBhZGRpbmctdG9wOiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IH1cblxubGVnZW5kIHsgbWF4LXdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHsgbWFyZ2luOiAxLjEyNXJlbSAwOyBwYWRkaW5nOiAxLjI1cmVtOyBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG5cbi5maWVsZHNldCBsZWdlbmQgeyBtYXJnaW46IDA7IG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3QgeyBoZWlnaHQ6IDIuNDM3NXJlbTsgbWFyZ2luOiAwIDAgMXJlbTsgcGFkZGluZzogMC41cmVtOyBhcHBlYXJhbmNlOiBub25lOyBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyBib3JkZXItcmFkaXVzOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogIzBhMGEwYTsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpOyBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4OyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHsgc2VsZWN0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG5cbnNlbGVjdDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7IGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxuc2VsZWN0OmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbnNlbGVjdFttdWx0aXBsZV0geyBoZWlnaHQ6IGF1dG87IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykgeyBib3JkZXItY29sb3I6ICNjYzRiMzc7IGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwgeyBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7IGRpc3BsYXk6IG5vbmU7IG1hcmdpbi10b3A6IC0wLjVyZW07IG1hcmdpbi1ib3R0b206IDFyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yLmlzLXZpc2libGUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuaGlkZS1mb3Itc21hbGwtb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuc2hvdy1mb3Itc21hbGwtb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5oaWRlLWZvci1tZWRpdW0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLnNob3ctZm9yLW1lZGl1bSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5zaG93LWZvci1tZWRpdW0tb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5oaWRlLWZvci1sYXJnZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAuc2hvdy1mb3ItbGFyZ2UgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7IC5oaWRlLWZvci1sYXJnZS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5zaG93LWZvci1sYXJnZS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLCAuc2hvdy1vbi1mb2N1cyB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgY2xpcC1wYXRoOiBpbnNldCg1MCUpOyBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7IHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgd2lkdGg6IGF1dG87IGhlaWdodDogYXV0bzsgb3ZlcmZsb3c6IHZpc2libGU7IGNsaXA6IGF1dG87IHdoaXRlLXNwYWNlOiBub3JtYWw7IGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLCAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7IC5zaG93LWZvci1sYW5kc2NhcGUsIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IC5zaG93LWZvci1sYW5kc2NhcGUsIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgeyAuaGlkZS1mb3ItbGFuZHNjYXBlLCAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IC5oaWRlLWZvci1sYW5kc2NhcGUsIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHsgZGlzcGxheTogdGFibGU7IGNvbnRlbnQ6ICcgJzsgZmxleC1iYXNpczogMDsgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy4gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuICovXG4vKiBEb2N1bWVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmFydGljbGUsIGFzaWRlLCBmb290ZXIsIGhlYWRlciwgbmF2LCBzZWN0aW9uIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS4gKi9cbmgxIHsgZm9udC1zaXplOiAyZW07IG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS4gKi9cbmZpZ2NhcHRpb24sIGZpZ3VyZSwgbWFpbiB7IC8qIDEgKi8gZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC4gKi9cbmZpZ3VyZSB7IG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLiAqL1xuaHIgeyBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqLyBoZWlnaHQ6IDA7IC8qIDEgKi8gb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi8gfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xucHJlIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky4gKi9cbmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqLyAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHsgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLiAqL1xuYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqLyB9XG5cbi8qKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi4gKi9cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xuY29kZSwga2JkLCBzYW1wIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovIH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS4gKi9cbmRmbiB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLiAqL1xubWFyayB7IGJhY2tncm91bmQtY29sb3I6ICNmZjA7IGNvbG9yOiAjMDAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuICovXG5zdWIsIHN1cCB7IGZvbnQtc2l6ZTogNzUlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmF1ZGlvLCB2aWRlbyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7IGRpc3BsYXk6IG5vbmU7IGhlaWdodDogMDsgfVxuXG4vKiogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uICovXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLiAqL1xuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqLyBmb250LXNpemU6IDEwMCU7IC8qIDEgKi8gbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi8gbWFyZ2luOiAwOyAvKiAyICovIH1cblxuLyoqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLiAqL1xuYnV0dG9uLCBpbnB1dCB7IC8qIDEgKi8gb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guICovXG5idXR0b24sIHNlbGVjdCB7IC8qIDEgKi8gdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYCBjb250cm9scyBpbiBBbmRyb2lkIDQuIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuICovXG5idXR0b24sIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi8gfVxuXG4vKiogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHsgYm9yZGVyLXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyB9XG5cbi8qKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7IG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKiogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5maWVsZHNldCB7IGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7IG1hcmdpbjogMCAycHg7IHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS4gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0IGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLiAqL1xubGVnZW5kIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBjb2xvcjogaW5oZXJpdDsgLyogMiAqLyBkaXNwbGF5OiB0YWJsZTsgLyogMSAqLyBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMyAqLyB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovIH1cblxuLyoqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLiAqL1xucHJvZ3Jlc3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi8gdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuICovXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uICovXG5bdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAyICovIH1cblxuLyoqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqLyBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi8gZm9udDogaW5oZXJpdDsgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LiAqL1xuZGV0YWlscywgbWVudSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy4gKi9cbnN1bW1hcnkgeyBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uICovXG5jYW52YXMgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLiAqL1xudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS4gKi9cbltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAtbW96LXVzZXItc2VsZWN0OiBub25lOyAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IHVzZXItc2VsZWN0OiBub25lOyAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7IHRvdWNoLWFjdGlvbjogcGFuLXk7IC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3QgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cblxuLnNsaWNrLWxpc3Q6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1saXN0LmRyYWdnaW5nIHsgY3Vyc29yOiBwb2ludGVyOyBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssIC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDA7IGxlZnQ6IDA7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7IGRpc3BsYXk6IHRhYmxlOyBjb250ZW50OiAnJzsgfVxuXG4uc2xpY2stdHJhY2s6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHsgZGlzcGxheTogbm9uZTsgZmxvYXQ6IGxlZnQ7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMXB4OyB9XG5cbltkaXI9J3J0bCddIC5zbGljay1zbGlkZSB7IGZsb2F0OiByaWdodDsgfVxuXG4uc2xpY2stc2xpZGUgaW1nIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogYXV0bzsgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keSB7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICMzMzMzMzM7IGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgYm9keSB7IGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbnAsIGEsIHVsIGxpLCBvbCBsaSB7IGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyBwLCBhLCB1bCBsaSwgb2wgbGkgeyBsaW5lLWhlaWdodDogMjZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyBwIHsgbWFyZ2luOiAwLjVlbSAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IGgxIHsgZm9udC1zaXplOiAzMnB4OyBsaW5lLWhlaWdodDogNDBweDsgfSB9XG5cbmgyIHsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAzNHB4OyBsaW5lLWhlaWdodDogMzZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgaDIgeyBmb250LXNpemU6IDI4cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cblxuaDMgeyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbmg0IHsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyMnB4OyBtYXJnaW46IDFlbSAwOyB9XG5cbmEgeyBjb2xvcjogI2ZmOTUwMDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5hOmhvdmVyIHsgY29sb3I6ICMwODRjNjE7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgZGl2I3BhZ2Uuc2l0ZSB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfSB9XG5cbi53cmFwcGVyIHsgbWF4LXdpZHRoOiA5MCU7IG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jb250YWluZXIgeyBtYXJnaW4tYm90dG9tOiA2ZW07IH1cblxuLmNvbnRhaW5lciAucm93IHsgbWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5jb250YWluZXIgeyBtYXJnaW4tYm90dG9tOiAzZW07IH0gfVxuXG4ucm93IHsgbWF4LXdpZHRoOiAxMTcwcHg7IH1cblxuI2Jhbm5lci1oZWFkZXIgKyAuY29udGFpbmVyLCAjZmVhdHVyZWQtaW50cm8gKyAuY29udGFpbmVyIHsgbWFyZ2luLXRvcDogMy41ZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7ICNiYW5uZXItaGVhZGVyICsgLmNvbnRhaW5lciwgI2ZlYXR1cmVkLWludHJvICsgLmNvbnRhaW5lciB7IG1hcmdpbi10b3A6IDIuNWVtOyB9IH1cblxuLmJ0bi1kZWZhdWx0IHsgY29sb3I6ICNmZjk1MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyOiAycHggc29saWQgI2ZmOTUwMDsgYm9yZGVyLXJhZGl1czogNXB4OyBwYWRkaW5nOiA2cHggMjBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDA7IHRyYW5zaXRpb246IDAuNXM7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgfVxuXG4uYnRuLWRlZmF1bHQ6aG92ZXIgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5idG4tZGVmYXVsdC5idG4td2hpdGUgeyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG5cbi5idG4tZGVmYXVsdC5idG4td2hpdGU6aG92ZXIgeyBjb2xvcjogI2ZmOTUwMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmltZy5hbGlnbmxlZnQsIGltZy5sZWZ0IHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogMWVtIDFlbSAxZW0gMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgaW1nLmFsaWdubGVmdCwgaW1nLmxlZnQgeyBmbG9hdDogbm9uZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMWVtIGF1dG87IH0gfVxuXG5pbWcuYWxpZ25yaWdodCwgaW1nLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDFlbSAwIDFlbSAxZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IGltZy5hbGlnbnJpZ2h0LCBpbWcucmlnaHQgeyBmbG9hdDogbm9uZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMWVtIGF1dG87IH0gfVxuXG5pbWcuYWxpZ25jZW50ZXIsIGltZy5jZW50ZXIgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxZW0gYXV0bzsgfVxuXG5pbWcuYWxpZ25ub25lLCBpbWcubm9uZSB7IG1hcmdpbjogMWVtIDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IGltZy5hbGlnbm5vbmUsIGltZy5ub25lIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMWVtIGF1dG87IH0gfVxuXG5maWd1cmUgeyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbjogMWVtIDA7IH1cblxuZmlndXJlLmFsaWdubGVmdCwgZmlndXJlLmxlZnQgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiAxZW0gMWVtIDFlbSAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyBmaWd1cmUuYWxpZ25sZWZ0LCBmaWd1cmUubGVmdCB7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxZW0gYXV0bzsgfSB9XG5cbmZpZ3VyZS5hbGlnbnJpZ2h0LCBmaWd1cmUucmlnaHQgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbjogMWVtIDAgMWVtIDFlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgZmlndXJlLmFsaWducmlnaHQsIGZpZ3VyZS5yaWdodCB7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxZW0gYXV0bzsgfSB9XG5cbmZpZ3VyZS5hbGlnbmNlbnRlciwgZmlndXJlLmNlbnRlciB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDFlbSBhdXRvOyB9XG5cbmZpZ3VyZS5hbGlnbm5vbmUgZmlndXJlLm5vbmUgeyBtYXJnaW46IDFlbSAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyBmaWd1cmUuYWxpZ25ub25lIGZpZ3VyZS5ub25lIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMWVtIGF1dG87IH0gfVxuXG5maWd1cmUgZmlnY2FwdGlvbiB7IGJhY2tncm91bmQ6ICNjOGQzZDU7IHBhZGRpbmc6IDEwcHg7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuI2Jhbm5lci1oZWFkZXIgLnNsaWRlci1jb250ZW50IHsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMTAwJTsgfVxuXG4jYmFubmVyLWhlYWRlciAuc2xpY2stbGlzdCwgI2Jhbm5lci1oZWFkZXIgLnNsaWNrLXRyYWNrIHsgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7ICNiYW5uZXItaGVhZGVyIC5zbGljay1saXN0LCAjYmFubmVyLWhlYWRlciAuc2xpY2stdHJhY2sgeyBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiNiYW5uZXItaGVhZGVyIC5zbGljay1kb3RzIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyBsaXN0LXN0eWxlOiBub25lOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJvdHRvbTogNnB4OyB9XG5cbiNiYW5uZXItaGVhZGVyIC5zbGljay1kb3RzIGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IG1hcmdpbjogMCA1cHg7IHBhZGRpbmc6IDA7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbiNiYW5uZXItaGVhZGVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7IH1cblxuI2Jhbm5lci1oZWFkZXIgLnNsaWNrLWRvdHMgYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4jYmFubmVyLWhlYWRlciAuY29udGFpbmVyIHsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMTAwJTsgfVxuXG4jYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGhlaWdodDogMTAwJTsgfVxuXG4jYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5jb250YWluZXIgeyBtaW4taGVpZ2h0OiA1MDBweDsgcGFkZGluZzogM2VtIDA7IG1hcmdpbi1ib3R0b206IDBlbTsgfVxuXG4jYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5jb250YWluZXIgaDEsICNiYW5uZXItaGVhZGVyIC5lbnRyeS1oZWFkZXIgLmNvbnRhaW5lciBwIHsgY29sb3I6ICNmZmY7IH1cblxuI2Jhbm5lci1oZWFkZXIgLmVudHJ5LWhlYWRlciAuY29udGFpbmVyIGgxIHsgZm9udC1zaXplOiA2MHB4OyBsaW5lLWhlaWdodDogNjRweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC1zaGFkb3c6IDFweCAxcHggNHB4ICMzMzMzMzM7IG1heC13aWR0aDogNTAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAjYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5jb250YWluZXIgaDEgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuI2Jhbm5lci1oZWFkZXIgLmVudHJ5LWhlYWRlciAuY29udGFpbmVyIHNwYW4uaW50cm8tY29weSB7IHdpZHRoOiA1MCU7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNiYW5uZXItaGVhZGVyIC5lbnRyeS1oZWFkZXIgLmNvbnRhaW5lciBzcGFuLmludHJvLWNvcHkgcCB7IGZvbnQtc2l6ZTogMzBweDsgbGluZS1oZWlnaHQ6IDM0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDM2cHg7IHRleHQtc2hhZG93OiAxcHggMXB4IDRweCAjMzMzMzMzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAjYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5jb250YWluZXIgc3Bhbi5pbnRyby1jb3B5IHAgeyBtYXJnaW4tYm90dG9tOiAyMnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7ICNiYW5uZXItaGVhZGVyIC5lbnRyeS1oZWFkZXIgLmNvbnRhaW5lciBzcGFuLmludHJvLWNvcHkgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAjYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5jb250YWluZXIgeyBtaW4taGVpZ2h0OiAxNTBweDsgcGFkZGluZzogMmVtIDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNSwgNSwgNSwgMC4yKTsgfVxuICAjYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5jb250YWluZXIgaDEgeyBtYXJnaW4tdG9wOiAwOyBmb250LXNpemU6IDM2cHg7IGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG4gICNiYW5uZXItaGVhZGVyIC5lbnRyeS1oZWFkZXIgLmNvbnRhaW5lciBzcGFuLmludHJvLWNvcHkgcCB7IGZvbnQtc2l6ZTogMjJweDsgbGluZS1oZWlnaHQ6IDI2cHg7IH0gfVxuXG4jYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5idG4tZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci13aWR0aDogMXB4OyB9XG5cbiNiYW5uZXItaGVhZGVyIC5lbnRyeS1oZWFkZXIgLmJ0bi1kZWZhdWx0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgY29sb3I6ICNmZmY7IH1cblxuI2Jhbm5lci1oZWFkZXIgLmVudHJ5LWhlYWRlciAucm93LnJvdy1iYW5uZXItdGl0bGUgeyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAjYmFubmVyLWhlYWRlciAuZW50cnktaGVhZGVyIC5yb3cucm93LWJhbm5lci10aXRsZSAuY29sdW1ucyB7IHBhZGRpbmc6IDAgMmVtOyB9IH1cblxuI2ZlYXR1cmVkLWludHJvLm9yYW5nZSB7IGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7IGNvbG9yOiAjZmZmOyB9XG5cbiNmZWF0dXJlZC1pbnRyby5saWdodGJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhkM2Q1OyB9XG5cbiNmZWF0dXJlZC1pbnRyby5kYXJrYmx1ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwODRjNjE7IGNvbG9yOiAjZmZmOyB9XG5cbiNmZWF0dXJlZC1pbnRyby5kYXJrYmx1ZSAucm93IC5jb2x1bW5zIGEgeyBjb2xvcjogI2ZmOTUwMDsgfVxuXG4jZmVhdHVyZWQtaW50cm8ud2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbiNmZWF0dXJlZC1pbnRybyAucm93IHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jZmVhdHVyZWQtaW50cm8gLnJvdyAuY29sdW1ucyB7IHBhZGRpbmctdG9wOiAxLjI1ZW07IHBhZGRpbmctYm90dG9tOiAxLjI1ZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7ICNmZWF0dXJlZC1pbnRybyAucm93IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfSB9XG5cbiNmZWF0dXJlZC1pbnRybyAucm93IC5jb2x1bW5zIGgyLmhlcm8tZmVhdHVyZWQtdGl0bGUgeyBtYXJnaW4tdG9wOiAwOyBmb250LXNpemU6IDI2cHg7IGxpbmUtaGVpZ2h0OiAzMnB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbiNmZWF0dXJlZC1pbnRybyAucm93IC5jb2x1bW5zIHAgeyBtYXJnaW4tdG9wOiAwOyBmb250LXdlaWdodDogNTAwOyB9XG5cbiNmZWF0dXJlZC1pbnRybyAucm93IC5jb2x1bW5zIGEgeyBjb2xvcjogIzA4NGM2MTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jZmVhdHVyZWQtaW50cm8gLnJvdyAuY29sdW1ucyBhOmhvdmVyIHsgY29sb3I6ICMzMzMzMzM7IH1cblxuLmNvbnRhaW5lci5mZWF0dXJlZC1jb250ZW50IC5mbGV4LXJvdyB7IGRpc3BsYXk6IC1tcy1mbGV4OyBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IGRpc3BsYXk6IGZsZXg7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbnRhaW5lci5mZWF0dXJlZC1jb250ZW50IC5mbGV4LXJvdyAuY29sdW1ucyB7IG1pbi1oZWlnaHQ6IDYwMHB4OyB9XG5cbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMuY29sdW1uLWxlZnQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMuY29sdW1uLXJpZ2h0IHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMgLmZlYXR1cmVkLWxpbmsgeyBjb2xvcjogIzA4NGM2MTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmNvbnRhaW5lci5mZWF0dXJlZC1jb250ZW50IC5mbGV4LXJvdyAuY29sdW1ucyAuZmVhdHVyZWQtbGluazpob3ZlciB7IGNvbG9yOiAjMzMzMzMzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zIC5mZWF0dXJlZC1saW5rIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMgLmlubmVyLWNvbHVtbiB7IGhlaWdodDogMTAwJTsgfVxuXG4uY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zIC5pbm5lci1jb2x1bW4ud2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMgLmlubmVyLWNvbHVtbi5vcmFuZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5NTAwOyBjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zIC5pbm5lci1jb2x1bW4ubGlnaHRibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDNkNTsgfVxuXG4uY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zIC5pbm5lci1jb2x1bW4uZGFya2JsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDg0YzYxOyBjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zIC5pbm5lci1jb2x1bW4uZGFya2JsdWUgLmZlYXR1cmVkLWxpbmsgeyBjb2xvcjogI2ZmOTUwMDsgfVxuXG4uY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zIC5pbm5lci1jb250ZW50IHsgcGFkZGluZzogMmVtOyB9XG5cbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMgLmlubmVyLWNvbnRlbnQgaDIgeyBtYXJnaW46IDAuNWVtIDA7IH1cblxuLmNvbnRhaW5lci5mZWF0dXJlZC1jb250ZW50IC5mbGV4LXJvdyAuYmFja2dyb3VuZC1pbWFnZSBkaXYgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODBlbSkgeyAuY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zLmNvbHVtbi1sZWZ0IHsgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMuY29sdW1uLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zLmJhY2tncm91bmQtaW1hZ2UgeyBvcmRlcjogMTsgaGVpZ2h0OiAxNzZweDsgbWluLWhlaWdodDogYXV0bzsgfVxuICAuY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zLmZlYXR1cmVkLWNvbnRlbnQgeyBvcmRlcjogMjsgbWluLWhlaWdodDogYXV0bzsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCAuZmxleC1yb3cgLmNvbHVtbnMuZmVhdHVyZWQtY29udGVudCAuaW5uZXItY29udGVudCB7IHBhZGRpbmc6IDJlbTsgfVxuICAuY29udGFpbmVyLmZlYXR1cmVkLWNvbnRlbnQgLmZsZXgtcm93IC5jb2x1bW5zLmZlYXR1cmVkLWNvbnRlbnQgLmlubmVyLWNvbnRlbnQgaDIgeyBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmNvbHVtbnMtbGF5b3V0IC5yb3cgaDIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogMDsgfVxuXG4uY29sdW1ucy1sYXlvdXQgLnJvdyAuY29sdW1ucy5jb2x1bW5zLWludHJvIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuY29sdW1ucy1sYXlvdXQgLnJvdyAuY29sdW1ucy5jb2x1bW5zLWludHJvIHsgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5jb2x1bW5zLWxheW91dCAucm93IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMy41cmVtOyBwYWRkaW5nLWxlZnQ6IDMuNXJlbTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb2x1bW5zLWxheW91dCAucm93IC5jb2x1bW5zIGltZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IGhlaWdodDogYXV0bzsgfVxuXG4uY29sdW1ucy1sYXlvdXQgLnJvdyAuY29sdW1ucyBpbWcucmVndWxhciB7IHdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW5zLWxheW91dCAucm93IC5jb2x1bW5zIGltZy5zbWFsbCB7IHdpZHRoOiAxNTBweDsgfVxuXG4uY29sdW1ucy1sYXlvdXQgLnJvdyAuY29sdW1ucyBoMyB7IG1hcmdpbjogMCAwIDEwcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmNvbHVtbnMtbGF5b3V0IC5yb3cgLmNvbHVtbnMgcCB7IG1hcmdpbjogMCAwIDEuMjVlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgLmNvbHVtbnMtbGF5b3V0IC5yb3cgLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmNvbHVtbnMtbGF5b3V0IC5yb3cgLmNvbHVtbnMgeyBtYXJnaW4tYm90dG9tOiA1MHB4OyBwYWRkaW5nLXJpZ2h0OiAyZW07IHBhZGRpbmctbGVmdDogMmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5jb2x1bW5zLWxheW91dCAucm93LmNvbHVtbnMtcm93IHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuY29sdW1ucy1sYXlvdXQgLnJvdy5jb2x1bW5zLXJvdyB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5jb2x1bW5zLWxheW91dC1iYXNpYyAuY29sdW1ucyBpbWcgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBoZWlnaHQ6IGF1dG87IH1cblxuLmNvbHVtbnMtbGF5b3V0LWJhc2ljIC5jb2x1bW5zIGltZy5yZWd1bGFyIHsgd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbnMtbGF5b3V0LWJhc2ljIC5jb2x1bW5zIGltZy5zbWFsbCB7IHdpZHRoOiAxNTBweDsgfVxuXG4uY29sdW1ucy1sYXlvdXQtYmFzaWMgLmNvbHVtbnMgaDMgeyBtYXJnaW46IDAgMCAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbHVtbnMtbGF5b3V0LWJhc2ljIC5jb2x1bW5zIHAgeyBtYXJnaW46IDAgMCAxLjI1ZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5jb2x1bW5zLWxheW91dC1iYXNpYyAuY29sdW1ucyB7IG1hcmdpbi1ib3R0b206IDUwcHg7IHBhZGRpbmctcmlnaHQ6IDJlbTsgcGFkZGluZy1sZWZ0OiAyZW07IH0gfVxuXG4uY29sdW1ucy1sYXlvdXQtYmFzaWMgLmJ0bi13cmFwIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAuY29sdW1ucy1sYXlvdXQtYmFzaWMgLnJvdy5jb2x1bW5zLXJvdyB7IHBhZGRpbmctbGVmdDogMmVtOyBwYWRkaW5nLXJpZ2h0OiAyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmNvbHVtbnMtbGF5b3V0LWJhc2ljIC5yb3cuY29sdW1ucy1yb3cgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uY29sdW1ucy1sYXlvdXQtbG9jYXRpb25zIGgyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDA7IH1cblxuLmNvbHVtbnMtbGF5b3V0LWxvY2F0aW9ucyAuY29sdW1ucy5jb2x1bW5zLWludHJvIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuY29sdW1ucy1sYXlvdXQtbG9jYXRpb25zIC5jb2x1bW5zLmNvbHVtbnMtaW50cm8geyBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmNvbHVtbnMtbGF5b3V0LWxvY2F0aW9ucyAucm93IC5jb2x1bW5zIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY29sdW1ucy1sYXlvdXQtbG9jYXRpb25zIC5yb3cgLmNvbHVtbnMgLm1hcCwgLmNvbHVtbnMtbGF5b3V0LWxvY2F0aW9ucyAucm93IC5jb2x1bW5zIC5pbWFnZS1tYXAgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAyNTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uY29sdW1ucy1sYXlvdXQtbG9jYXRpb25zIC5yb3cgLmNvbHVtbnMgLm1hcCBpbWcsIC5jb2x1bW5zLWxheW91dC1sb2NhdGlvbnMgLnJvdyAuY29sdW1ucyAuaW1hZ2UtbWFwIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblxuLmNvbHVtbnMtbGF5b3V0LWxvY2F0aW9ucyAucm93IC5jb2x1bW5zIC5tYXAgaWZyYW1lIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuY29sdW1ucy1sYXlvdXQtbG9jYXRpb25zIC5yb3cgLmNvbHVtbnMgLm1hcCBpZnJhbWUgeyB3aWR0aDogMTAwJTsgfSB9XG5cbi5jb2x1bW5zLWxheW91dC1sb2NhdGlvbnMgLnJvdyAuY29sdW1ucyBpbWcgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb2x1bW5zLWxheW91dC1sb2NhdGlvbnMgLnJvdyAuY29sdW1ucyBoMyB7IG1hcmdpbjogMCAwIDEwcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmNvbHVtbnMtbGF5b3V0LWxvY2F0aW9ucyAucm93IC5jb2x1bW5zIHAgeyBtYXJnaW46IDAgMCAxLjI1ZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5jb2x1bW5zLWxheW91dC1sb2NhdGlvbnMgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuLnNlY3Rpb24taGlnaGxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogIzA4NGM2MTsgfVxuXG4uc2VjdGlvbi1oaWdobGlnaHQgLnJvdyB7IHBhZGRpbmc6IDJlbSAwOyB9XG5cbi5zZWN0aW9uLWhpZ2hsaWdodCAuY29sdW1ucyB7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7IHBhZGRpbmctbGVmdDogMmVtOyBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cblxuLnNlY3Rpb24taGlnaGxpZ2h0IC5jb2x1bW5zIGgyIHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uc2VjdGlvbi1oaWdobGlnaHQgLmNvbHVtbnMgcCB7IGZvbnQtc2l6ZTogMjRweDsgbGluZS1oZWlnaHQ6IDMycHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi1ib3R0b206IDI0cHg7IH1cblxuLnNlY3Rpb24taGlnaGxpZ2h0IC5jb2x1bW5zIC5idG4tZGVmYXVsdC5idG4td2hpdGUgeyBjb2xvcjogI2ZmOTUwMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZWN0aW9uLWhpZ2hsaWdodCAuY29sdW1ucyAuYnRuLWRlZmF1bHQuYnRuLXdoaXRlOmhvdmVyIHsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5zZWN0aW9uLWhpZ2hsaWdodCAuY29sdW1ucyB7IHBhZGRpbmctbGVmdDogMmVtOyBwYWRkaW5nLXJpZ2h0OiAyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLnJvdy53eXNpd3lnIHsgbWF4LXdpZHRoOiBub25lOyB3aWR0aDogMTAwJTsgfSB9XG5cbi5yb3cud3lzaXd5ZyAuY29sdW1ucyBoMiB7IGZvbnQtc2l6ZTogMjhweDsgbGluZS1oZWlnaHQ6IDMwcHg7IG1hcmdpbi1ib3R0b206IDE0cHg7IH1cblxuLnJvdy53eXNpd3lnIC5jb2x1bW5zIHAgeyBtYXJnaW4tdG9wOiAxNHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAucm93Lnd5c2l3eWcgLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuLnJvdy5pbWFnZS10ZXh0LXJvdyB7IG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4ucm93LmltYWdlLXRleHQtcm93IC5jb2x1bW5zIGgyIHsgZm9udC1zaXplOiAyOHB4OyBsaW5lLWhlaWdodDogMzBweDsgbWFyZ2luOiAxZW0gMDsgfVxuXG4ucm93LmltYWdlLXRleHQtcm93IC5jb2x1bW5zIHA6Zmlyc3Qtb2YtdHlwZSB7IG1hcmdpbi10b3A6IDA7IH1cblxuLnJvdy5pbWFnZS10ZXh0LXJvdyAuY29sdW1ucyBhIHsgY29sb3I6ICNmZjk1MDA7IH1cblxuLnJvdy5pbWFnZS10ZXh0LXJvdyAuY29sdW1ucyBhOmhvdmVyIHsgY29sb3I6ICMzMzMzMzM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5yb3cuaW1hZ2UtdGV4dC1yb3cgLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDE7IHBhZGRpbmc6IDEuNWVtIDAgMDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgLmNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIC53cmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgLnNpdGUtbmF2aWdhdGlvbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxNDBweDsgei1pbmRleDogMTsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgLnNpdGUtbmF2aWdhdGlvbiAuc2l0ZS1icmFuZGluZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciAuc2l0ZS1uYXZpZ2F0aW9uICNuYXZsb2dvIHsgd2lkdGg6IDkwcHg7IGhlaWdodDogOTBweDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2IHVsIHsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLWxlZnQ6IDA7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdiB1bCBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbGlzdC1zdHlsZS10eXBlOiBub25lOyBwYWRkaW5nOiAwIDAuNzVlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYgdWwgbGkgYSB7IGNvbG9yOiAjMDg0YzYxOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiA2MDA7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYgdWwgbGkgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICNmZjk1MDA7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdiB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLCBoZWFkZXIuc2l0ZS1oZWFkZXIgbmF2IHVsIGxpLmN1cnJlbnRfcGFnZV9pdGVtIGEgeyBjb2xvcjogI2ZmOTUwMDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnByaW1hcnktbmF2aWdhdGlvbiB1bCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIHVsIGxpIHsgcGFkZGluZy10b3A6IDIwcHg7IHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIHVsIGxpOmxhc3Qtb2YtdHlwZSB7IHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IHsgZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDcwcHg7IHotaW5kZXg6IDExOyBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyBtaW4td2lkdGg6IDMwMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IHBhZGRpbmctdG9wOiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaTpsYXN0LW9mLXR5cGUgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICNmZjk1MDA7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLCBoZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGEgeyBjb2xvcjogI2ZmOTUwMDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IHsgZGlzcGxheTogYmxvY2s7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaSB7IGZvbnQtc2l6ZTogMTZweDsgcGFkZGluZy10b3A6IDIwcHg7IHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwgbGkgYSB7IGNvbG9yOiAjMzMzMzMzOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwgbGkuYnRuLWRlZmF1bHQgeyBwYWRkaW5nOiA0cHggMTJweDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpLmJ0bi1kZWZhdWx0IGEgeyBjb2xvcjogI2ZmOTUwMDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpLmJ0bi1kZWZhdWx0OmhvdmVyIGEgeyBjb2xvcjogI2ZmZjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwgbGkubWVudS1zZWFyY2gtYmFyIHsgcGFkZGluZzogMDsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpLm1lbnUtc2VhcmNoLWJhciBhIHsgcG9zaXRpb246IHJlbGF0aXZlOyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaS5tZW51LXNlYXJjaC1iYXI6aG92ZXIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaS5tZW51LXNlYXJjaC1iYXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjAwMic7IGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsgZm9udC1zaXplOiAyNnB4OyBmb250LXdlaWdodDogNDAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwgbGk6aG92ZXIgYSB7IGNvbG9yOiAjZmY5NTAwOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gYSwgaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHsgY29sb3I6ICNmZjk1MDA7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IHsgZGlzcGxheTogYmxvY2s7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IGxpIGEgeyBjb2xvcjogIzMzMzMzMzsgfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgeyBkaXNwbGF5OiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogNjBweDsgei1pbmRleDogMTE7IG1pbi13aWR0aDogMjUwcHg7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IGxpIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyBwYWRkaW5nLXRvcDogMTBweDsgcGFkZGluZy1ib3R0b206IDEwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaTpsYXN0LW9mLXR5cGUgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaSBhIHsgZGlzcGxheTogYmxvY2s7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IGxpIGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjZmY5NTAwOyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLCBoZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkuY3VycmVudF9wYWdlX2l0ZW0gYSB7IGNvbG9yOiAjZmY5NTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkgeyBoZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnByaW1hcnktbmF2aWdhdGlvbiB1bCBsaSB7IGZvbnQtc2l6ZTogMTdweDsgcGFkZGluZzogMjBweCA2cHg7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaSB7IGZvbnQtc2l6ZTogMTdweDsgcGFkZGluZzogMjBweCA4cHg7IH0gfVxuXG5oZWFkZXIuc2l0ZS1oZWFkZXIgZGl2LnNpdGUtbmF2aWdhdGlvbi1jb250cm9sIHsgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHsgaGVhZGVyLnNpdGUtaGVhZGVyIHsgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyIC53cmFwcGVyIHsgbWF4LXdpZHRoOiBub25lOyB3aWR0aDogMTAwJTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgLnNpdGUtbmF2aWdhdGlvbiB7IGhlaWdodDogYXV0bzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgLnNpdGUtbmF2aWdhdGlvbiAuc2l0ZS1icmFuZGluZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMmVtOyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAubWVudS1zY3JlZW4tcmVhZGVyLXRleHQgeyBkaXNwbGF5OiBub25lOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciBkaXYuc2l0ZS1uYXZpZ2F0aW9uLWNvbnRyb2wgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxvYXQ6IHJpZ2h0OyB6LWluZGV4OiAxMTsgcmlnaHQ6IDJlbTsgdG9wOiAyMHB4OyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjc2l0ZS1uYXZpZ2F0aW9uLXRvZ2dsZSB7IGNvbG9yOiAjOTk5OyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjc2l0ZS1uYXZpZ2F0aW9uLXRvZ2dsZTpob3ZlciB7IGNvbG9yOiAjMDg0YzYxOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAuYnVyZ2VyLW1lbnUgeyBmb250LXNpemU6IDM2cHg7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyIC5tb2JpbGUtc2VhcmNoLWJhciB7IGZvbnQtc2l6ZTogMzZweDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyBjb2xvcjogIzk5OTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgLm1vYmlsZS1zZWFyY2gtYmFyOmhvdmVyIHsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogIzA4NGM2MTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2IHVsIHsgdGV4dC1hbGlnbjogbGVmdDsgZmxvYXQ6IG5vbmU7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdiB1bCBsaSB7IGRpc3BsYXk6IGJsb2NrOyBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gdWwgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIHVsIGxpIHsgbWFyZ2luOiAwOyBwYWRkaW5nLXRvcDogMDsgcGFkZGluZy1ib3R0b206IDA7IGZvbnQtc2l6ZTogMThweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiB1bCBsaSBhIHsgcGFkZGluZzogMTBweCA1JTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiB1bCBsaTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gdWwgbGk6aG92ZXIgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICMzMzMzMzM7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gYSwgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gdWwgbGkuY3VycmVudF9wYWdlX2l0ZW0gYSB7IGNvbG9yOiAjZmY5NTAwOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4geyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwOyBib3JkZXI6IG5vbmU7IG1pbi13aWR0aDogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IGxpIHsgZm9udC1zaXplOiAxOHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkgYSB7IHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwJTsgY29sb3I6ICMzMzMzMzM7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaTpsYXN0LW9mLXR5cGUgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYucHJpbWFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0gYSwgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHsgY29sb3I6ICNmZjk1MDA7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5wcmltYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTRweDsgcmlnaHQ6IDUlOyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvaW1nL2Fycm93X3JpZ2h0X2JsdWUtb3B0LnN2Z1wiKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IHRyYW5zaXRpb246IC41czsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IHsgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyOmFmdGVyIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvaW1nL2Fycm93X3JpZ2h0X2dyZXktb3B0LnN2Z1wiKTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLnN1Yi1vcGVuIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLnN1Yi1vcGVuIGEgeyBjb2xvcjogIzMzMzMzMzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnByaW1hcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLnN1Yi1vcGVuOmFmdGVyIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24geyBtYXJnaW4tdG9wOiAwOyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpLmJ0bi1kZWZhdWx0Lm1vYmlsZS1oaWRlLCBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpLm1lbnUtc2VhcmNoLWJhci5tb2JpbGUtaGlkZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaSBhIHsgY29sb3I6ICMwODRjNjE7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaSB7IG1hcmdpbjogMDsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyBmb250LXNpemU6IDE4cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5OyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaSBhIHsgcGFkZGluZzogMTBweCA1JTsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIHVsIGxpOmhvdmVyIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjMzMzMzMzOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gYSwgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHsgY29sb3I6ICNmZjk1MDA7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwOyBib3JkZXI6IG5vbmU7IG1pbi13aWR0aDogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkgeyBmb250LXNpemU6IDE4cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IGxpIGEgeyBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAxMCU7IGNvbG9yOiAjMzMzMzMzOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaTpsYXN0LW9mLXR5cGUgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLCBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgbGkuY3VycmVudF9wYWdlX2l0ZW0gYSB7IGNvbG9yOiAjZmY5NTAwOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTRweDsgcmlnaHQ6IDUlOyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvaW1nL2Fycm93X3JpZ2h0X2JsdWUtb3B0LnN2Z1wiKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IHRyYW5zaXRpb246IC41czsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgdWwuc3ViLW1lbnUgeyBkaXNwbGF5OiBub25lOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlcjphZnRlciB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltZy9hcnJvd19yaWdodF9ncmV5LW9wdC5zdmdcIik7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLnN1Yi1vcGVuIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uc3ViLW9wZW4gYSB7IGNvbG9yOiAjMzMzMzMzOyB9XG4gIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5zdWItb3BlbjphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfSB9XG5cbi5tb2JpbGUtc2VhcmNoIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ubW9iaWxlLXNlYXJjaCBmb3JtLnNlYXJjaC1mb3JtIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tb2JpbGUtc2VhcmNoIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tb2JpbGUtc2VhcmNoIC5zY3JlZW4tcmVhZGVyLXRleHQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5tb2JpbGUtc2VhcmNoLnNob3ctc2VhcmNoIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wYWdlLWhlYWRlciwgLmVudHJ5LWhlYWRlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7IH1cblxuLnBhZ2UtaGVhZGVyIC5jb250YWluZXIsIC5lbnRyeS1oZWFkZXIgLmNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhZ2UtaGVhZGVyIC5jb250YWluZXIgLnJvdywgLmVudHJ5LWhlYWRlciAuY29udGFpbmVyIC5yb3cgeyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYWdlLWhlYWRlciAucm93LXRpdGxlLCAuZW50cnktaGVhZGVyIC5yb3ctdGl0bGUgeyBwYWRkaW5nOiAxZW0gMDsgfVxuXG4ucGFnZS1oZWFkZXIgLnJvdy10aXRsZSBoMSwgLmVudHJ5LWhlYWRlciAucm93LXRpdGxlIGgxIHsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5wYWdlLWhlYWRlciAucm93LXRpdGxlIC5jb2x1bW5zLCAuZW50cnktaGVhZGVyIC5yb3ctdGl0bGUgLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuI3BhZ2UgLnNpdGUtY29udGVudCBhcnRpY2xlIHsgcGFkZGluZzogM2VtIDA7IH1cblxuLnNpbmdsZS1wb3N0ICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSB7IHBhZGRpbmc6IDA7IH1cblxuLnNpbmdsZS1wb3N0ICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSAuY29udGFpbmVyIHsgcGFkZGluZzogM2VtIDAgMDsgfVxuXG4uc2luZ2xlLXBvc3QgaW1nLnBvc3QtZmVhdHVyZWQtaW1nIHsgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbi5zaW5nbGUtcG9zdCAuYmxvZy1ieWxpbmUgeyBkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW46IDAuMjVlbSAwOyB9XG5cbi5zaW5nbGUtcG9zdCAuYmxvZy1ieWxpbmUuYXV0aG9yIHsgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbi5zaW5nbGUtcG9zdCAuZW50cnktaGVhZGVyIHsgY29sb3I6ICNmZjk1MDA7IH1cblxuLnNpbmdsZS1wb3N0IC5lbnRyeS1oZWFkZXIgLnJvdy5yb3ctdGl0bGUgeyBwYWRkaW5nLXRvcDogMjBweDsgcGFkZGluZy1ib3R0b206IDU2cHg7IH1cblxuLnNpbmdsZS1wb3N0IC5lbnRyeS1oZWFkZXIgaDEgeyBtYXJnaW46IDI4cHggMCAwOyB9XG5cbi5zaW5nbGUtcG9zdCAuZW50cnktaGVhZGVyIGEgeyBjb2xvcjogIzA4NGM2MTsgbWFyZ2luLWxlZnQ6IDEwcHg7IG1hcmdpbi10b3A6IDEwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2luZ2xlLXBvc3QgLmVudHJ5LWhlYWRlciBhOmZpcnN0LW9mLXR5cGUgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgLnNpbmdsZS1wb3N0IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfSB9XG5cbi5ibG9nIC5pbm5lci1yb3csIC5hcmNoaXZlIC5pbm5lci1yb3cgeyBwYWRkaW5nOiAwIDJlbTsgfVxuXG4uYmxvZyAuYXJjaGl2ZS13cmFwLCAuYmxvZyAuc2lkZWJhci13cmFwLCAuYXJjaGl2ZSAuYXJjaGl2ZS13cmFwLCAuYXJjaGl2ZSAuc2lkZWJhci13cmFwIHsgcGFkZGluZzogNGVtIDA7IH1cblxuLmJsb2cgLmVudHJ5LWhlYWRlciwgLmFyY2hpdmUgLmVudHJ5LWhlYWRlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJsb2cgLmVudHJ5LWhlYWRlciBoMiwgLmFyY2hpdmUgLmVudHJ5LWhlYWRlciBoMiB7IG1hcmdpbjogMTBweCAwIDA7IH1cblxuLmJsb2cgLmVudHJ5LWhlYWRlciBhLCAuYXJjaGl2ZSAuZW50cnktaGVhZGVyIGEgeyBjb2xvcjogIzMzMzMzMzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5ibG9nIC5lbnRyeS1oZWFkZXIgYTpob3ZlciwgLmFyY2hpdmUgLmVudHJ5LWhlYWRlciBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmJsb2cgI3BhZ2UgLnNpdGUtY29udGVudCBhcnRpY2xlLCAuYXJjaGl2ZSAjcGFnZSAuc2l0ZS1jb250ZW50IGFydGljbGUgeyBwYWRkaW5nOiAxMHB4IDA7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLmJsb2cgI3BhZ2UgLnNpdGUtY29udGVudCBhcnRpY2xlIC5jb250YWluZXIsIC5hcmNoaXZlICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSAuY29udGFpbmVyIHsgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5ibG9nICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSAuY29udGFpbmVyIC5lbnRyeS1jb250ZW50IHAsIC5hcmNoaXZlICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSAuY29udGFpbmVyIC5lbnRyeS1jb250ZW50IHAgeyBtYXJnaW46IDA7IH1cblxuLmJsb2cgI3BhZ2UgLnNpdGUtY29udGVudCBhcnRpY2xlIC5jb250YWluZXIgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgaW1nLCAuYXJjaGl2ZSAjcGFnZSAuc2l0ZS1jb250ZW50IGFydGljbGUgLmNvbnRhaW5lciAuYmxvZy1mZWF0dXJlZC1pbWFnZSBpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuYmxvZyAjcGFnZSAuc2l0ZS1jb250ZW50IGFydGljbGUgLmNvbnRhaW5lciAuYmxvZy1mZWF0dXJlZC1pbWFnZSBpbWcsIC5hcmNoaXZlICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSAuY29udGFpbmVyIC5ibG9nLWZlYXR1cmVkLWltYWdlIGltZyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IHdpZHRoOiAxNTBweDsgaGVpZ2h0OiAxNTBweDsgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLmJsb2cgLmJsb2ctYnlsaW5lLCAuYXJjaGl2ZSAuYmxvZy1ieWxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMThweDsgbWFyZ2luOiAwOyB9XG5cbi5ibG9nIC5zaWRlYmFyLXdyYXAgeyBwYWRkaW5nOiA0ZW0gMDsgfVxuXG4uYmxvZyAuc2lkZWJhci13cmFwIGgyIHsgbWFyZ2luOiAxMHB4IDAgMDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyBwYWRkaW5nOiAyZW0gMDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLmNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgeyB3aWR0aDogOTAlOyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cuZm9vdGVyLXJvdyB7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgI2Zvb3Rlci1sb2dvIHsgd2lkdGg6IDcwcHg7IGhlaWdodDogNzBweDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLnJvdyBoNCB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IGZvb3Rlci5zaXRlLWZvb3RlciAucm93IGg0IHsgbWFyZ2luOiAwLjVlbSAwOyB9IH1cblxuZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgdWwgbGkgeyBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAucm93IHVsIGxpIGEgeyBjb2xvcjogIzA4NGM2MTsgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAucm93IHVsIGxpIGE6aG92ZXIgeyBjb2xvcjogIzMzMzMzMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgdWwgeyBtYXJnaW46IDAgMCAwLjVlbTsgfSB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAucm93IHVsLmZvb3Rlci1zb2NpYWwgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLnJvdyB1bC5mb290ZXItc29jaWFsIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDAgMTJweDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLnJvdyB1bC5mb290ZXItc29jaWFsIGxpOmZpcnN0LW9mLXR5cGUgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLnJvdyB1bC5mb290ZXItc29jaWFsIGxpIGE6aG92ZXIgeyBjb2xvcjogIzMzMzMzMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgdWwuZm9vdGVyLXNvY2lhbCBsaSBhIHsgZm9udC1zaXplOiAzMHB4OyBsaW5lLWhlaWdodDogMzZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyBmb290ZXIuc2l0ZS1mb290ZXIgLnJvdyB1bC5mb290ZXItc29jaWFsIHsgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IGZvb3Rlci5zaXRlLWZvb3RlciAucm93IHsgd2lkdGg6IDEwMCU7IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIC5yb3cgLmNvbHVtbnMgeyBwYWRkaW5nOiAwIDJlbTsgfSB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ29zIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ29zIC5mb290ZXItbG9nb3MtaW1nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDAgMTZweDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLmZvb3Rlci1sb2dvcyAuZm9vdGVyLWxvZ29zLWltZyBpbWcgeyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiA0MHB4OyB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgZm9vdGVyLnNpdGUtZm9vdGVyIC5mb290ZXItbG9nb3MgLmZvb3Rlci1sb2dvcy1pbWcgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG8gMTZweDsgfVxuICBmb290ZXIuc2l0ZS1mb290ZXIgLmZvb3Rlci1sb2dvcyAuZm9vdGVyLWxvZ29zLWltZyBpbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIC5mb290ZXItbG9nb3MgLmZvb3Rlci1sb2dvcy1pbWc6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgcCB7IGZvbnQtd2VpZ2h0OiA1MDA7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDsgZm9udC1zaXplOiAxOHB4OyB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCB1bCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1sZWZ0OiAwOyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCB1bCBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tbGVmdDogMTZweDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgdWwgbGk6YmVmb3JlIHsgY29udGVudDogJ3wnOyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IGZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IHAsIGZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCB1bCwgZm9vdGVyLnNpdGUtZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IHVsIGxpIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IHVsIGxpIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IHVsIGxpOmJlZm9yZSB7IGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4uY3RhIHsgd2lkdGg6IDEwMCU7IG1hcmdpbi10b3A6IDNlbTsgfVxuXG4uY3RhIC5yb3cgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiBub25lOyBtaW4taGVpZ2h0OiAyMDBweDsgfVxuXG4uY3RhIC5yb3cgLmNvbHVtbnMgeyBwYWRkaW5nLXRvcDogMS4yNWVtOyBwYWRkaW5nLWJvdHRvbTogMS4yNWVtOyBjb2xvcjogI2ZmZjsgfVxuXG4uY3RhIC5yb3cgLmNvbHVtbnMgaDMgeyBtYXJnaW46IDA7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMzRweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmN0YSAucm93IC5jb2x1bW5zIGgzIHsgZm9udC1zaXplOiAzMHB4OyBsaW5lLWhlaWdodDogMzhweDsgfSB9XG5cbi5jdGEgLnJvdyAuY29sdW1ucyBwIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmN0YSAucm93IC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAuY3RhIC5yb3cgLmNvbHVtbnMgcCB7IG1hcmdpbjogMC41ZW0gMDsgfSB9XG5cbi5jdGEgLmxlZnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5NTAwOyB9XG5cbi5jdGEgLmxlZnQgLnJvdy1pbm5lciB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDV2dzsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY3RhIC5sZWZ0IC5yb3ctaW5uZXIgLmxlZnQtaW5uZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgcGFkZGluZy1yaWdodDogMS4yNWVtOyB9XG5cbi5jdGEgLmxlZnQgLnJvdy1pbm5lciAubGVmdC1pbm5lciBhIHsgY29sb3I6ICMwODRjNjE7IH1cblxuLmN0YSAubGVmdCAucm93LWlubmVyIC5sZWZ0LWlubmVyIGE6aG92ZXIgeyBjb2xvcjogIzMzMzMzMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmN0YSAubGVmdCAucm93LWlubmVyIC5sZWZ0LWlubmVyIHsgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAuY3RhIC5sZWZ0IHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAuY3RhIC5sZWZ0IC5yb3ctaW5uZXIgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmN0YSAubGVmdCAucm93LWlubmVyIC5sZWZ0LWlubmVyIHsgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5jdGEgLnJpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogIzA4NGM2MTsgfVxuXG4uY3RhIC5yaWdodCAucm93LWlubmVyLXJpZ2h0IHsgd2lkdGg6IDEwMCU7IHBhZGRpbmctcmlnaHQ6IDV2dzsgfVxuXG4uY3RhIC5yaWdodCAucmlnaHQtaW5uZXIgeyBwYWRkaW5nLWxlZnQ6IDEuMjVlbTsgfVxuXG4uY3RhIC5yaWdodCAucmlnaHQtaW5uZXIgYSB7IGNvbG9yOiAjZmY5NTAwOyB9XG5cbi5jdGEgLnJpZ2h0IC5yaWdodC1pbm5lciBhOmhvdmVyIHsgY29sb3I6ICNjOGQzZDU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5jdGEgLnJpZ2h0IHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAuY3RhIC5yaWdodCAucm93LWlubmVyLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3RhIC5yaWdodCAucmlnaHQtaW5uZXIgeyBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmN0YSB7IG1hcmdpbi10b3A6IDZlbTsgfSB9XG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24geyBtYXJnaW4tdG9wOiAxZW07IH1cblxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbiBoMi5zY3JlZW4tcmVhZGVyLXRleHQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAyMnB4OyBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4ubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgYSwgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIHNwYW4ucGFnZS1udW1iZXJzLmRvdHMsIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyBzcGFuLnBhZ2UtbnVtYmVycy5jdXJyZW50IHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiA4cHggMTZweDsgY29sb3I6ICMzMzMzMzM7IGZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiAxOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC13ZWJraXQtdHJhbnNpdGlvbjogMC41czsgdHJhbnNpdGlvbjogMC41czsgfVxuXG4ubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3ZlciwgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIHNwYW4ucGFnZS1udW1iZXJzLmRvdHM6aG92ZXIsIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyBzcGFuLnBhZ2UtbnVtYmVycy5jdXJyZW50OmhvdmVyIHsgY29sb3I6ICNmZjk1MDA7IGJvcmRlci1jb2xvcjogI2ZmOTUwMDsgfVxuXG4ubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5uYXYtbGlua3Mgc3Bhbi5wYWdlLW51bWJlcnMuY3VycmVudCB7IGJvcmRlci1jb2xvcjogI2ZmOTUwMDsgY29sb3I6ICNmZjk1MDA7IH1cblxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIC5wcmV2IHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cblxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIC5wcmV2OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTJweDsgbGVmdDogNnB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvaW1nL2Fycm93X2xlZnRfZ3JleS1vcHQuc3ZnXCIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgdHJhbnNpdGlvbjogLjVzOyB9XG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyAucHJldjpob3ZlcjpiZWZvcmUgeyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyB0b3A6IDEycHg7IGxlZnQ6IDZweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltZy9hcnJvd19sZWZ0X29yYW5nZS1vcHQuc3ZnXCIpOyB9XG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyAubmV4dCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4ubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgLm5leHQ6YWZ0ZXIgeyBjb250ZW50OiAnJzsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEycHg7IHJpZ2h0OiA2cHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWcvYXJyb3dfcmlnaHRfZ3JleS1vcHQuc3ZnXCIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgdHJhbnNpdGlvbjogLjVzOyB9XG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyAubmV4dDpob3ZlcjphZnRlciB7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IHRvcDogMTJweDsgcmlnaHQ6IDZweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltZy9hcnJvd19yaWdodF9vcmFuZ2Utb3B0LnN2Z1wiKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIHsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjBweDsgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgLnByZXYgeyBwYWRkaW5nLWxlZnQ6IDIycHg7IH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIC5wcmV2OmJlZm9yZSB7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IHRvcDogMTFweDsgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgLnByZXY6aG92ZXI6YmVmb3JlIHsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgdG9wOiAxMXB4OyB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyAubmV4dCB7IHBhZGRpbmctcmlnaHQ6IDIycHg7IH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAubmF2LWxpbmtzIC5uZXh0OmFmdGVyIHsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgdG9wOiAxMXB4OyB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLm5hdi1saW5rcyAubmV4dDpob3ZlcjphZnRlciB7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IHRvcDogMTFweDsgfSB9XG5cbi5wb3N0LW5hdmlnYXRpb24geyBtYXJnaW4tdG9wOiAzZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5wb3N0LW5hdmlnYXRpb24geyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHNwYW4ucHJldmlvdXMubGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi5wb3N0LW5hdmlnYXRpb24gc3Bhbi5wcmV2aW91cy5sZWZ0IGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IGJvcmRlcjogMnB4IHNvbGlkICNmZjk1MDA7IHBhZGRpbmc6IDZweCAyMHB4IDZweCAzMHB4OyBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnBvc3QtbmF2aWdhdGlvbiBzcGFuLnByZXZpb3VzLmxlZnQgYTpiZWZvcmUgeyBjb250ZW50OiAnJzsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1cHg7IGxlZnQ6IDEwcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWcvYXJyb3dfbGVmdF9vcmFuZ2Utb3B0LnN2Z1wiKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IHRyYW5zaXRpb246IC41czsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHNwYW4ucHJldmlvdXMubGVmdCBhOmhvdmVyIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7IH1cblxuLnBvc3QtbmF2aWdhdGlvbiBzcGFuLnByZXZpb3VzLmxlZnQgYTpob3ZlcjpiZWZvcmUgeyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyB0b3A6IDE1cHg7IGxlZnQ6IDEwcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWcvYXJyb3dfbGVmdF93aGl0ZS1vcHQuc3ZnXCIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAucG9zdC1uYXZpZ2F0aW9uIHNwYW4ucHJldmlvdXMubGVmdCBhOmJlZm9yZSB7IHRvcDogMTJweDsgfVxuICAucG9zdC1uYXZpZ2F0aW9uIHNwYW4ucHJldmlvdXMubGVmdCBhOmJlZm9yZTpob3ZlcjpiZWZvcmUgeyB0b3A6IDEycHg7IH0gfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHNwYW4ubmV4dC5yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHNwYW4ubmV4dC5yaWdodCBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXI6IDJweCBzb2xpZCAjZmY5NTAwOyBwYWRkaW5nOiA2cHggMzBweCA2cHggMjBweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5wb3N0LW5hdmlnYXRpb24gc3Bhbi5uZXh0LnJpZ2h0IGE6YWZ0ZXIgeyBjb250ZW50OiAnJzsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1cHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvaW1nL2Fycm93X3JpZ2h0X29yYW5nZS1vcHQuc3ZnXCIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgdHJhbnNpdGlvbjogLjVzOyB9XG5cbi5wb3N0LW5hdmlnYXRpb24gc3Bhbi5uZXh0LnJpZ2h0IGE6aG92ZXIgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHNwYW4ubmV4dC5yaWdodCBhOmhvdmVyOmFmdGVyIHsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgdG9wOiAxNXB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltZy9hcnJvd19yaWdodF93aGl0ZS1vcHQuc3ZnXCIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAucG9zdC1uYXZpZ2F0aW9uIHNwYW4ubmV4dC5yaWdodCBhOmFmdGVyIHsgdG9wOiAxMnB4OyB9XG4gIC5wb3N0LW5hdmlnYXRpb24gc3Bhbi5uZXh0LnJpZ2h0IGE6YWZ0ZXI6aG92ZXI6YWZ0ZXIgeyB0b3A6IDEycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLnBvc3QtbmF2aWdhdGlvbiBzcGFuLnByZXZpb3VzLmxlZnQsIC5wb3N0LW5hdmlnYXRpb24gc3Bhbi5uZXh0LnJpZ2h0IHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucG9zdC1uYXZpZ2F0aW9uIHNwYW4ucHJldmlvdXMubGVmdCB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4uc2luZ2xlLXNoci1sZWFkZXJzaGlwIC5vcmFuZ2Utd3JhcHBlciB7IGhlaWdodDogMTU0cHg7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5NTAwOyB9XG5cbi5zaW5nbGUtc2hyLWxlYWRlcnNoaXAgLmVudHJ5LWhlYWRlciB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zaW5nbGUtc2hyLWxlYWRlcnNoaXAgLmxlYWRlcnNoaXAtYmlvIC50ZWFtLXRpdGxlIHsgbWFyZ2luOiAwOyBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zaW5nbGUtc2hyLWxlYWRlcnNoaXAgLmxlYWRlcnNoaXAtYmlvIC50ZWFtLXN1YnRpdGxlIHsgbWFyZ2luLXRvcDogMDsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uc2luZ2xlLXNoci1sZWFkZXJzaGlwIC5sZWFkZXJzaGlwLWJpbyAuZW50cnktY29udGVudCB7IG1hcmdpbi1ib3R0b206IDNlbTsgfVxuXG4uc2luZ2xlLXNoci1sZWFkZXJzaGlwIC5sZWFkZXJzaGlwLXBpYyAudGVhbS1waWMgeyBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICMwODRjNjE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5zaW5nbGUtc2hyLWxlYWRlcnNoaXAgLmxlYWRlcnNoaXAtcGljIHsgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5zaW5nbGUtc2hyLWxlYWRlcnNoaXAgLmNvbHVtbnMuc21hbGwtMTIgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gIC5zaW5nbGUtc2hyLWxlYWRlcnNoaXAgLmNvbHVtbnMuc21hbGwtMTIgLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIC5yb3cubGVhZGVyc2hpcC1pbnRybyB7IG1hcmdpbi1ib3R0b206IDNlbTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGFydGljbGUgLmNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSBhIC50ZWFtLWluZm8geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDg0YzYxOyBwYWRkaW5nOiAxNnB4IDIwcHg7IG1pbi1oZWlnaHQ6IDE1MnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGEgLnRlYW0taW5mbyB7IG1pbi1oZWlnaHQ6IG5vbmU7IGhlaWdodDogYXV0bzsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXNoci1sZWFkZXJzaGlwLWFyY2hpdmUgYSAudGVhbS1pbmZvIGgyIHsgbWFyZ2luOiAwIDAgNnB4OyBmb250LXNpemU6IDI2cHg7IGxpbmUtaGVpZ2h0OiAzMnB4OyBmb250LXdlaWdodDogNDAwOyBjb2xvcjogI2ZmZjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXNoci1sZWFkZXJzaGlwLWFyY2hpdmUgYSAudGVhbS1pbmZvIHAgeyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW46IDAgMCAxMHB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMjRweDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGE6aG92ZXIgLnRlYW0taW5mbyB7IGJhY2tncm91bmQtY29sb3I6ICNjOGQzZDU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSBhOmhvdmVyIC50ZWFtLWluZm8gaDIgeyBjb2xvcjogIzMzMzMzMzsgfVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGE6aG92ZXIgLnRlYW0taW5mbyBwIHsgY29sb3I6ICMzMzMzMzM7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSBhIGltZy50ZWFtLXBpYyB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXNoci1sZWFkZXJzaGlwLWFyY2hpdmUgLnJvdyB7IG1heC13aWR0aDogbm9uZTsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSAucm93LnJvdy1sZWFkZXJzaGlwIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIC5yb3cucm93LWxlYWRlcnNoaXAgLmNvbHVtbnMgeyBtYXJnaW4tYm90dG9tOiAxZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSAucm93LnJvdy1sZWFkZXJzaGlwIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXNoci1sZWFkZXJzaGlwLWFyY2hpdmUgLmNvbHVtbnMuc21hbGwtMTIgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXNoci1sZWFkZXJzaGlwLWFyY2hpdmUgYSBpbWcudGVhbS1waWMgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGEgLnRlYW0taW5mbyB7IHBhZGRpbmc6IDEwcHggMThweDsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaHItbGVhZGVyc2hpcC1hcmNoaXZlIGEgLnRlYW0taW5mbyBoMiB7IGZvbnQtc2l6ZTogMjZweDsgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSBhIC50ZWFtLWluZm8gcCB7IGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbmZvcm0uc2VhcmNoLWZvcm0geyBtYXJnaW4tdG9wOiAzNHB4OyB9XG5cbmZvcm0uc2VhcmNoLWZvcm0gLnNjcmVlbi1yZWFkZXItdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuZm9ybSBsYWJlbCB7IHdpZHRoOiA3MCU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5mb3JtIGxhYmVsIC5zZWFyY2gtZmllbGQgeyBib3JkZXItcmFkaXVzOiA1cHg7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLnNlYXJjaC1zdWJtaXQgeyBjb2xvcjogI2ZmOTUwMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IDJweCBzb2xpZCAjZmY5NTAwOyBib3JkZXItcmFkaXVzOiA1cHg7IHBhZGRpbmc6IDZweCAyMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogMDsgdHJhbnNpdGlvbjogMC41czsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgbWFyZ2luLWxlZnQ6IDE0cHg7IH1cblxuLnNlYXJjaC1zdWJtaXQ6aG92ZXIgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgfVxuXG4uaW50cm8tNDA0LmludHJvLWdlbmVyYWwgeyBtYXJnaW4tdG9wOiAzZW07IH1cblxuLmZlYXR1cmVkLWNvbnRlbnQtc2VhcmNoIHsgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uZXJyb3ItNDA0IC5wYWdlLWhlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgLmVycm9yLTQwNCAucGFnZS1jb250ZW50IHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfSB9XG5cbi5zZWFyY2ggLm5vLXJlc3VsdHMubm90LWZvdW5kIC5wYWdlLWNvbnRlbnQsIC5zZWFyY2ggLm5vLXJlc3VsdHMubm90LWZvdW5kIC5mZWF0dXJlZC1jb250ZW50LXNlYXJjaCB7IHBhZGRpbmctbGVmdDogMmVtOyBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cblxuLmVycm9yLTQwNCAucGFnZS1jb250ZW50LCAuc2VhcmNoIC5wYWdlLWNvbnRlbnQgeyBwYWRkaW5nLXRvcDogMmVtOyB9XG5cbi5lcnJvci00MDQgLnJvdy1zZWFyY2gsIC5zZWFyY2ggLnJvdy1zZWFyY2ggeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmVycm9yLTQwNCAucm93LXNlYXJjaCAuaW50cm8tbHJnLmludHJvLWxyZywgLnNlYXJjaCAucm93LXNlYXJjaCAuaW50cm8tbHJnLmludHJvLWxyZyB7IGZvbnQtc2l6ZTogMzBweDsgbGluZS1oZWlnaHQ6IDM0cHg7IG1hcmdpbi1ib3R0b206IDE0cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5lcnJvci00MDQgLnJvdy1zZWFyY2ggLmludHJvLWxyZy5pbnRyby1scmcsIC5zZWFyY2ggLnJvdy1zZWFyY2ggLmludHJvLWxyZy5pbnRyby1scmcgeyBmb250LXNpemU6IDI0cHg7IGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cblxuLmVycm9yLTQwNCAucm93LXNlYXJjaCAuaW50cm8tNDA0LCAuc2VhcmNoIC5yb3ctc2VhcmNoIC5pbnRyby00MDQgeyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBtYXJnaW4tdG9wOiAxNHB4OyBtYXJnaW4tYm90dG9tOiAzNHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuZXJyb3ItNDA0IC5yb3ctc2VhcmNoIC5pbnRyby00MDQsIC5zZWFyY2ggLnJvdy1zZWFyY2ggLmludHJvLTQwNCB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDI0cHg7IH0gfVxuXG4uZXJyb3ItNDA0IC5yb3ctc2VhcmNoIC5zY3JlZW4tcmVhZGVyLXRleHQsIC5zZWFyY2ggLnJvdy1zZWFyY2ggLnNjcmVlbi1yZWFkZXItdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmVycm9yLTQwNCAucm93LXNlYXJjaCBmb3JtLCAuc2VhcmNoIC5yb3ctc2VhcmNoIGZvcm0geyBtYXJnaW4tdG9wOiAzNHB4OyB9XG5cbi5lcnJvci00MDQgLnJvdy1zZWFyY2ggZm9ybSBsYWJlbCwgLnNlYXJjaCAucm93LXNlYXJjaCBmb3JtIGxhYmVsIHsgd2lkdGg6IDcwJTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5lcnJvci00MDQgLnJvdy1zZWFyY2ggZm9ybSBsYWJlbCAuc2VhcmNoLWZpZWxkLCAuc2VhcmNoIC5yb3ctc2VhcmNoIGZvcm0gbGFiZWwgLnNlYXJjaC1maWVsZCB7IGJvcmRlci1yYWRpdXM6IDVweDsgZm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4uZXJyb3ItNDA0IC5yb3ctc2VhcmNoIC5zZWFyY2gtc3VibWl0LCAuc2VhcmNoIC5yb3ctc2VhcmNoIC5zZWFyY2gtc3VibWl0IHsgY29sb3I6ICNmZjk1MDA7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyOiAycHggc29saWQgI2ZmOTUwMDsgYm9yZGVyLXJhZGl1czogNXB4OyBwYWRkaW5nOiA2cHggMjBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDA7IHRyYW5zaXRpb246IDAuNXM7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAwLjAyZW07IG1hcmdpbi1sZWZ0OiAxNHB4OyB9XG5cbi5lcnJvci00MDQgLnJvdy1zZWFyY2ggLnNlYXJjaC1zdWJtaXQ6aG92ZXIsIC5zZWFyY2ggLnJvdy1zZWFyY2ggLnNlYXJjaC1zdWJtaXQ6aG92ZXIgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgfVxuXG4uc2VhcmNoIC5zZWFyY2gtZW50cnktaGVhZGVyIGgyIHsgbWFyZ2luOiAxMHB4IDA7IGZvbnQtc2l6ZTogMzBweDsgbGluZS1oZWlnaHQ6IDMycHg7IH1cblxuLnNlYXJjaCAuc2VhcmNoLWVudHJ5LWhlYWRlciBoMyB7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDIycHg7IG1hcmdpbjogMTBweCAwOyB9XG5cbi5zZWFyY2ggLnNlYXJjaC1lbnRyeS1oZWFkZXIgYSB7IGNvbG9yOiAjMzMzMzMzOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNlYXJjaCAuc2VhcmNoLWVudHJ5LWhlYWRlciBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNlYXJjaCAuc2VhcmNoLXJlc3VsdHMtd3JhcCwgLnNlYXJjaCAuc2lkZWJhci13cmFwIHsgcGFkZGluZzogNGVtIDA7IH1cblxuLnNlYXJjaCAuaW5uZXItcm93IHsgcGFkZGluZzogMCAyZW07IH1cblxuLnNlYXJjaCAjcGFnZSAuc2l0ZS1jb250ZW50IGFydGljbGUgeyBwYWRkaW5nOiAxMHB4IDA7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNlYXJjaCAjcGFnZSAuc2l0ZS1jb250ZW50IGFydGljbGUgLmNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uc2VhcmNoICNwYWdlIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSAuY29udGFpbmVyIC5lbnRyeS1jb250ZW50IHAgeyBtYXJnaW46IDA7IH1cblxuLnNlYXJjaCAuZW50cnktbWV0YSBhIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNlYXJjaC13cmFwLCAuc2VhcmNoLXdyYXAtbW9iaWxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLWJhci1tb2JpbGUsIC5zZWFyY2gtYmFyIHsgZGlzcGxheTogbm9uZTsgcGFkZGluZzogMC43NWVtIDFlbTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgd2lkdGg6IDQwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwMDsgYm9yZGVyLXdpZHRoOiA2cHggMXB4IDFweCAxcHg7IGJvcmRlci1jb2xvcjogI2ZmOTUwMCAjOTk5ICM5OTk7IGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLnNlYXJjaC1iYXItbW9iaWxlIHAsIC5zZWFyY2gtYmFyIHAgeyBtYXJnaW46IDAgMCA2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG5cbi5zZWFyY2gtYmFyLW1vYmlsZS5zaG93LXNlYXJjaCwgLnNlYXJjaC1iYXIuc2hvdy1zZWFyY2ggeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2VhcmNoLWJhci1tb2JpbGUgZm9ybSwgLnNlYXJjaC1iYXIgZm9ybSB7IHdpZHRoOiAxMDAlOyB9XG5cbi5zZWFyY2gtYmFyLW1vYmlsZSBmb3JtIGxhYmVsLCAuc2VhcmNoLWJhciBmb3JtIGxhYmVsIHsgd2lkdGg6IGNhbGMoOTglIC0gMTI4cHgpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNlYXJjaC1iYXItbW9iaWxlIGZvcm0gbGFiZWwgLnNlYXJjaC1maWVsZCwgLnNlYXJjaC1iYXIgZm9ybSBsYWJlbCAuc2VhcmNoLWZpZWxkIHsgYm9yZGVyLXJhZGl1czogNXB4OyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBtYXJnaW4tYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmMWY4OyB9XG5cbi5zZWFyY2gtYmFyLW1vYmlsZSAuc2VhcmNoLXN1Ym1pdCwgLnNlYXJjaC1iYXIgLnNlYXJjaC1zdWJtaXQgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IDJweCBzb2xpZCAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5NTAwOyBib3JkZXItcmFkaXVzOiA1cHg7IHBhZGRpbmc6IDZweCAyMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogMDsgdHJhbnNpdGlvbjogMC41czsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjZweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgbWFyZ2luLWxlZnQ6IDE0cHg7IH1cblxuLnNlYXJjaC1iYXItbW9iaWxlIC5zZWFyY2gtc3VibWl0OmhvdmVyLCAuc2VhcmNoLWJhciAuc2VhcmNoLXN1Ym1pdDpob3ZlciB7IGNvbG9yOiAjZmY5NTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1jb2xvcjogI2ZmOTUwMDsgfVxuXG4uc2VhcmNoLWJhci1tb2JpbGUgLnNjcmVlbi1yZWFkZXItdGV4dCwgLnNlYXJjaC1iYXIgLnNjcmVlbi1yZWFkZXItdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlYXJjaC1iYXItbW9iaWxlIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNDAwcHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IHRvcDogMTAwcHg7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB9XG5cbi5ici1yYy1zaW5nbGUtYmFubmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgfVxuXG4uYnItcmMtc2luZ2xlLWJhbm5lciAuY29udGFpbmVyIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYnItcmMtc2luZ2xlLWJhbm5lciAuY29udGFpbmVyIC5yb3cgeyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ici1yYy1zaW5nbGUtYmFubmVyIC5yb3ctdGl0bGUgeyBwYWRkaW5nLXRvcDogMjBweDsgcGFkZGluZy1ib3R0b206IDU2cHg7IH1cblxuLmJyLXJjLXNpbmdsZS1iYW5uZXIgLnJvdy10aXRsZSBoMSB7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNDAwOyBtYXJnaW46IDI4cHggMCAwOyB9XG5cbi5ici1yYy1zaW5nbGUtYmFubmVyIC5yb3ctdGl0bGUgYSB7IGNvbG9yOiAjMDg0YzYxOyBtYXJnaW4tbGVmdDogMTBweDsgbWFyZ2luLXRvcDogMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5ici1yYy1zaW5nbGUtYmFubmVyIC5yb3ctdGl0bGUgYTpmaXJzdC1vZi10eXBlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJyLXJjLXNpbmdsZS1iYW5uZXIgLnJvdy10aXRsZSBpIHsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBjb2xvcjogIzA4NGM2MTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgLmJyLXJjLXNpbmdsZS1iYW5uZXIgLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7ICNici1yYy1zaW5nbGUgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7ICNici1yYy1zaW5nbGUgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uYnItcmMtcmVsYXRlZC1wb3N0cyBoMiB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYnItcmMtcmVsYXRlZC1wb3N0cyAuYnItcmMtcmVsYXRlZC1wb3N0cy1wb3N0LnJvdyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMmVtOyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5ici1yYy1yZWxhdGVkLXBvc3RzIC5ici1yYy1yZWxhdGVkLXBvc3RzLXBvc3Qucm93IGgzIHsgcGFkZGluZy1yaWdodDogMmVtOyBtYXJnaW4tdG9wOiAwOyB9XG5cbi5ici1yYy1yZWxhdGVkLXBvc3RzIC5ici1yYy1yZWxhdGVkLXBvc3RzLXBvc3Qucm93IGgzIGEgeyBjb2xvcjogIzMzMzMzMzsgZm9udC1zaXplOiAyNHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJyLXJjLXJlbGF0ZWQtcG9zdHMgLmJyLXJjLXJlbGF0ZWQtcG9zdHMtcG9zdC5yb3cgYSB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogI2ZmOTUwMDsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmJyLXJjLXJlbGF0ZWQtcG9zdHMgLmJyLXJjLXJlbGF0ZWQtcG9zdHMtcG9zdC1jb250ZW50IHsgcGFkZGluZzogMWVtOyB9XG5cbi5ici1yYy1yZWxhdGVkLXBvc3RzIC5ici1yYy1yZWxhdGVkLXBvc3RzLXR5cGUtY2FsbG91dCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxZW07IHJpZ2h0OiAxZW07IH1cblxuLmJyLXJjLXJlbGF0ZWQtcG9zdHMgLmJyLXJjLXJlbGF0ZWQtcG9zdHMtdHlwZS1jYWxsb3V0IGJ1dHRvbiB7IGNvbG9yOiAjZmY5NTAwOyBmb250LXNpemU6IDI2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5ici1yYy1yZWxhdGVkLXBvc3RzIC5ici1yYy1yZWxhdGVkLXBvc3RzLXBvc3QtaW1hZ2UgeyBoZWlnaHQ6IDEyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7ICNici1yYy1zaW5nbGUgI2NvbnRlbnQuY29sdW1ucyB7IHBhZGRpbmctbGVmdDogMmVtOyBwYWRkaW5nLXJpZ2h0OiAyZW07IH0gfVxuXG4uYnItcmMtYXJjaGl2ZS1iYW5uZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5NTAwOyB9XG5cbi5ici1yYy1hcmNoaXZlLWJhbm5lciAuY29udGFpbmVyIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYnItcmMtYXJjaGl2ZS1iYW5uZXIgLnJvdyB7IHBhZGRpbmctdG9wOiAyMHB4OyBwYWRkaW5nLWJvdHRvbTogNTZweDsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYnItcmMtYXJjaGl2ZS1iYW5uZXIgaDEgeyBjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IDQwMDsgbWFyZ2luOiAyOHB4IDAgMDsgfVxuXG4uYnItcmMtYXJjaGl2ZS1iYW5uZXIgcCB7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAuYnItcmMtYXJjaGl2ZS1iYW5uZXIgLmNvbHVtbnMgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cblxuLmJyLXJjLWZpbHRlci1jb250cm9scyB7IGJhY2tncm91bmQtY29sb3I6ICNjOGQzZDU7IHdpZHRoOiAxMDAlOyB9XG5cbi5ici1yYy1maWx0ZXItY29udHJvbHMgLmNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJyLXJjLWZpbHRlci1jb250cm9scyAucm93IHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDsgcGFkZGluZzogMWVtIDA7IH1cblxuLmJyLXJjLWZpbHRlci1jb250cm9scyBzZWxlY3QjQ2F0ZWdvcmllcywgLmJyLXJjLWZpbHRlci1jb250cm9scyBzZWxlY3QjRm9ybWF0cyB7IHdpZHRoOiAzMiU7IG1hcmdpbi1yaWdodDogMiU7IGZsb2F0OiBsZWZ0OyBjb2xvcjogIzMzMzMzMzsgZm9udC1zaXplOiAyMHB4OyBoZWlnaHQ6IDQ0cHg7IGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmJyLXJjLWZpbHRlci1jb250cm9scyBzZWxlY3QjQ2F0ZWdvcmllcywgLmJyLXJjLWZpbHRlci1jb250cm9scyBzZWxlY3QjRm9ybWF0cyB7IHdpZHRoOiAxMDAlOyBmbG9hdDogbm9uZTsgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG5cbi5ici1yYy1maWx0ZXItY29udHJvbHMgaW5wdXQuYnItcmMtZmlsdGVyLWlucHV0IHsgd2lkdGg6IDMyJTsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1ib3R0b206IDA7IGhlaWdodDogNDRweDsgZm9udC1zaXplOiAyMHB4OyBmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5ici1yYy1maWx0ZXItY29udHJvbHMgaW5wdXQuYnItcmMtZmlsdGVyLWlucHV0IHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBub25lOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cblxuLmJyLXJjLWZpbHRlci1jb250cm9scyAuYnRuLWRlZmF1bHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBoZWlnaHQ6IDQ0cHg7IH1cblxuLmJyLXJjLWZpbHRlci1jb250cm9scyAuYnRuLWRlZmF1bHQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5NTAwOyBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmJyLXJjLWZpbHRlci1jb250cm9scyAuc3VibWl0LWNvbHVtbiB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYnItcmMtZmlsdGVyLWNvbnRyb2xzIC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OiAyZW07IHBhZGRpbmctcmlnaHQ6IDJlbTsgfSB9XG5cbiNici1yYy1hcmNoaXZlIHsgcGFkZGluZy10b3A6IDNlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgI2JyLXJjLWFyY2hpdmUgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyBwYWRkaW5nLXRvcDogMWVtOyB9XG4gICNici1yYy1hcmNoaXZlIC5jb2x1bW5zLnNtYWxsLTEyLm1lZGl1bS04Lm1lZGl1bS1vZmZzZXQtMiB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi53aXRoLXNpZGViYXItYXJjaGl2ZSAucm93IC5yb3cgeyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi53aXRoLXNpZGViYXItYXJjaGl2ZSAuYnItcmMtY29udGVudC1leGNlcnB0LWNvbnRhaW5lci5yb3cgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDJlbTsgYm9yZGVyOiAycHggc29saWQgIzk5OTsgfVxuXG4ud2l0aC1zaWRlYmFyLWFyY2hpdmUgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC10eXBlLWNhbGxvdXQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMWVtOyByaWdodDogMWVtOyB9XG5cbi53aXRoLXNpZGViYXItYXJjaGl2ZSAuYnItcmMtY29udGVudC1leGNlcnB0LXR5cGUtY2FsbG91dCBidXR0b24geyBjb2xvcjogI2ZmOTUwMDsgZm9udC1zaXplOiAyNnB4OyB9XG5cbi53aXRoLXNpZGViYXItYXJjaGl2ZSAuYnItcmMtY29udGVudC1leGNlcnB0LWNvbnRlbnQgeyBwYWRkaW5nOiAxZW07IH1cblxuLndpdGgtc2lkZWJhci1hcmNoaXZlIGgyIHsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMjhweDsgbWFyZ2luLXRvcDogMDsgcGFkZGluZy1yaWdodDogMWVtOyB9XG5cbi53aXRoLXNpZGViYXItYXJjaGl2ZSBoMiBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogIzMzMzMzMzsgfVxuXG4ud2l0aC1zaWRlYmFyLWFyY2hpdmUgYXNpZGUuc2lkZWJhci13cmFwIHsgcGFkZGluZy10b3A6IDA7IG1hcmdpbi10b3A6IDFlbTsgfVxuXG4ud2l0aC1zaWRlYmFyLWFyY2hpdmUgYXNpZGUuc2lkZWJhci13cmFwIHNlY3Rpb24geyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyBtYXJnaW4tYm90dG9tOiAzMHB4OyBwYWRkaW5nOiAxNnB4OyB9XG5cbi53aXRoLXNpZGViYXItYXJjaGl2ZSBhc2lkZS5zaWRlYmFyLXdyYXAgc2VjdGlvbiBoMiB7IGZvbnQtc2l6ZTogMjRweDsgbGluZS1oZWlnaHQ6IDI4cHg7IG1hcmdpbjogMCAwIDEycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC53aXRoLXNpZGViYXItYXJjaGl2ZSBhc2lkZS5zaWRlYmFyLXdyYXAgeyBwYWRkaW5nLXRvcDogMmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC53aXRoLXNpZGViYXItYXJjaGl2ZSAuY29sdW1ucy5zbWFsbC0xMi5tZWRpdW0tOCwgLndpdGgtc2lkZWJhci1hcmNoaXZlIC5jb2x1bW5zLnNtYWxsLTEyLm1lZGl1bS00IHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC53aXRoLXNpZGViYXItYXJjaGl2ZSAuYnItcmMtY29udGVudC1leGNlcnB0LWltYWdlIHsgaGVpZ2h0OiAxMjBweDsgfVxuICAud2l0aC1zaWRlYmFyLWFyY2hpdmUgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250ZW50IHsgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uZnVsbC13aWR0aC1hcmNoaXZlIC5yb3cgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZnVsbC13aWR0aC1hcmNoaXZlIC5ici1yYy1jb250ZW50LWV4Y2VycHQtY29udGFpbmVyLnJvdyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMmVtOyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyB9XG5cbi5mdWxsLXdpZHRoLWFyY2hpdmUgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC10eXBlLWNhbGxvdXQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMWVtOyByaWdodDogMWVtOyB9XG5cbi5mdWxsLXdpZHRoLWFyY2hpdmUgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC10eXBlLWNhbGxvdXQgYnV0dG9uIHsgY29sb3I6ICNmZjk1MDA7IGZvbnQtc2l6ZTogMjZweDsgfVxuXG4uZnVsbC13aWR0aC1hcmNoaXZlIC5ici1yYy1jb250ZW50LWV4Y2VycHQtY29udGVudCB7IHBhZGRpbmc6IDFlbTsgfVxuXG4uZnVsbC13aWR0aC1hcmNoaXZlIGgyIHsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMjhweDsgbWFyZ2luLXRvcDogMDsgcGFkZGluZy1yaWdodDogMWVtOyB9XG5cbi5mdWxsLXdpZHRoLWFyY2hpdmUgaDIgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICMzMzMzMzM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5mdWxsLXdpZHRoLWFyY2hpdmUgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1pbWFnZSB7IGhlaWdodDogMTIwcHg7IH0gfVxuXG4uYnItcmMtY29udGVudC1leGNlcnB0LWNvbnRhaW5lci1mZWF0dXJlZCAuYnItcmMtY29udGVudC1leGNlcnB0LWZlYXR1cmVkLWNhbGxvdXQgeyBwYWRkaW5nOiAxZW0gMWVtIDA7IH1cblxuLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250YWluZXItZmVhdHVyZWQgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1mZWF0dXJlZC1jYWxsb3V0IHAgeyBjb2xvcjogI2ZmOTUwMDsgbWFyZ2luOiAwOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDIycHg7IH1cblxuLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250YWluZXItZmVhdHVyZWQgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250ZW50IHsgcGFkZGluZy10b3A6IDZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250YWluZXItZmVhdHVyZWQgLmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1pbWFnZSB7IGhlaWdodDogMDsgfSB9XG5cbi5ici1yYy1uby1yZXN1bHRzLCAuYnItcmMtbm8tcmVzdWx0cy5jb250YWluZXIgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmJyLXJjLW5vLXJlc3VsdHMgLnJvdy5yb3ctaW5uZXIsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAucm93LnJvdy1pbm5lciB7IG1hcmdpbjogMDsgfVxuXG4uYnItcmMtbm8tcmVzdWx0cyBoMiwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIGgyIHsgZm9udC1zaXplOiAzMnB4OyBsaW5lLWhlaWdodDogMzRweDsgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmJyLXJjLW5vLXJlc3VsdHMgaDIsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciBoMiB7IGZvbnQtc2l6ZTogMjhweDsgbWFyZ2luOiAxMnB4IDAgMThweDsgfSB9XG5cbi5ici1yYy1uby1yZXN1bHRzIC5yZXN1bHRzLWZpbHRlcmluZywgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5yZXN1bHRzLWZpbHRlcmluZyB7IGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgaDIsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAucmVzdWx0cy1maWx0ZXJpbmcgaDIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5ici1yYy1uby1yZXN1bHRzIC5yZXN1bHRzLWZpbHRlcmluZyBoMiwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5yZXN1bHRzLWZpbHRlcmluZyBoMiB7IG1hcmdpbjogMTJweCAwIDE4cHg7IH0gfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgZm9ybSwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5yZXN1bHRzLWZpbHRlcmluZyBmb3JtIHsgd2lkdGg6IDgwJTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1ib3R0b206IDEycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgcGFkZGluZzogMTJweCAwOyBmb250LXNpemU6IDIycHg7IH1cblxuLmJyLXJjLW5vLXJlc3VsdHMgLnJlc3VsdHMtZmlsdGVyaW5nIGZvcm0gYnV0dG9uLCAuYnItcmMtbm8tcmVzdWx0cy5jb250YWluZXIgLnJlc3VsdHMtZmlsdGVyaW5nIGZvcm0gYnV0dG9uIHsgY29sb3I6ICMzMzMzMzM7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgZm9ybSBidXR0b24gc3BhbiwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5yZXN1bHRzLWZpbHRlcmluZyBmb3JtIGJ1dHRvbiBzcGFuIHsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5ici1yYy1uby1yZXN1bHRzIC5yZXN1bHRzLWZpbHRlcmluZyBmb3JtLCAuYnItcmMtbm8tcmVzdWx0cy5jb250YWluZXIgLnJlc3VsdHMtZmlsdGVyaW5nIGZvcm0geyB3aWR0aDogMTAwJTsgfSB9XG5cbi5ici1yYy1uby1yZXN1bHRzIC5yZXN1bHRzLWZpbHRlcmluZyBoMywgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5yZXN1bHRzLWZpbHRlcmluZyBoMyB7IGZvbnQtd2VpZ2h0OiA1MDA7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgaDMgZm9ybSwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5yZXN1bHRzLWZpbHRlcmluZyBoMyBmb3JtIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogYXV0bzsgfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgaDMgZm9ybSBidXR0b24sIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAucmVzdWx0cy1maWx0ZXJpbmcgaDMgZm9ybSBidXR0b24geyBtYXJnaW46IDAgMTBweDsgcGFkZGluZzogMTBweDsgY29sb3I6ICNmZjk1MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyOiAycHggc29saWQgI2ZmOTUwMDsgYm9yZGVyLXJhZGl1czogNXB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRyYW5zaXRpb246IDAuNXM7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgaDMgZm9ybSBidXR0b246aG92ZXIsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAucmVzdWx0cy1maWx0ZXJpbmcgaDMgZm9ybSBidXR0b246aG92ZXIgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuYnItcmMtbm8tcmVzdWx0cyAucmVzdWx0cy1maWx0ZXJpbmcgaDMsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAucmVzdWx0cy1maWx0ZXJpbmcgaDMgeyBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyB9IH1cblxuLmJyLXJjLW5vLXJlc3VsdHMgLmJyLXJjLXNpdGUtc2VhcmNoLCAuYnItcmMtbm8tcmVzdWx0cy5jb250YWluZXIgLmJyLXJjLXNpdGUtc2VhcmNoIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ici1yYy1uby1yZXN1bHRzIC5ici1yYy1zaXRlLXNlYXJjaCBoMiwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5ici1yYy1zaXRlLXNlYXJjaCBoMiB7IGZvbnQtc2l6ZTogMzJweDsgbGluZS1oZWlnaHQ6IDM0cHg7IG1hcmdpbi1ib3R0b206IDEzcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5ici1yYy1uby1yZXN1bHRzIC5ici1yYy1zaXRlLXNlYXJjaCBoMiwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5ici1yYy1zaXRlLXNlYXJjaCBoMiB7IGZvbnQtc2l6ZTogMjhweDsgbWFyZ2luOiAxMnB4IDAgMThweDsgfSB9XG5cbi5ici1yYy1uby1yZXN1bHRzIC5ici1yYy1zaXRlLXNlYXJjaCBoMywgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5ici1yYy1zaXRlLXNlYXJjaCBoMyB7IGZvbnQtd2VpZ2h0OiA0MDA7IG1hcmdpbjogMTJweCAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuYnItcmMtbm8tcmVzdWx0cyAuYnItcmMtc2l0ZS1zZWFyY2ggaDMsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAuYnItcmMtc2l0ZS1zZWFyY2ggaDMgeyBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyB9IH1cblxuLmJyLXJjLW5vLXJlc3VsdHMgaDIucmVjZW50LWhlYWRpbmcsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciBoMi5yZWNlbnQtaGVhZGluZyB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgLmJyLXJjLW5vLXJlc3VsdHMgaDIucmVjZW50LWhlYWRpbmcsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciBoMi5yZWNlbnQtaGVhZGluZyB7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0gfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAuYnItcmMtc2l0ZS1zZWFyY2ggZm9ybSwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5ici1yYy1zaXRlLXNlYXJjaCBmb3JtIHsgbWFyZ2luLXRvcDogMzRweDsgd2lkdGg6IDgwJTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmJyLXJjLW5vLXJlc3VsdHMgLmJyLXJjLXNpdGUtc2VhcmNoIGZvcm0gLnNlYXJjaC1maWVsZC1pbnB1dCwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5ici1yYy1zaXRlLXNlYXJjaCBmb3JtIC5zZWFyY2gtZmllbGQtaW5wdXQgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJvcmRlci1yYWRpdXM6IDVweDsgZm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogMzBweDsgd2lkdGg6IGNhbGMoOTglIC0gMTI4cHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgeyAuYnItcmMtbm8tcmVzdWx0cyAuYnItcmMtc2l0ZS1zZWFyY2ggZm9ybSwgLmJyLXJjLW5vLXJlc3VsdHMuY29udGFpbmVyIC5ici1yYy1zaXRlLXNlYXJjaCBmb3JtIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYnItcmMtbm8tcmVzdWx0cyAuYnItcmMtc2l0ZS1zZWFyY2ggLnNlYXJjaC1maWVsZC1zdWJtaXQsIC5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciAuYnItcmMtc2l0ZS1zZWFyY2ggLnNlYXJjaC1maWVsZC1zdWJtaXQgeyBjb2xvcjogI2ZmOTUwMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXI6IDJweCBzb2xpZCAjZmY5NTAwOyBib3JkZXItcmFkaXVzOiA1cHg7IHBhZGRpbmc6IDZweCAyMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogMDsgdHJhbnNpdGlvbjogMC41czsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgbWFyZ2luLWxlZnQ6IDE0cHg7IH1cblxuLmJyLXJjLW5vLXJlc3VsdHMgLmJyLXJjLXNpdGUtc2VhcmNoIC5zZWFyY2gtZmllbGQtc3VibWl0OmhvdmVyLCAuYnItcmMtbm8tcmVzdWx0cy5jb250YWluZXIgLmJyLXJjLXNpdGUtc2VhcmNoIC5zZWFyY2gtZmllbGQtc3VibWl0OmhvdmVyIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7IH1cblxuLnNpbmdsZS1icl9yY19yZXNvdXJjZSAucGFyZG90LWZvcm0geyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyBtYXJnaW4tYm90dG9tOiAzMHB4OyBwYWRkaW5nOiAxNnB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHsgLnNpbmdsZS1icl9yY19yZXNvdXJjZSAuaGlkZGVuLXNtLWRvd24geyBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IC5zaW5nbGUtYnJfcmNfcmVzb3VyY2UgLnBhcmRvdC1mb3JtIHsgcGFkZGluZy10b3A6IDNlbTsgfSB9XG5cbmFzaWRlLnNpZGViYXIgeyBwYWRkaW5nOiA0ZW0gMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHsgYXNpZGUuc2lkZWJhciB7IHBhZGRpbmc6IDA7IH0gfVxuXG5hc2lkZS5zaWRlYmFyIHNlY3Rpb24geyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyBtYXJnaW4tYm90dG9tOiAzMHB4OyBwYWRkaW5nOiAxNnB4OyB9XG5cbmFzaWRlLnNpZGViYXIgc2VjdGlvbiBoMiB7IGZvbnQtc2l6ZTogMjRweDsgbGluZS1oZWlnaHQ6IDI4cHg7IG1hcmdpbjogMCAwIDEycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7IGFzaWRlLnNpZGViYXIgeyBwYWRkaW5nLWxlZnQ6IDJlbTsgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gIGFzaWRlLnNpZGViYXIgLndpZGdldC1hcmVhLmNvbHVtbnMuc2lkZWJhci13cmFwIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxubmF2IHVsLmJyLXJjLXBhZ2luYXRpb24geyBwYWRkaW5nLWxlZnQ6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAyMnB4OyBsaW5lLWhlaWdodDogMTsgfVxuXG5uYXYgdWwuYnItcmMtcGFnaW5hdGlvbiBsaSB7IGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDAgNHB4OyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OyBwYWRkaW5nOiA0cHggMTZweDsgZm9udC13ZWlnaHQ6IDUwMDsgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzOyB0cmFuc2l0aW9uOiAwLjVzOyB9XG5cbm5hdiB1bC5ici1yYy1wYWdpbmF0aW9uIGxpIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjMzMzMzMzOyBmb250LXdlaWdodDogNTAwOyB9XG5cbm5hdiB1bC5ici1yYy1wYWdpbmF0aW9uIGxpOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjZmY5NTAwOyB9XG5cbm5hdiB1bC5ici1yYy1wYWdpbmF0aW9uIGxpOmhvdmVyIGEgeyBjb2xvcjogI2ZmOTUwMDsgfVxuXG5uYXYgdWwuYnItcmMtcGFnaW5hdGlvbiBsaS5hY3RpdmUgeyBib3JkZXItY29sb3I6ICNmZjk1MDA7IGNvbG9yOiAjZmY5NTAwOyB9XG5cbm5hdiB1bC5ici1yYy1wYWdpbmF0aW9uIGxpLmRpc2FibGVkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjOTk5OyB9XG5cbi8qIE5ldyBDb2RlICovXG4uc2VydmljZV9hZ3JlZW1lbnQgeyBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1OyBoZWlnaHQ6IDI1MHB4OyBvdmVyZmxvdzogYXV0bzsgcGFkZGluZzogMjBweDsgfVxuXG4uc2VydmljZV9hZ3JlZW1lbnQgbGFiZWwgeyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbiNzaWduYXR1cmUtcGFkIGNhbnZhcyB7IGJvcmRlcjogMXB4IHNvbGlkICM1NTU7IH1cblxuI3NpZ25hdHVyZS1wYWQgYnV0dG9uIHsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbiNzaWduYXR1cmUtcGFkIGJ1dHRvbi5jbGVhciB7IGJhY2tncm91bmQ6IG9yYW5nZTsgfVxuXG4jZm9ybV9tYXN0ZXJfc2VydmljZXNfYWdyZWVtZW50IHsgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uZm9ybV9jb250YWN0LWZvcm0gLmNoZWNrYm94IGxhYmVsIHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kaXYjZnJtX2ZpZWxkXzEwNV9jb250YWluZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNDAwcHg7IHJpZ2h0OiAtMTAwcHg7IGJhY2tncm91bmQ6ICNmZWZlZmU7IHotaW5kZXg6IDk5OTsgcGFkZGluZzogMHB4IDEwcHg7IH1cblxuLypuYXYgdXBkYXRlcyBmb3IgMyBsZXZlbCBpdGVtcyovXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gdWwuc3ViLW1lbnUgeyBsZWZ0OiAxMDAlOyB0b3A6IDA7IGRpc3BsYXk6IG5vbmU7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEyMHB4KSB7IGhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiB1bC5zdWItbWVudSB7IGxlZnQ6IDA7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IGxpIHVsIGxpIGEgeyBwYWRkaW5nLWxlZnQ6IDE1JTsgfVxuICAuc3ViLW1lbnUtdHdvIGxpIHsgdGV4dC1pbmRlbnQ6IDMwcHg7IH1cbiAgI21vYm1lbnVyaWdodCBsaS51cHBlci5tZW51LWl0ZW0gYSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxuICAjbW9ibWVudXJpZ2h0IGxpIGEsICNtb2JtZW51cmlnaHQgbGkgYTp2aXNpdGVkLCAjbW9ibWVudXJpZ2h0IC5tb2JtZW51X2NvbnRlbnQgaDIsICNtb2JtZW51cmlnaHQgLm1vYm1lbnVfY29udGVudCBoMyB7IGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50OyBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuNWVtICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOiBub3JtYWwgIWltcG9ydGFudDsgY29sb3I6ICMwODRjNjEgIWltcG9ydGFudDsgfVxuICB1bC5zdWItbWVudS5zaG93LXN1Yi1tZW51IHsgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IHVsLnN1Yi1tZW51IHsgZGlzcGxheTogYmxvY2s7IH1cblxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLnN1Yi1tZW51IHsgbWluLXdpZHRoOiAzMDBweCAhaW1wb3J0YW50OyB9XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gdWwuc3ViLW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL2Rldi1zaHJnbG9iYWwucGFudGhlb25zaXRlLmlvL3dwLWNvbnRlbnQvdGhlbWVzL3Noci9hc3NldHMvaW1nL2Fycm93X3JpZ2h0X2JsdWUtb3B0LnN2Zyk7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA1JTsgdG9wOiAyMHB4OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIG1vYmlsZSBtZW51IHN0YXRlcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyMHB4KSB7IGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IHsgLyogICAgZGlzcGxheTogYmxvY2s7ICovIH1cbiAgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLnN1Yi1vcGVuID4gdWwuc3ViLW1lbnUgeyBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMjBweCkgeyBoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUsIGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciB1bC5zdWItbWVudSB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTk7IH0gaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmaXJzdC1vZi10eXBlIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyIHsgYmFja2dyb3VuZDogbm9uZTsgfSB9ICovXG4vKiBodWJzcG90IHVuc3R5bGVkIGVtYmVkICovXG4uaHMtYnV0dG9uLXJlc2V0LCAuaHMtZm9ybSAuaHMtYnV0dG9uIHsgYm9yZGVyOiBub25lOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbjogMDsgb3V0bGluZTogMDsgcGFkZGluZzogMDsgfVxuXG4uYmFzZS1ocy1idXR0b24tc3R5bGVzLCAuaHMtZm9ybSAuaHMtYnV0dG9uIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMTJweDsgcGFkZGluZzogN3B4IDE4cHggN3B4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYmFzZS1ocy1idXR0b24tc3R5bGVzOmhvdmVyLCAuaHMtZm9ybSAuaHMtYnV0dG9uOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmlucHV0LmhzLWlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dC5ocy1pbnB1dFt0eXBlPXJhZGlvXSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dC5ocy1pbnB1dCwgdGV4dGFyZWEuaHMtaW5wdXQsIHNlbGVjdC5ocy1pbnB1dCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDIxMHB4OyBoZWlnaHQ6IDE4cHg7IHBhZGRpbmc6IDRweDsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMThweDsgY29sb3I6ICM2NjY7IGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OyAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsgLW1zLWJvcmRlci1yYWRpdXM6IDNweDsgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbnRleHRhcmVhLmhzLWlucHV0IHsgcGFkZGluZy10b3A6IDVweDsgfVxuXG5odG1sLndlYmtpdCB0ZXh0YXJlYS5ocy1pbnB1dCB7IHBhZGRpbmctdG9wOiA2cHg7IHBhZGRpbmctbGVmdDogNXB4OyB9XG5cbmlucHV0LmhzLWlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dC5ocy1pbnB1dFt0eXBlPXJhZGlvXSB7IHdpZHRoOiBhdXRvOyBoZWlnaHQ6IGF1dG87IHBhZGRpbmc6IDA7IG1hcmdpbjogM3B4IDA7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGJvcmRlcjogbm9uZTsgfVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPWZpbGVdIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZzogaW5pdGlhbDsgYm9yZGVyOiBpbml0aWFsOyBsaW5lLWhlaWdodDogaW5pdGlhbDsgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOyAtbW96LWJveC1zaGFkb3c6IG5vbmU7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuaW5wdXQuaHMtaW5wdXRbdHlwZT1idXR0b25dLCBpbnB1dC5ocy1pbnB1dFt0eXBlPXJlc2V0XSwgaW5wdXQuaHMtaW5wdXRbdHlwZT1zdWJtaXRdIHsgd2lkdGg6IGF1dG87IGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPXNlYXJjaF0geyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7IC1tb3otYm9yZGVyLXJhZGl1czogMTZweDsgLW1zLWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb21tb25fYXNzZXRzL3N0YXRpYy0yLjE1OC9pbWcvZm9ybS9zZWFyY2gucG5nXCIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBwYWRkaW5nLWxlZnQ6IDI2cHg7IHBhZGRpbmctcmlnaHQ6IDZweDsgcGFkZGluZy10b3A6IDVweDsgcGFkZGluZy1ib3R0b206IDNweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogOHB4IDhweDsgfVxuXG5odG1sLmZpcmVmb3ggaW5wdXQuaHMtaW5wdXRbdHlwZT1zZWFyY2hdIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDFweDsgfVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPXNlYXJjaF0udHJhbnNwYXJlbnQtaW1hZ2UgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29tbW9uX2Fzc2V0cy9zdGF0aWMtMi4xNTgvaW1nL2Zvcm0vc2VhcmNoLXRyYW5zcGFyZW50LnBuZ1wiKTsgfVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLCBpbnB1dC5ocy1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dC5ocy1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiwgaW5wdXQuaHMtaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG5zZWxlY3QuaHMtaW5wdXQsIGlucHV0LmhzLWlucHV0W3R5cGU9ZmlsZV0geyBoZWlnaHQ6IDI3cHg7IH1cblxuc2VsZWN0W211bHRpcGxlXS5ocy1pbnB1dCB7IGhlaWdodDogaW5oZXJpdDsgfVxuXG50ZXh0YXJlYS5ocy1pbnB1dCB7IGhlaWdodDogYXV0bzsgfVxuXG4uaHMtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYmZiZmJmOyB9XG5cbi5ocy1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYmZiZmJmOyB9XG5cbmlucHV0LmhzLWlucHV0LCB0ZXh0YXJlYS5ocy1pbnB1dCB7IC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgbGluZWFyLCBib3gtc2hhZG93IDAuMnMgbGluZWFyOyAtbW96LXRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciwgYm94LXNoYWRvdyAwLjJzIGxpbmVhcjsgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgbGluZWFyLCBib3gtc2hhZG93IDAuMnMgbGluZWFyOyAvKiAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsgKi8gfVxuXG5pbnB1dC5ocy1pbnB1dDpmb2N1cywgdGV4dGFyZWEuaHMtaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyAvKiBib3JkZXItY29sb3I6IHJnYmEoODIsIDE2OCwgMjM2LCAwLjgpOyAqLyBib3JkZXItY29sb3I6ICNmZjk1MDA7IC8qIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwIDhweCByZ2JhKDgyLCAxNjgsIDIzNiwgMC42KTsgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgOHB4IHJnYmEoODIsIDE2OCwgMjM2LCAwLjYpOyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgOHB4IHJnYmEoODIsIDE2OCwgMjM2LCAwLjYpOyAqLyB9XG5cbmlucHV0LmhzLWlucHV0LmVycm9yLCAuaHMtZm9ybSBkaXYuZmllbGQuZXJyb3IgaW5wdXQsIC5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciB0ZXh0YXJlYSwgLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIC5jaHpuLWNob2ljZXMsIHRleHRhcmVhLmhzLWlucHV0LmVycm9yIHsgYm9yZGVyLWNvbG9yOiAjYzg3ODcyOyAvKiAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgxNzEsIDQxLCAzMiwgMC4yNSk7IC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDE3MSwgNDEsIDMyLCAwLjI1KTsgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDE3MSwgNDEsIDMyLCAwLjI1KTsgKi8gfVxuXG5pbnB1dC5ocy1pbnB1dC5lcnJvcjpmb2N1cywgLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIGlucHV0OmZvY3VzLCAuaHMtZm9ybSBkaXYuZmllbGQuZXJyb3IgdGV4dGFyZWE6Zm9jdXMsIC5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciAuY2h6bi1jaG9pY2VzOmZvY3VzLCB0ZXh0YXJlYS5ocy1pbnB1dC5lcnJvcjpmb2N1cyB7IGJvcmRlci1jb2xvcjogI2I5NTU0ZDsgLyogLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTcxLCA0MSwgMzIsIDAuNSk7IC1tb3otYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDE3MSwgNDEsIDMyLCAwLjUpOyBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTcxLCA0MSwgMzIsIDAuNSk7ICovIH1cblxuLmlucHV0LW1pbmkuaHMtaW5wdXQsIGlucHV0Lm1pbmkuaHMtaW5wdXQsIHRleHRhcmVhLm1pbmkuaHMtaW5wdXQsIHNlbGVjdC5taW5pLmhzLWlucHV0IHsgd2lkdGg6IDYwcHg7IH1cblxuLmlucHV0LXNtYWxsLmhzLWlucHV0LCBpbnB1dC5zbWFsbC5ocy1pbnB1dCwgdGV4dGFyZWEuc21hbGwuaHMtaW5wdXQsIHNlbGVjdC5zbWFsbC5ocy1pbnB1dCB7IHdpZHRoOiA5MHB4OyB9XG5cbi5pbnB1dC1tZWRpdW0uaHMtaW5wdXQsIGlucHV0Lm1lZGl1bS5ocy1pbnB1dCwgdGV4dGFyZWEubWVkaXVtLmhzLWlucHV0LCBzZWxlY3QubWVkaXVtLmhzLWlucHV0IHsgd2lkdGg6IDE1MHB4OyB9XG5cbi5pbnB1dC1sYXJnZS5ocy1pbnB1dCwgaW5wdXQubGFyZ2UuaHMtaW5wdXQsIHRleHRhcmVhLmxhcmdlLmhzLWlucHV0LCBzZWxlY3QubGFyZ2UuaHMtaW5wdXQgeyB3aWR0aDogMjEwcHg7IH1cblxuLmlucHV0LXhsYXJnZS5ocy1pbnB1dCwgaW5wdXQueGxhcmdlLmhzLWlucHV0LCB0ZXh0YXJlYS54bGFyZ2UuaHMtaW5wdXQsIHNlbGVjdC54bGFyZ2UuaHMtaW5wdXQgeyB3aWR0aDogMjcwcHg7IH1cblxuLmlucHV0LXh4bGFyZ2UuaHMtaW5wdXQsIGlucHV0Lnh4bGFyZ2UuaHMtaW5wdXQsIHRleHRhcmVhLnh4bGFyZ2UuaHMtaW5wdXQsIHNlbGVjdC54eGxhcmdlLmhzLWlucHV0IHsgd2lkdGg6IDUzMHB4OyB9XG5cbi5pbnB1dC1zdHJldGNoLmhzLWlucHV0LCBpbnB1dC5zdHJldGNoLmhzLWlucHV0LCB0ZXh0YXJlYS5zdHJldGNoLmhzLWlucHV0LCBzZWxlY3Quc3RyZXRjaC5ocy1pbnB1dCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlOyB9XG5cbnRleHRhcmVhLmhzLWlucHV0Lnh4bGFyZ2UgeyBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW4xLCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMSwgc2VsZWN0LmhzLWlucHV0LnNwYW4xIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDMwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW4yLCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMiwgc2VsZWN0LmhzLWlucHV0LnNwYW4yIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDkwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW4zLCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMywgc2VsZWN0LmhzLWlucHV0LnNwYW4zIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDE1MHB4OyBtYXJnaW4tbGVmdDogMDsgfVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuNCwgdGV4dGFyZWEuaHMtaW5wdXQuc3BhbjQsIHNlbGVjdC5ocy1pbnB1dC5zcGFuNCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAyMTBweDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjUsIHRleHRhcmVhLmhzLWlucHV0LnNwYW41LCBzZWxlY3QuaHMtaW5wdXQuc3BhbjUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiBub25lOyB3aWR0aDogMjcwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW42LCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuNiwgc2VsZWN0LmhzLWlucHV0LnNwYW42IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDMzMHB4OyBtYXJnaW4tbGVmdDogMDsgfVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuNywgdGV4dGFyZWEuaHMtaW5wdXQuc3BhbjcsIHNlbGVjdC5ocy1pbnB1dC5zcGFuNyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAzOTBweDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjgsIHRleHRhcmVhLmhzLWlucHV0LnNwYW44LCBzZWxlY3QuaHMtaW5wdXQuc3BhbjggeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiBub25lOyB3aWR0aDogNDUwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW45LCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuOSwgc2VsZWN0LmhzLWlucHV0LnNwYW45IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDUxMHB4OyBtYXJnaW4tbGVmdDogMDsgfVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuMTAsIHRleHRhcmVhLmhzLWlucHV0LnNwYW4xMCwgc2VsZWN0LmhzLWlucHV0LnNwYW4xMCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IG5vbmU7IHdpZHRoOiA1NzBweDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjExLCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMTEsIHNlbGVjdC5ocy1pbnB1dC5zcGFuMTEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiBub25lOyB3aWR0aDogNjMwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW4xMiwgdGV4dGFyZWEuaHMtaW5wdXQuc3BhbjEyLCBzZWxlY3QuaHMtaW5wdXQuc3BhbjEyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDY5MHB4OyBtYXJnaW4tbGVmdDogMDsgfVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuMTMsIHRleHRhcmVhLmhzLWlucHV0LnNwYW4xMywgc2VsZWN0LmhzLWlucHV0LnNwYW4xMyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IG5vbmU7IHdpZHRoOiA3NTBweDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjE0LCB0ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMTQsIHNlbGVjdC5ocy1pbnB1dC5zcGFuMTQgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiBub25lOyB3aWR0aDogODEwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmlucHV0LmhzLWlucHV0LnNwYW4xNSwgdGV4dGFyZWEuaHMtaW5wdXQuc3BhbjE1LCBzZWxlY3QuaHMtaW5wdXQuc3BhbjE1IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IDg3MHB4OyBtYXJnaW4tbGVmdDogMDsgfVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuMTYsIHRleHRhcmVhLmhzLWlucHV0LnNwYW4xNiwgc2VsZWN0LmhzLWlucHV0LnNwYW4xNiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IG5vbmU7IHdpZHRoOiA5MzBweDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuaW5wdXQuaHMtaW5wdXRbZGlzYWJsZWRdLCBzZWxlY3QuaHMtaW5wdXRbZGlzYWJsZWRdLCB0ZXh0YXJlYS5ocy1pbnB1dFtkaXNhYmxlZF0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyBib3JkZXItY29sb3I6ICNkZGQ7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmhlbHAtaW5saW5lLCAuaGVscC1ibG9jayB7IGZvbnQtc2l6ZTogMTFweDsgbGluZS1oZWlnaHQ6IDE4cHg7IGNvbG9yOiAjODE4MTgxOyB9XG5cbi5oZWxwLWlubGluZSB7IHBhZGRpbmctbGVmdDogNXB4OyB9XG5cbi5oZWxwLWJsb2NrIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogNjAwcHg7IH1cblxuLmlubGluZS1pbnB1dHMgeyBjb2xvcjogIzgxODE4MTsgfVxuXG4uaW5saW5lLWlucHV0cyBzcGFuLCAuaW5saW5lLWlucHV0cyBpbnB1dCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uaW5saW5lLWlucHV0cyBpbnB1dC5taW5pIHsgd2lkdGg6IDYwcHg7IH1cblxuLmlubGluZS1pbnB1dHMgaW5wdXQuc21hbGwgeyB3aWR0aDogOTBweDsgfVxuXG4uaW5saW5lLWlucHV0cyBzcGFuIHsgcGFkZGluZzogMCAycHggMCAxcHg7IH1cblxuLmlucHV0LXByZXBlbmQgaW5wdXQsIC5pbnB1dC1hcHBlbmQgaW5wdXQgeyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyAtbW96LWJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyAtbXMtYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyB9XG5cbi5pbnB1dC1wcmVwZW5kIC5hZGQtb24sIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZDogI2Y1ZjVmNTsgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgei1pbmRleDogMjsgZmxvYXQ6IGxlZnQ7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogYXV0bzsgbWluLXdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE4cHg7IHBhZGRpbmc6IDRweCA0cHggNHB4IDVweDsgbWFyZ2luLXJpZ2h0OiAtMXB4OyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMThweDsgY29sb3I6ICNiZmJmYmY7IHRleHQtYWxpZ246IGNlbnRlcjsgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDsgLW1vei1ib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDsgLW1zLWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDsgfVxuXG4uaW5wdXQtcHJlcGVuZCAuYWN0aXZlLCAuaW5wdXQtYXBwZW5kIC5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAjYmZlMGJmOyBib3JkZXItY29sb3I6ICM1OWFkNTk7IH1cblxuLmlucHV0LWFwcGVuZCBpbnB1dCB7IGZsb2F0OiBsZWZ0OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyAtbW96LWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyAtbXMtYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7IGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyB9XG5cbi5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IC1tb3otYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IC1tcy1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDsgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cblxuLmhzLWZvcm0geyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbi5ocy1mb3JtIGZpZWxkc2V0IHsgbWFyZ2luLWJvdHRvbTogMThweDsgcGFkZGluZy10b3A6IDE4cHg7IH1cblxuLmhzLWZvcm0gZmllbGRzZXQgbGVnZW5kIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiAxNTBweDsgZm9udC1zaXplOiAxOS41cHg7IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogIzQxNDE0MTsgfVxuXG4uaHMtZm9ybSAuY2xlYXJmaXgsIC5ocy1mb3JtIC5maWVsZCwgLmhzLWZvcm0gLmhzLWZvcm0tZmllbGQgeyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbi5ocy1mb3JtIC5jbGVhcmZpeDphZnRlciwgLmhzLWZvcm0gLmZpZWxkOmFmdGVyLCAuaHMtZm9ybSAuaHMtZm9ybS1maWVsZDphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyBjbGVhcjogYm90aDsgfVxuXG4uaHMtZm9ybSBsYWJlbCB7IHBhZGRpbmctdG9wOiA1cHg7IGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDE4cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBmbG9hdDogbGVmdDsgd2lkdGg6IDEzMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgY29sb3I6ICM0MTQxNDE7IH1cblxuLmhzLWZvcm0gLmlucHV0IHsgbWFyZ2luLWxlZnQ6IDE1MHB4OyB9XG5cbi5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciB7IGJhY2tncm91bmQ6ICNmYWU1ZTM7IHBhZGRpbmc6IDZweCAwOyBtYXJnaW4tYm90dG9tOiAxOHB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IC1tcy1ib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4uaHMtZm9ybSBkaXYuZmllbGQuZXJyb3IgPiBsYWJlbCwgLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIHNwYW4uaGVscC1pbmxpbmUsIC5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciBzcGFuLmhlbHAtYmxvY2sgeyBjb2xvcjogIzlkMjYxZDsgfVxuXG4uaHMtZm9ybSBkaXYuZmllbGQuZXJyb3IgLmlucHV0LXByZXBlbmQgc3Bhbi5hZGQtb24sIC5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciAuaW5wdXQtYXBwZW5kIHNwYW4uYWRkLW9uIHsgYmFja2dyb3VuZDogI2Y0YzhjNTsgYm9yZGVyLWNvbG9yOiAjYzg3ODcyOyBjb2xvcjogI2I5NTU0ZDsgfVxuXG4uaHMtZm9ybSAuaHNFcnJNc2dDb250YWluZXIgdWwgeyBtYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDBweDsgbWFyZ2luLWxlZnQ6IDdweDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uaHMtZm9ybSAuaHNFcnJNc2dDb250YWluZXIgdWwgbGkgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjYTQ0ZTQ3OyB9XG5cbi5ocy1mb3JtIC5oc0Vyck1zZ0NvbnRhaW5lciAuaHMtYmxvY2stbWVzc2FnZSB7IG1pbi13aWR0aDogMjAwcHg7IHdpZHRoOiAyMDBweDsgfVxuXG4uaHMtZm9ybSAuaHNFcnJNc2dDb250YWluZXIgLmhzLWJsb2NrLW1lc3NhZ2UgdWwgeyBtYXJnaW4tdG9wOiAwcHg7IH1cblxuLmhzLWZvcm0gLmFjdGlvbnMgeyBiYWNrZ3JvdW5kOiAjZjVmNWY1OyBtYXJnaW4tdG9wOiAxOHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyBwYWRkaW5nOiAxN3B4IDIwcHggMThweCAxNTBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IC1tb3otYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IC1tcy1ib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cblxuLmhzLWZvcm0gLmFjdGlvbnMgLnNlY29uZGFyeS1hY3Rpb24geyBmbG9hdDogcmlnaHQ7IH1cblxuLmhzLWZvcm0gLmFjdGlvbnMgLnNlY29uZGFyeS1hY3Rpb24gYSB7IGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi5ocy1mb3JtIC5hY3Rpb25zIC5zZWNvbmRhcnktYWN0aW9uIGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3QgeyBtYXJnaW46IDAgMCA1cHg7IHdpZHRoOiAxMDAlOyB9XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCA+IGxpIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDA7IHdpZHRoOiAxMDAlOyB9XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDA7IGxpbmUtaGVpZ2h0OiAxOHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBsYWJlbCBzdHJvbmcgeyBjb2xvcjogIzgxODE4MTsgfVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3QgbGFiZWwgc21hbGwgeyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0IC5pbnB1dHMtbGlzdCB7IG1hcmdpbi1sZWZ0OiAyNXB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nLXRvcDogMDsgfVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3Q6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXRvcDogNnB4OyB9XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCA+IGxpICsgbGkgeyBwYWRkaW5nLXRvcDogMnB4OyB9XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBpbnB1dFt0eXBlPXJhZGlvXSwgLmhzLWZvcm0gLmlucHV0cy1saXN0IGlucHV0W3R5cGU9Y2hlY2tib3hdIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaHMtZm9ybS5zdGFja2VkIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbi5ocy1mb3JtLnN0YWNrZWQgZmllbGRzZXQgeyBwYWRkaW5nLXRvcDogOXB4OyB9XG5cbi5ocy1mb3JtLnN0YWNrZWQgbGVnZW5kIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmhzLWZvcm0uc3RhY2tlZCBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbm9uZTsgd2lkdGg6IGF1dG87IGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMjBweDsgcGFkZGluZy10b3A6IDA7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuXG4uaHMtZm9ybS5zdGFja2VkIC5maWVsZCB7IG1hcmdpbi1ib3R0b206IDE4cHg7IH1cblxuLmhzLWZvcm0uc3RhY2tlZCAuZmllbGQgZGl2LmlucHV0IHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmhzLWZvcm0uc3RhY2tlZCAuZmllbGQgZGl2LmlucHV0ID4gaW5wdXQgKyBhLCAuaHMtZm9ybS5zdGFja2VkIC5maWVsZCBkaXYuaW5wdXQgc2VsZWN0ICsgYSwgLmhzLWZvcm0uc3RhY2tlZCAuZmllbGQgZGl2LmlucHV0IHRleHRhcmVhICsgYSB7IG1hcmdpbi10b3A6IDRweDsgZGlzcGxheTogYmxvY2s7IH1cblxuLmhzLWZvcm0uc3RhY2tlZCAuaW5wdXRzLWxpc3QgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ocy1mb3JtLnN0YWNrZWQgLmlucHV0cy1saXN0ID4gbGkgeyBwYWRkaW5nLXRvcDogMDsgfVxuXG4uaHMtZm9ybS5zdGFja2VkIC5pbnB1dHMtbGlzdCA+IGxpIGxhYmVsIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgcGFkZGluZy10b3A6IDA7IH1cblxuLmhzLWZvcm0uc3RhY2tlZCBkaXYuZXJyb3IgeyBwYWRkaW5nOiAzcHggMTBweCA2cHg7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1sZWZ0OiAtMTBweDsgbWFyZ2luLWJvdHRvbTogOXB4OyB9XG5cbi5ocy1mb3JtLnN0YWNrZWQgLmFjdGlvbnMgeyBtYXJnaW4tbGVmdDogLTIwcHg7IHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4uaHMtZm9ybSB7IHBhZGRpbmctbGVmdDogMHB4OyB9XG5cbi5ocy1mb3JtLnN0YWNrZWQgeyBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuXG4uaHMtZm9ybS5zdGFja2VkIGZpZWxkc2V0IHsgcGFkZGluZzogMDsgfVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uIHsgY29sb3I6ICNmZmY7IHRleHQtc2hhZG93OiAwIC0xcHggMCAjMzU3NGUzOyAvKiAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1NzRlMzsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDUwJSAwJSwgNTAlIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM3ZWM4ZjQpLCBjb2xvci1zdG9wKDEwMCUsICMzNTc0ZTMpKTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjN2VjOGY0LCAjMzU3NGUzKTsgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjN2VjOGY0LCAjMzU3NGUzKTsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgIzdlYzhmNCwgIzM1NzRlMyk7IGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2NGJhZjA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWM0ZWQ1OyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDY4ZWU2OyBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0NjhlZTY7ICovIGJvcmRlci1yYWRpdXM6IDRweDsgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7IC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5ocy1mb3JtIC5ocy1idXR0b246dmlzaXRlZCwgLmhzLWZvcm0gLmhzLWJ1dHRvbjpob3ZlciB7IGNvbG9yOiAjZmZmOyB9XG5cbi5ocy1mb3JtIC5ocy1idXR0b246aG92ZXI6bm90KC5pbmFjdGl2ZSksIC5ocy1mb3JtIC5ocy1idXR0b246Zm9jdXM6bm90KC5pbmFjdGl2ZSksIC5ocy1mb3JtIC5ocy1idXR0b24uaG92ZXJlZDpub3QoLmluYWN0aXZlKSB7IC8qIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgMCAwIDVweCAjMzU3NGUzOyBib3JkZXItdG9wOiAxcHggc29saWQgIzRkYjBlZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxOTQ2YmU7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMzMDgwZTM7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzMwODBlMyAqLyB9XG5cbi5ocy1mb3JtIC5ocy1idXR0b246YWN0aXZlOm5vdCguaW5hY3RpdmUpOm5vdCgubGluayksIC5ocy1mb3JtIC5ocy1idXR0b24uZGVwcmVzc2VkOm5vdCguaW5hY3RpdmUpOm5vdCgubGluayksIC5kcm9wZG93bi1vcGVuID4gLmhzLWZvcm0gLmhzLWJ1dHRvbjpub3QoLmluYWN0aXZlKTpub3QoLmxpbmspIHsgLyogYmFja2dyb3VuZC1jb2xvcjogIzU5OWVlYjsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDUwJSAwJSwgNTAlIDEwMCUsIGNvbG9yLXN0b3AoMCUsICMzNTc0ZTMpLCBjb2xvci1zdG9wKDEwMCUsICM1OTllZWIpKTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMzU3NGUzLCAjNTk5ZWViKTsgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMzU3NGUzLCAjNTk5ZWViKTsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgIzM1NzRlMywgIzU5OWVlYik7IGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgaW5zZXQgMHB4IC0xcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxYzRlZDU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDA4NGUyOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDY4ZWU2OyBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0NjhlZTYgKi8gfVxuXG4uZHJvcGRvd24tb3BlbiA+IC5ocy1mb3JtIC5ocy1idXR0b246bm90KC5pbmFjdGl2ZSk6bm90KC5saW5rKSB7IGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLmRpc2FibGVkLmRpc2FibGVkLmRpc2FibGVkLmRpc2FibGVkLCAuaHMtZm9ybSAuaHMtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF1bZGlzYWJsZWRdIHsgLyogYmFja2dyb3VuZC1jb2xvcjogIzYzODdjNTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDUwJSAwJSwgNTAlIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM4OGIxY2UpLCBjb2xvci1zdG9wKDEwMCUsICM2Mzg3YzUpKTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjODhiMWNlLCAjNjM4N2M1KTsgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjODhiMWNlLCAjNjM4N2M1KTsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgIzg4YjFjZSwgIzYzODdjNSk7IGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjN2JhYWNjOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU3NzRiZTsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzZjOTRjNzsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNmM5NGM3OyAqLyBjdXJzb3I6IGRlZmF1bHQ7IGNvbG9yOiAjZWRlZGVkOyB0ZXh0LXNoYWRvdzogbm9uZTsgb3BhY2l0eTogMC42OyB9XG5cbi5ocy1mb3JtIC5ocy1idXR0b24uZGlzYWJsZWQuZGlzYWJsZWQuZGlzYWJsZWQuZGlzYWJsZWQubmV4dDpiZWZvcmUsIC5ocy1mb3JtIC5ocy1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXVtkaXNhYmxlZF0ubmV4dDpiZWZvcmUgeyBvcGFjaXR5OiAwLjU7IH1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbi5kaXNhYmxlZC5kaXNhYmxlZC5kaXNhYmxlZC5kaXNhYmxlZC5wcmV2aW91czpiZWZvcmUsIC5ocy1mb3JtIC5ocy1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXVtkaXNhYmxlZF0ucHJldmlvdXM6YmVmb3JlIHsgb3BhY2l0eTogMC41OyB9XG5cbi5ocy1mb3JtIC5ocy1idXR0b24ubmV4dDpiZWZvcmUsIC5ocy1mb3JtIC5ocy1idXR0b24ucHJldmlvdXM6YmVmb3JlIHsgYmFja2dyb3VuZDogdXJsKC9zdHlsZV9ndWlkZS9zdGF0aWMtOC4zMTkvaW1nL2hzLWJ1dHRvbi1hcnJvd3MucG5nKSBjZW50ZXIgMCBuby1yZXBlYXQ7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNXB4OyBjb250ZW50OiBcIiBcIjsgei1pbmRleDogOTk7IH1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbi5uZXh0IHsgcGFkZGluZy1yaWdodDogMzJweDsgfVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLm5leHQ6YmVmb3JlIHsgcmlnaHQ6IDlweDsgfVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLnByZXZpb3VzIHsgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XG5cbi5ocy1mb3JtIC5ocy1idXR0b24ucHJldmlvdXM6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xNnB4OyBsZWZ0OiA5cHg7IH1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbi5pbmFjdGl2ZSB7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uaHMtZm9ybSB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmhzLWZvcm0gbGFiZWwgeyBkaXNwbGF5OiBibG9jazsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uaHMtZm9ybSBsYWJlbC5oaWRkZW4geyBkaXNwbGF5OiBub25lOyB9XG5cbi5ocy1mb3JtIC5ocy1maWVsZC1kZXNjIHsgY29sb3I6ICNhYWE7IG1hcmdpbjogMHB4IDBweCA1cHggMTUwcHg7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uaHMtZm9ybSAuaHMtZm9ybS1yZXF1aXJlZCB7IGNvbG9yOiByZWQ7IH1cblxuLmhzLWZvcm0gLmZpZWxkIHsgbWFyZ2luLWJvdHRvbTogOXB4OyB9XG5cbi5ocy1mb3JtIC5ocy1yaWNodGV4dCB7IG1hcmdpbi1ib3R0b206IDNweDsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IDE4cHg7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICM0MTQxNDE7IH1cblxuLmhzLWZvcm0gLmhzLXJpY2h0ZXh0IGhyIHsgdGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWxlZnQ6IDA7IHdpZHRoOiA5MSU7IH1cblxuLmhzLWZvcm0gLmVtYWlsLWNvcnJlY3Rpb24sIC5ocy1mb3JtIC5lbWFpbC12YWxpZGF0aW9uIHsgcGFkZGluZy10b3A6IDNweDsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5ocy1mb3JtIC5lbWFpbC1jb3JyZWN0aW9uIGEsIC5ocy1mb3JtIC5lbWFpbC12YWxpZGF0aW9uIGEgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0IHsgcGFkZGluZy1sZWZ0OiA1cHg7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0IGxpIGlucHV0IHsgbWFyZ2luOiAzcHggNXB4IDNweCAwcHg7IH1cblxuLmhzLWZvcm0gaW5wdXRbdHlwZT1jaGVja2JveF0sIC5ocy1mb3JtIGlucHV0W3R5cGU9cmFkaW9dIHsgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmhzLWZvcm0gaW5wdXQ6bm90KFt0eXBlPVwiaW1hZ2VcIl0pLCAuaHMtZm9ybSB0ZXh0YXJlYSB7IC8qIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICovIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmhzLWZvcm0uc3RhY2tlZCAuaHMtZmllbGQtZGVzYyB7IG1hcmdpbjogMHB4IDBweCAycHggMHB4OyB9XG5cbi5ocy1mb3JtIC5ocy1pbnB1dCwgLmhzLWZvcm0gdGV4dGFyZWEuaHMtaW5wdXQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXgtd2lkdGg6IDUwMHB4OyB3aWR0aDogOTAlOyB9XG5cbi5ocy1mb3JtIC5ocy1pbnB1dDpub3RbdHlwZT1jaGVja2JveF0sIC5ocy1mb3JtIC5ocy1pbnB1dDpub3RbdHlwZT1yYWRpb10sIC5ocy1mb3JtIHRleHRhcmVhLmhzLWlucHV0Om5vdFt0eXBlPWNoZWNrYm94XSwgLmhzLWZvcm0gdGV4dGFyZWEuaHMtaW5wdXQ6bm90W3R5cGU9cmFkaW9dIHsgbWluLWhlaWdodDogMThweDsgbWluLXdpZHRoOiAxMDBweDsgfVxuXG4uaHMtZm9ybSAuYWN0aW9ucyB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBtYXJnaW4tdG9wOiAxOHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyBwYWRkaW5nOiAxN3B4IDIwcHggMThweCAwcHg7IGJvcmRlci10b3A6IG5vbmU7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IC1tb3otYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IC1tcy1ib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cblxuLmhzLWZvcm0gLmFjdGlvbnMgLnNlY29uZGFyeS1hY3Rpb24geyBmbG9hdDogcmlnaHQ7IH1cblxuLmhzLWZvcm0gLmFjdGlvbnMgLnNlY29uZGFyeS1hY3Rpb24gYSB7IGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi5ocy1mb3JtIC5hY3Rpb25zIC5zZWNvbmRhcnktYWN0aW9uIGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucGlrYS1zaW5nbGUgeyB6LWluZGV4OiA5OTk5OyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyBjb2xvcjogIzMzMzsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JiYjsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ucGlrYS1zaW5nbGUuaXMtaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ucGlrYS1zaW5nbGUuaXMtYm91bmQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnBpa2Etc2luZ2xlIHsgKnpvb206IDE7IH1cblxuLnBpa2Etc2luZ2xlOmJlZm9yZSwgLnBpa2Etc2luZ2xlOmFmdGVyIHsgY29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5waWthLXNpbmdsZTphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi5waWthLWxlbmRhciB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMjQwcHg7IG1hcmdpbjogOHB4OyB9XG5cbi5waWthLXRpdGxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBpa2EtdGl0bGUgc2VsZWN0IHsgY3Vyc29yOiBwb2ludGVyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDk5OTg7IG1hcmdpbjogMDsgbGVmdDogMDsgdG9wOiA1cHg7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgb3BhY2l0eTogMDsgfVxuXG4ucGlrYS1sYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgKmRpc3BsYXk6IGlubGluZTsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiA5OTk5OyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW46IDA7IHBhZGRpbmc6IDVweCAzcHg7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5waWthLXByZXYsIC5waWthLW5leHQgeyBkaXNwbGF5OiBibG9jazsgY3Vyc29yOiBwb2ludGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IG91dGxpbmU6IG5vbmU7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgd2lkdGg6IDIwcHg7IGhlaWdodDogMzBweDsgdGV4dC1pbmRlbnQ6IDIwcHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IDc1JSA3NSU7IG9wYWNpdHk6IDAuNTsgKnBvc2l0aW9uOiBhYnNvbHV0ZTsgKnRvcDogMDsgfVxuXG4ucGlrYS1wcmV2OmhvdmVyLCAucGlrYS1uZXh0OmhvdmVyIHsgb3BhY2l0eTogMTsgfVxuXG4ucGlrYS1wcmV2LmlzLWRpc2FibGVkLCAucGlrYS1uZXh0LmlzLWRpc2FibGVkIHsgY3Vyc29yOiBkZWZhdWx0OyBvcGFjaXR5OiAwLjI7IH1cblxuLnBpa2EtcHJldiwgLmlzLXJ0bCAucGlrYS1uZXh0IHsgZmxvYXQ6IGxlZnQ7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQlFBQUFBZUNBWUFBQUFzRWo1ckFBQUFVa2xFUVZSNDJ1M1ZNUW9BSUJBRFFmOFBnaitPRDloRzJDdE9OSkIyeW1Ra0tlMEhid0FQMHh1Y0RpUVdBUklUSURFQkVuTWdNUThTOCtBcUJJbDZrS2dIaVhxUXFBZUplcEJvL3ozOEovVTB1QUhsYUJrQmw5STRHd0FBQUFCSlJVNUVya0pnZ2c9PVwiKTsgKmxlZnQ6IDA7IH1cblxuLnBpa2EtbmV4dCwgLmlzLXJ0bCAucGlrYS1wcmV2IHsgZmxvYXQ6IHJpZ2h0OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJRQUFBQWVDQVlBQUFBc0VqNXJBQUFBVTBsRVFWUjQydTNWT3dvQU1BZ0UwZHdmQW5OalUyNmJZa0JDRkd3ZmlMOVZWV29PK0JKNEdmM2d0c0VLS29GQk5UQ29DQVlWd2FBaUdOUUdNVUhNa2pHYmdqazJtSU9OdVhvMG5DOFhuQ2YxSlhnQXJWSVpBUWg1VEtZQUFBQUFTVVZPUks1Q1lJST1cIik7ICpyaWdodDogMDsgfVxuXG4ucGlrYS1zZWxlY3QgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICpkaXNwbGF5OiBpbmxpbmU7IH1cblxuLnBpa2EtdGFibGUgeyB3aWR0aDogMTAwJTsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlcjogMDsgfVxuXG4ucGlrYS10YWJsZSB0aCwgLnBpa2EtdGFibGUgdGQgeyB3aWR0aDogMTQuMjg1NzElOyBwYWRkaW5nOiAwOyB9XG5cbi5waWthLXRhYmxlIHRoIHsgY29sb3I6ICM5OTk7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDI1cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBpa2EtdGFibGUgYWJiciB7IGJvcmRlci1ib3R0b206IG5vbmU7IGN1cnNvcjogaGVscDsgfVxuXG4ucGlrYS1idXR0b24geyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGJsb2NrOyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG91dGxpbmU6IG5vbmU7IGJvcmRlcjogMDsgbWFyZ2luOiAwOyB3aWR0aDogMTAwJTsgcGFkZGluZzogNXB4OyBjb2xvcjogIzY2NjsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTVweDsgdGV4dC1hbGlnbjogcmlnaHQ7IGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cblxuLmlzLXRvZGF5IC5waWthLWJ1dHRvbiB7IGNvbG9yOiAjM2FmOyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uIHsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiBib2xkOyBiYWNrZ3JvdW5kOiAjM2FmOyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggIzE3OGZlNTsgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5pcy1kaXNhYmxlZCAucGlrYS1idXR0b24geyBwb2ludGVyLWV2ZW50czogbm9uZTsgY3Vyc29yOiBkZWZhdWx0OyBjb2xvcjogIzk5OTsgb3BhY2l0eTogMC4zOyB9XG5cbi5waWthLWJ1dHRvbjpob3ZlciB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZjgwMDAgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDsgfVxuXG4ucGlrYS13ZWVrIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogIzk5OTsgfVxuXG4uaHMtZm9ybSBmaWVsZHNldCB7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyBtYXgtd2lkdGg6IDUwMHB4OyB9XG5cbi5ocy1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0xIC5ocy1pbnB1dCB7IHdpZHRoOiA5NSU7IH1cblxuLmhzLWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTEgLmlucHV0IHsgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cblxuLmhzLWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTEgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCAuaHMtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMSBpbnB1dFt0eXBlPVwicmFkaW9cIl0geyB3aWR0aDogYXV0bzsgfVxuXG4uaHMtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZCB7IHdpZHRoOiA1MCU7IGZsb2F0OiBsZWZ0OyB9XG5cbi5ocy1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5pbnB1dCB7IG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi5ocy1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0zIC5ocy1mb3JtLWZpZWxkIHsgd2lkdGg6IDMyLjclOyBmbG9hdDogbGVmdDsgfVxuXG4uaHMtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMyAuaW5wdXQgeyBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4uaHMtZm9ybSBmaWVsZHNldCAuaHMtZm9ybS1maWVsZC5oaWRkZW4tbGFiZWwgeyBtYXJnaW4tdG9wOiAyNHB4OyB9XG5cbi5ocy1mb3JtIC5ocy1zb2NpYWwtbG9naW4geyBib3JkZXItcmFkaXVzOiAzcHg7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB3aWR0aDogOTUlOyBtYXgtd2lkdGg6IDQ4MHB4OyBoZWlnaHQ6IDkwcHg7IH1cblxuLmhzZm9ybWVycm9yIHsgbWFyZ2luOiAwIDAgMnB4OyBwYWRkaW5nOiAycHggNnB4OyBoZWlnaHQ6IGF1dG87IGJhY2tncm91bmQtY29sb3I6ICNmZGQyZDA7IGZvbnQtc2l6ZTogMTFweDsgYm9yZGVyOiAxcHggc29saWQgI2ZjYjNhZjsgcGFkZGluZzogNHB4IDE2cHggNHB4IDEwcHg7IGNvbG9yOiAjMDAwOyBkaXNwbGF5OiBub25lOyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgNTAlIDAlLCA1MCUgMTAwJSwgY29sb3Itc3RvcCgwJSwgI2ZlZmVmZSksIGNvbG9yLXN0b3AoMTAwJSwgI2ZkZDJkMCkpOyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZmVmZWZlLCAjZmRkMmQwKTsgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2ZlZmVmZSwgI2ZkZDJkMCk7IGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgjZmVmZWZlLCAjZmRkMmQwKTsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmZWZlZmUsICNmZGQyZDApOyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IC1tcy1ib3JkZXItcmFkaXVzOiA0cHg7IC1vLWJvcmRlci1yYWRpdXM6IDRweDsgYm9yZGVyLXJhZGl1czogNHB4OyAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA2cHggI2RkZDsgLW1vei1ib3gtc2hhZG93OiAwIDAgNnB4ICNkZGQ7IGJveC1zaGFkb3c6IDAgMCA2cHggI2RkZDsgei1pbmRleDogOTk5OTk7IH1cblxuLmhzZm9ybWVycm9yIGVtIHsgYm9yZGVyOiAxMHB4IHNvbGlkOyBib3JkZXItY29sb3I6ICNmZGQyZDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IGJvdHRvbTogLTE3cHg7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGxlZnQ6IDYwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDA7IH1cblxuLmhzZm9ybWVycm9yIHAgeyBmb250LWZhbWlseTogTHVjaWRhIEdyYW5kZSwgTHVjaWRhIFNhbnMgVW5pY29kZSwgYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOyBtYXJnaW46IDA7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4uaHNmb3JtZXJyb3I6aG92ZXIgeyBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmhzZm9ybWVycm9yIC5jbG9zZS1mb3JtLWVycm9yIHsgZmxvYXQ6IHJpZ2h0OyBkaXNwbGF5OiBpbmxpbmU7IHRvcDogM3B4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGZvbnQtZmFtaWx5OiBWZXJkYW5hICFpbXBvcnRhbnQ7IGNvbG9yOiAjYjE3Yzc5ICFpbXBvcnRhbnQ7IGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OyBmb250LXNpemU6IDExcHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5oc2Zvcm1lcnJvciAuY2xvc2UtZm9ybS1lcnJvcjpob3ZlciB7IGNvbG9yOiAjY2M4ODg0OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCksIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA0ODBweCkgeyBmb3JtLmhzLWZvcm0gLmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkLCBmb3JtLmhzLWZvcm0gLmZvcm0tY29sdW1ucy0zIC5ocy1mb3JtLWZpZWxkIHsgZmxvYXQ6IG5vbmU7IHdpZHRoOiAxMDAlOyB9XG4gIGZvcm0uaHMtZm9ybSAuZm9ybS1jb2x1bW5zLTIgLmhzLWZvcm0tZmllbGQgLmhzLWlucHV0LCBmb3JtLmhzLWZvcm0gLmZvcm0tY29sdW1ucy0zIC5ocy1mb3JtLWZpZWxkIC5ocy1pbnB1dCB7IHdpZHRoOiA5NSU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDIycHgpIHsgLmFsbC1zb2NpYWwtdHlwZXMgeyBoZWlnaHQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM0MnB4KSB7IC5ocy1zb2NpYWwtbG9naW4geyBoZWlnaHQ6IDcycHg7IH0gfVxuXG4vKiBTSFIgZWRpdHMgKi9cbi5oYnNwdC1mb3JtIGZvcm0geyB3aWR0aDogNTAlOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkgeyAuaGJzcHQtZm9ybSBmb3JtIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaHMtZm9ybSAuaHMtaW5wdXQsIC5ocy1mb3JtIHRleHRhcmVhLmhzLWlucHV0IC5ocy1mb3JtIHNlbGVjdC5ocy1pbnB1dCB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IG5vbmU7IG1hcmdpbi1ib3R0b206IC41cmVtOyBmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMS4xMjVyZW07IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmhzLWZvcm0gLmhzLWlucHV0LCAuaHMtZm9ybSBzZWxlY3QuaHMtaW5wdXQgeyBoZWlnaHQ6IDJyZW07IH1cblxuLmhzLWZvcm0gbGFiZWwgeyBmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYm9yZGVyLXJhZGl1czogNXB4OyBib3JkZXI6IDNweCBzb2xpZCAjZmY5NTAwOyBsaW5lLWhlaWdodDogMS41OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwYWRkaW5nOiAuNWVtIDEuNWVtOyBjb2xvcjogI2ZmOTUwMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IGJvbGQ7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgdGV4dC1zaGFkb3c6IG5vbmU7IGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uOmhvdmVyIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7IGJveC1zaGFkb3c6IG5vbmU7IGJvcmRlcjogM3B4IHNvbGlkICNmZjk1MDA7IH1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbjphY3RpdmUgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDsgYm94LXNoYWRvdzogbm9uZTsgYm9yZGVyOiAzcHggc29saWQgI2ZmOTUwMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpOyB9XG5cbi5ocy1mb3JtIC5ocy1mb3JtLXJlcXVpcmVkIHsgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxuXG4uaHMtZm9ybSBzZWxlY3QuaHMtaW5wdXQgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0OyAtbW96LWFwcGVhcmFuY2U6IG1lbnVsaXN0OyBhcHBlYXJhbmNlOiBtZW51bGlzdDsgfVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufSIsIi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdFxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi5zbGljay1saXN0OmZvY3VzXG57XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1saXN0LmRyYWdnaW5nXG57XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0XG57XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgY29udGVudDogJyc7XG59XG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBjbGVhcjogYm90aDtcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGVcbntcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcbntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gQmFzZSBzdHlsZXMgYW5kIHR5cG9ncmFwaHlcblxuYm9keSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn1cblxucCxcbmEsXG51bCBsaSxcbm9sIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxufVxuXG5wIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIH1cbn1cblxuaDEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cbn1cblxuaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGxpbmUtaGVpZ2h0OjM2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG59XG5cbmgzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuaDQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIG1hcmdpbjogMWVtIDA7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBkaXYjcGFnZS5zaXRlIHtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbn1cblxuLndyYXBwZXIge1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2ZW07XG5cbiAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICB9XG59XG5cbi5yb3cge1xuICAgbWF4LXdpZHRoOiAxMTcwcHg7XG59XG5cbiNiYW5uZXItaGVhZGVyICsgLmNvbnRhaW5lcixcbiNmZWF0dXJlZC1pbnRybyArIC5jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDMuNWVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xuICAgIH1cbn1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiA2cHggMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuYnRuLXdoaXRlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gR2VuZXJpYyBQYWdlIC8gUG9zdCBpbWFnZSBzdHlsZXNcbmltZy5hbGlnbmxlZnQsXG5pbWcubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAxZW0gMWVtIDFlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgfVxufVxuXG5pbWcuYWxpZ25yaWdodCxcbmltZy5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMWVtIDAgMWVtIDFlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgIH1cbn1cblxuaW1nLmFsaWduY2VudGVyLFxuaW1nLmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxZW0gYXV0bztcbn1cblxuaW1nLmFsaWdubm9uZSxcbmltZy5ub25lIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxZW0gYXV0bztcbiAgICB9XG59XG5cbmZpZ3VyZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMWVtIDA7XG5cbiAgICAmLmFsaWdubGVmdCxcbiAgICAmLmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAxZW0gMWVtIDFlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbnJpZ2h0LFxuICAgICYucmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMWVtIDAgMWVtIDFlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxZW0gYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ25jZW50ZXIsXG4gICAgJi5jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxZW0gYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWdubm9uZVxuICAgICYubm9uZSB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cbiIsIi8vIFZhcmlhYmxlcyAmIE1peGluc1xuXG4vLyB0eXBvZ3JhcGh5XG4kYm9sZDogNzAwO1xuXG4vLyBjb2xvdXJzXG4kb3JhbmdlOiAjZmY5NTAwO1xuXG4kbGlnaHQtYmx1ZTogI2M4ZDNkNTtcbiRibHVlOiAjMDg0YzYxO1xuJGdyZXk6ICMzMzMzMzM7XG4kbGlnaHQtZ3JleTogIzk5OTtcblxuJGZvb3Rlci1iZzogI2Y3ZjdmNztcblxuLy9jdXN0b20gYnJlYWtwb2ludCwgYmV0d2VlbiBsYXJnZSBhbmQgc21hbGwsIGp1c3QgZm9yIHNvbWUgcGFkZGluZyBpbiBjZXJ0YWluIGFyZWFzXG4kY3VzdG9tOiAxMjgwcHg7XG5cbi8vIGJyZWFrcG9pbnRzXG4vLyAkYnJlYWtwb2ludHM6IChcbi8vICAgc21hbGw6IDBweCxcbi8vICAgbWVkaXVtOiA2NDBweCxcbi8vICAgbGFyZ2U6IDEwMjRweCxcbi8vICAgeGxhcmdlOiAxMjAwcHgsXG4vLyAgIHh4bGFyZ2U6IDE0NDBweCxcbi8vICk7XG5cblxuLy8gTWl4aW4gIHVzZWQgZm9yIFByaW1hcnkgYW5kIFNlY29uZGFyeSBoZWFkZXIgbmF2cyBvbiBtb2JpbGVcbkBtaXhpbiBtb2JpbGVtZW51IHtcbiAgICB1bCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmc7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIGEsXG4gICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB1bC5zdWItbWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZztcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMTAlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0gYSxcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgICAgICByaWdodDogNSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvYXJyb3dfcmlnaHRfYmx1ZS1vcHQuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB1bC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvYXJyb3dfcmlnaHRfZ3JleS1vcHQuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnN1Yi1vcGVuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmc7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRmxleGlibGUgRmllbGRzXG5cbi8vIEhlcm8gQmFubmVyIFNsaWRlclxuLy8gQUNGIEZpZWxkOiBcIkhlcm8gQmFubmVyIGFuZCBJbnRyb2R1Y3Rpb24gLSBTbGlkZXJcIlxuI2Jhbm5lci1oZWFkZXIge1xuXG4gICAgLnNsaWRlci1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCxcbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyAvL3VzaW5nIHRoaXMgdG8gc2V0IHRoZSBzbGlkZXJzIHRvIGVxdWFsIGhlaWdodCBpZiB0aGV5IGhhdmUgbW9yZS9sZXNzIGNvbnRlbnQuLi5cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICAgICAgLnNsaWNrLWxpc3QsXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gLi4uYnV0IHRoYXQgYnJlYWtzIHRoZSBzbGlkZXIgaW4gSUUxMSAoeW91IHdvbid0IHNlZSB0aGUgY29udGVudCksIHNvIHNldHRpbmcgaXQgdG8gYmxvY2tcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvdHRvbTogNnB4O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAzZW0gMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBlbTtcblxuICAgICAgICAgICAgaDEsIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCA0cHggJGdyZXk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuLmludHJvLWNvcHkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNHB4ICRncmV5O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMmVtIDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1LDUsNSwwLjIpO1xuXG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICBzcGFuLmludHJvLWNvcHkgIHtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLWRlZmF1bHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJvdy5yb3ctYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAuY29sdW1ucyB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ29udGVudCBCbG9jayAtIGNvbG91ciBiYWNrZ3JvdW5kXG4vLyBBQ0YgRmllbGQ6IFwiRmVhdHVyZWQgSGVhZGVyIENvbnRlbnQgKE9wdGlvbmFsKVwiXG4jZmVhdHVyZWQtaW50cm8ge1xuXG4gICAgJi5vcmFuZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmLmxpZ2h0Ymx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIH1cblxuICAgICYuZGFya2JsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgLnJvdyAuY29sdW1ucyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMi5oZXJvLWZlYXR1cmVkLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEltYWdlIHdpdGggRmVhdHVyZWQgQ29udGVudCBCbG9jayBvciBHcmlkXG4vLyBBQ0YgRmllbGQ6IFwiSW1hZ2Ugd2l0aCBGZWF0dXJlZCBDb250ZW50IEJsb2NrXCIgKGluIEZsZXhpYmxlIENvbnRlbnQgTW9kdWxlcylcbi5jb250YWluZXIuZmVhdHVyZWQtY29udGVudCB7XG4gICAgLmZsZXgtcm93IHtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2MDBweDtcblxuICAgICAgICAgICAgJi5jb2x1bW4tbGVmdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW4tcmlnaHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZlYXR1cmVkLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbm5lci1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuXG4gICAgICAgICAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5vcmFuZ2Uge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxpZ2h0Ymx1ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZGFya2JsdWUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZlYXR1cmVkLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbm5lci1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyZW07XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGN1c3RvbSBkb3duKSB7XG4gICAgICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbi1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAuY29sdW1ucy5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3NnB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW5zLmZlYXR1cmVkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLmlubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQUNGIEZsZXggQ29udGVudDogMyBDb2x1bW4gTGF5b3V0XG5cbi8vIEFDRiBGaWVsZDogXCJDb2x1bW5zOiAzIENvbHVtbiBFeHBhbmRlZCBMYXlvdXRcIiAoaW4gRmxleGlibGUgQ29udGVudCBNb2R1bGVzKVxuLy8gQU5EIE5vLVJlc3VsdHMgU2VhcmNoIGFuZCA0MDQgRmVhdHVyZWQgY29udGVudFxuLmNvbHVtbnMtbGF5b3V0IHtcbiAgICAucm93IHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1ucy5jb2x1bW5zLWludHJvIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMy41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAmLnJlZ3VsYXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4yNWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAucm93LmNvbHVtbnMtcm93IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIC5yb3cuY29sdW1ucy1yb3cge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQUNGIEZpZWxkOiBcIkNvbHVtbnM6IDMgQ29sdW1uIEJhc2ljIExheW91dFwiIChpbiBGbGV4aWJsZSBDb250ZW50IE1vZHVsZXMpXG4uY29sdW1ucy1sYXlvdXQtYmFzaWMge1xuICAgIC5jb2x1bW5zIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICYucmVndWxhciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi13cmFwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgLnJvdy5jb2x1bW5zLXJvdyB7XG4gICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgLnJvdy5jb2x1bW5zLXJvdyB7XG4gICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbHVtbnMtbGF5b3V0LWxvY2F0aW9ucyB7XG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY29sdW1ucy5jb2x1bW5zLWludHJvIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAubWFwLFxuICAgICAgICAgICAgLmltYWdlLW1hcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcCB7XG4gICAgICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjI1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIEhpZ2hsaWdodFxuLy8gQUNGIEZpZWxkOiBcIlNlY3Rpb24gSGlnaGxpZ2h0XCIgKGluIEZsZXhpYmxlIENvbnRlbnQgTW9kdWxlcylcbi5zZWN0aW9uLWhpZ2hsaWdodCB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgLy8gY2hhbmdlIHNlY3Rpb24gaGlnaGxpZ2h0IGJhY2tncm91bmQgdG8gYmx1ZSBcblxuICAgIC5yb3cge1xuICAgICAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICB9XG5cbiAgICAuY29sdW1ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIH1cblxuXHRcdC8vIGVkaXQgbGluayBjb2xvciB3aXRoaW4gc2VjdGlvbiBoaWdobGlnaHRcblx0XHQuYnRuLWRlZmF1bHQuYnRuLXdoaXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gQmFzaWMgV1lTSVdZRyBDb250ZW50IEFyZWFcbi8vIEFDRiBGaWVsZDogXCJXWVNJV1lHIENvbnRlbnQgQXJlYVwiIChpbiBGbGV4aWJsZSBDb250ZW50IE1vZHVsZXMpXG4ucm93Lnd5c2l3eWcge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbHVtbnMge1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBJbWFnZSBhbmQgVGV4dCByb3dcbi8vIEFDRiBGaWVsZDogXCJSb3c6IEltYWdlIGFuZCBUZXh0IFJvd1wiIChpbiBGbGV4aWJsZSBDb250ZW50IE1vZHVsZXMpXG4ucm93LmltYWdlLXRleHQtcm93IHtcblxuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgIC5jb2x1bW5zIHtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMWVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG4iLCIvLyBTdHlsZXMgZm9yIHRoZSBoZWFkZXIgKGhlYWRlci5waHApIGFuZCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgbWVudXMgKG5hdilcblxuaGVhZGVyLnNpdGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAxO1xuICAgIHBhZGRpbmc6IDEuNWVtIDAgMDtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICNuYXZpZ2F0aW9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNpdGUtbmF2aWdhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI25hdmxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXYge1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNzVlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIGEsXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmltYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNzBweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0gYSxcbiAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB1bC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIHVsIHtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmJ0bi1kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5tZW51LXNlYXJjaC1iYXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSBhLFxuICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuXG4gICAgICAgICAgICAgICAgICAgIHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSBhLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgICAgICAgICAgJi5wcmltYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYuc2l0ZS1uYXZpZ2F0aW9uLWNvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpdGUtbmF2aWdhdGlvbiAge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGRpdi5zaXRlLW5hdmlnYXRpb24tY29udHJvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgICAgIHJpZ2h0OiAyZW07XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAjc2l0ZS1uYXZpZ2F0aW9uLXRvZ2dsZSB7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1cmdlci1tZW51IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUtc2VhcmNoLWJhciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlICB7XG4gICAgICAgICAgICBuYXYge1xuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZW1lbnU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNlY29uZGFyeS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYnRuLWRlZmF1bHQubW9iaWxlLWhpZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LXNlYXJjaC1iYXIubW9iaWxlLWhpZGUgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGVtZW51O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9iaWxlLXNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIGZvcm0uc2VhcmNoLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5zaG93LXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59IiwiXG4ucGFnZS1oZWFkZXIsXG4uZW50cnktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yb3ctdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMDtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jcGFnZSB7XG4gICAgLnNpdGUtY29udGVudCB7XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgcGFkZGluZzogM2VtIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaW5nbGUtcG9zdCB7XG4gICAgI3BhZ2Uge1xuICAgICAgICAuc2l0ZS1jb250ZW50IHtcbiAgICAgICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM2VtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcucG9zdC1mZWF0dXJlZC1pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuXG4gICAgLmJsb2ctYnlsaW5lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMDtcblxuICAgICAgICAmLmF1dGhvciB7XG4gICAgICAgICAgICAvLyBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnktaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7IC8vIHRoaXMgaXMgdG8gZGlzZ3Vpc2UvaGlkZSB0aGUgY29tbWFzIGJldHdlZW4gY2F0ZWdvcmllcywgd2hpY2ggSSdtIHVzaW5nIHRvIGNoZWNrIGZvci9yZW1vdmUgdGhlIFVuY2F0ZWdvcml6ZWQgY2F0ZWdvcnlcblxuICAgICAgICAucm93LnJvdy10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAyOHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2csXG4uYXJjaGl2ZSB7XG4gICAgLmlubmVyLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMmVtO1xuICAgIH1cblxuICAgIC5hcmNoaXZlLXdyYXAsXG4gICAgLnNpZGViYXItd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDRlbSAwO1xuICAgIH1cblxuICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcGFnZSAuc2l0ZS1jb250ZW50IGFydGljbGUge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cblxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvZy1mZWF0dXJlZC1pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvZy1ieWxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLy8gU2lkZWJhciBTdHlsZXNcbi5ibG9nIC5zaWRlYmFyLXdyYXAge1xuICAgIHBhZGRpbmc6IDRlbSAwO1xuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIH1cbn0iLCIvLyBGb290ZXIgc3R5bGVzXG5cbmZvb3Rlci5zaXRlLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZztcbiAgICBwYWRkaW5nOiAyZW0gMDtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgICAgJi5mb290ZXItcm93IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI2Zvb3Rlci1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bC5mb290ZXItc29jaWFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1sb2dvcyB7XG4gICAgXG4gICAgXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQuZm9vdGVyLWxvZ29zLWltZyB7XG5cdFxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Ly8gbWFyZ2luOiAwIDhweDtcblx0XHRcdG1hcmdpbjogMCAxNnB4O1xuXHRcblx0XHRcdGltZyB7XG5cdFx0XHRcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgfVxuICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgXG5cdFx0LmZvb3Rlci1sb2dvcyB7XG5cdFx0XHQuZm9vdGVyLWxvZ29zLWltZyB7XG5cdFxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gMTZweDtcdFxuXHRcdFx0XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdH1cdFx0ICAgIFx0XG5cdFx0XHR9XG5cdFxuXG5cdFx0XHQuZm9vdGVyLWxvZ29zLWltZzpsYXN0LW9mLXR5cGUge1xuXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9ICAgXG4gICAgXG4gICAgLmZvb3Rlci1jb3B5cmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgcCwgdWwsIHVsIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3RhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzZW07IC8vIHRvIGVuc3VyZSB0aGVyZSdzIGEgc3BhY2UgYmV0d2VlbiB0aGUgcGFnZSB0aXRsZSBhbmQgQ1RBIGlmIG5vIHBhZ2UgY29udGVudCBpcyBhZGRlZCB5ZXRcblxuICAgIC5yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcblxuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS4yNWVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGVmdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgICAgLnJvdy1pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXZ3O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgLmxlZnQtaW5uZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcblxuICAgICAgICAgICAgLnJvdy1pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgLmxlZnQtaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXG4gICAgICAgIC5yb3ctaW5uZXItcmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1dnc7XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQtaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcblxuICAgICAgICAgICAgLnJvdy1pbm5lci1yaWdodCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJpZ2h0LWlubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNmVtO1xuICAgIH1cbn0iLCIvLyBCbG9nIEFyY2hpdmUgUG9zdCBOYXZpZ2F0aW9uXG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24ge1xuICAgICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgICBoMi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uYXYtbGlua3Mge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cbiAgICAgICAgYSxcbiAgICAgICAgc3Bhbi5wYWdlLW51bWJlcnMuZG90cyxcbiAgICAgICAgc3Bhbi5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1nL2Fycm93X2xlZnRfZ3JleS1vcHQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC41cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1nL2Fycm93X2xlZnRfb3JhbmdlLW9wdC5zdmcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmV4dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICByaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnYXNzZXRzL2ltZy9hcnJvd19yaWdodF9ncmV5LW9wdC5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvYXJyb3dfcmlnaHRfb3JhbmdlLW9wdC5zdmcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAucHJldiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIycHg7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBTaW5nbGUgUG9zdCBOYXZpZ2F0aW9uXG4ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBzcGFuLnByZXZpb3VzLmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA2cHggMzBweDtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvYXJyb3dfbGVmdF9vcmFuZ2Utb3B0LnN2ZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuNXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1nL2Fycm93X2xlZnRfd2hpdGUtb3B0LnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ubmV4dC5yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICBwYWRkaW5nOiA2cHggMzBweCA2cHggMjBweDtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvYXJyb3dfcmlnaHRfb3JhbmdlLW9wdC5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnYXNzZXRzL2ltZy9hcnJvd19yaWdodF93aGl0ZS1vcHQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBzcGFuLnByZXZpb3VzLmxlZnQsXG4gICAgICAgIHNwYW4ubmV4dC5yaWdodCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ucHJldmlvdXMubGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIFNpbmdsZSBMZWFkZXJzaGlwICh0ZWFtIG1lbWJlcikgYmlvXG5cbi5zaW5nbGUtc2hyLWxlYWRlcnNoaXAge1xuXG5cdC5vcmFuZ2Utd3JhcHBlciB7XG5cdFx0aGVpZ2h0OiAxNTRweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXHR9XG5cblx0LmVudHJ5LWhlYWRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQubGVhZGVyc2hpcC1iaW8ge1xuXHRcdC50ZWFtLXRpdGxlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0fVxuXG5cdFx0LnRlYW0tc3VidGl0bGUge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0fVxuXG5cdFx0LmVudHJ5LWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogM2VtO1xuXHRcdH1cblx0fVxuXG5cdC5sZWFkZXJzaGlwLXBpYyB7XG5cdFx0LnRlYW0tcGljIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDEwcHggc29saWQgJGJsdWU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdC5jb2x1bW5zLnNtYWxsLTEyIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXG5cdFx0XHQuY29sdW1ucyB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4vLyBBcmNoaXZlIFRlbXBsYXRlIGZvciBMZWFkZXJzaGlwIHRlYW1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2hyLWxlYWRlcnNoaXAtYXJjaGl2ZSB7XG5cdC5yb3cubGVhZGVyc2hpcC1pbnRybyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogM2VtO1xuXHR9XG5cblx0YXJ0aWNsZSB7XG5cdFx0LmNvbnRhaW5lciB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG5cdFx0fVxuXHR9XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdC50ZWFtLWluZm8ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cdFx0XHRwYWRkaW5nOiAxNnB4IDIwcHg7XG5cdFx0XHRtaW4taGVpZ2h0OiAxNTJweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IG5vbmU7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0aDIge1xuXHRcdFx0XHRtYXJnaW46IDAgMCA2cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRtYXJnaW46IDAgMCAxMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdC50ZWFtLWluZm8ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblxuXHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0Y29sb3I6ICRncmV5O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRncmV5O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW1nLnRlYW0tcGljIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdC5yb3cge1xuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC5yb3cucm93LWxlYWRlcnNoaXAge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cblx0XHRcdC5jb2x1bW5zIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHQucm93LnJvdy1sZWFkZXJzaGlwIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0LmNvbHVtbnMuc21hbGwtMTIge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRpbWcudGVhbS1waWMge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0LnRlYW0taW5mbyB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMThweDtcblxuXHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8gU2VhcmNoIGFuZCA0MDQgUGFnZXNcblxuXG4vLyBzdGlja2luZyBkZWZhdWx0IHNlYXJjaCBmb3JtIHN0eWxlcyBoZXJlLi4uXG5mb3JtLnNlYXJjaC1mb3JtIHtcblx0bWFyZ2luLXRvcDogMzRweDtcblxuXHQuc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbmZvcm0gbGFiZWwge1xuXHR3aWR0aDogNzAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0LnNlYXJjaC1maWVsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0fVxufVxuXG4uc2VhcmNoLXN1Ym1pdCB7XG5cdGNvbG9yOiAkb3JhbmdlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRvcmFuZ2U7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogNnB4IDIwcHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwO1xuXHR0cmFuc2l0aW9uOiAwLjVzO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuXHRtYXJnaW4tbGVmdDogMTRweDtcblxuXHQmOmhvdmVyIHtcblx0ICAgIGNvbG9yOiAjZmZmO1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0fVxufVxuXG4uaW50cm8tNDA0LmludHJvLWdlbmVyYWwge1xuXHRtYXJnaW4tdG9wOiAzZW07XG59XG5cbi8vIGVuZCBkZWZhdWx0IHNlYXJjaCBzdHlsZXMuLlxuXG4uZmVhdHVyZWQtY29udGVudC1zZWFyY2gge1xuXHRtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uZXJyb3ItNDA0IHtcblx0LnBhZ2UtaGVhZGVyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0LnBhZ2UtY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcblx0XHR9XG5cdH1cbn1cblxuLnNlYXJjaCB7XG5cdC5uby1yZXN1bHRzLm5vdC1mb3VuZCB7XG5cdFx0LnBhZ2UtY29udGVudCxcblx0XHQuZmVhdHVyZWQtY29udGVudC1zZWFyY2gge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0fVxuXHR9XG59XG4uZXJyb3ItNDA0LFxuLnNlYXJjaCB7XG5cdC5wYWdlLWNvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiAyZW07XG5cdH1cblxuXHQucm93LXNlYXJjaCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0LmludHJvLWxyZy5pbnRyby1scmcge1xuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDM0cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmludHJvLTQwNCB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdG1hcmdpbi10b3A6IDE0cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzNHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Zm9ybSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzNHB4O1xuXHRcdH1cblxuXHRcdGZvcm0gbGFiZWwge1xuXHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0LnNlYXJjaC1maWVsZCB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2VhcmNoLXN1Ym1pdCB7XG5cdFx0XHRjb2xvcjogJG9yYW5nZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJG9yYW5nZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHRcdHBhZGRpbmc6IDZweCAyMHB4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogMC41cztcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogMTRweDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHQgICAgY29sb3I6ICNmZmY7XG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnNlYXJjaCB7XG5cdC5zZWFyY2gtZW50cnktaGVhZGVyIHtcblxuXHQgICAgaDIge1xuXHQgICAgICAgIG1hcmdpbjogMTBweCAwO1xuXHQgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcblx0ICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcblx0ICAgIH1cblxuXHQgICAgaDMge1xuXHQgICAgXHRmb250LXNpemU6IDIwcHg7XG5cdCAgICBcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHQgICAgXHRtYXJnaW46IDEwcHggMDtcblx0ICAgIH1cblxuXHQgICAgYSB7XG5cdCAgICAgICAgY29sb3I6ICRncmV5O1xuXHQgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQgICAgICAgICY6aG92ZXIge1xuXHQgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cdH1cblxuXHQuc2VhcmNoLXJlc3VsdHMtd3JhcCxcblx0LnNpZGViYXItd3JhcCB7XG5cdCAgICBwYWRkaW5nOiA0ZW0gMDtcblx0fVxuXG5cdC5pbm5lci1yb3cge1xuXHRcdHBhZGRpbmc6IDAgMmVtO1xuXHR9XG5cblx0I3BhZ2UgLnNpdGUtY29udGVudCBhcnRpY2xlIHtcblx0ICAgIHBhZGRpbmc6IDEwcHggMDtcblx0ICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0ICAgIC5jb250YWluZXIge1xuXHQgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuXHQgICAgICAgIC5lbnRyeS1jb250ZW50IHtcblx0ICAgICAgICAgICAgcCB7XG5cdCAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICB9XG5cdH1cblxuXHQuZW50cnktbWV0YSB7XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gU2VhcmNoIGluIE1lbnUvSGVhZGVyXG5cbi5zZWFyY2gtd3JhcCxcbi5zZWFyY2gtd3JhcC1tb2JpbGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc2VhcmNoLWJhci1tb2JpbGUsXG4uc2VhcmNoLWJhciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNzVlbSAxZW07XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdHdpZHRoOiA0MDBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDA7XG5cdGJvcmRlci13aWR0aDogNnB4IDFweCAxcHggMXB4O1xuICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZSAkbGlnaHQtZ3JleSAkbGlnaHQtZ3JleTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgcCB7XG4gICAgXHRtYXJnaW46IDAgMCA2cHg7XG4gICAgXHRsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cblx0Ji5zaG93LXNlYXJjaCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRmb3JtIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdGZvcm0gbGFiZWwge1xuXHRcdHdpZHRoOiAgY2FsYyg5OCUgLSAxMjhweCk7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0LnNlYXJjaC1maWVsZCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmMWY4O1xuXHRcdH1cblx0fVxuXG5cdC5zZWFyY2gtc3VibWl0IHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0cGFkZGluZzogNnB4IDIwcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHR0cmFuc2l0aW9uOiAwLjVzO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XG5cblx0XHQmOmhvdmVyIHtcblx0XHQgICAgY29sb3I6ICRvcmFuZ2U7XG5cdFx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0XHQgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuXHRcdH1cblx0fVxuXG5cdC5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnNlYXJjaC1iYXItbW9iaWxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHRvcDogMTAwcHg7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xufVxuIiwiLy8gU2luZ2xlIFJlc291cmNlIGJhbm5lciB0ZW1wbGF0ZSBzdHlsZXNcbi5ici1yYy1zaW5nbGUtYmFubmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblxuXHQuY29udGFpbmVyIHtcblx0ICAgIG1hcmdpbi1ib3R0b206IDA7XG5cblx0ICAgIC5yb3cge1xuXHQgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cdCAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblx0ICAgIH1cblx0fVxuXG5cdC5yb3ctdGl0bGUge1xuXHQgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNTZweDtcblxuXHQgICAgaDEge1xuXHQgICAgICAgIGNvbG9yOiAjZmZmO1xuXHQgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cdCAgICAgICAgbWFyZ2luOiAyOHB4IDAgMDtcblx0ICAgIH1cblxuXHQgICAgYSB7XG5cdCAgICAgICAgY29sb3I6ICRibHVlO1xuXHQgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHQgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cdCAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdCAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcblx0ICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cdCAgICAgICAgfVxuXHQgICAgfVxuXG5cdCAgICBpIHtcblx0ICAgIFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHQgICAgXHRjb2xvcjogJGJsdWU7XG5cdCAgICB9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0LmNvbHVtbnMge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0fVxuXHR9XG59XG5cbiNici1yYy1zaW5nbGUge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxufVxuXG4uYnItcmMtcmVsYXRlZC1wb3N0cyB7XG5cdGgyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQuYnItcmMtcmVsYXRlZC1wb3N0cy1wb3N0LnJvdyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cblx0XHRoMyB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JleTtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRjb2xvcjogJG9yYW5nZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdC5ici1yYy1yZWxhdGVkLXBvc3RzLXBvc3QtY29udGVudCB7XG5cdFx0cGFkZGluZzogMWVtO1xuXHR9XG5cblx0LmJyLXJjLXJlbGF0ZWQtcG9zdHMtdHlwZS1jYWxsb3V0IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxZW07XG5cdFx0cmlnaHQ6IDFlbTtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRjb2xvcjogJG9yYW5nZTtcblx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG5cdFx0LmJyLXJjLXJlbGF0ZWQtcG9zdHMtcG9zdC1pbWFnZSB7XG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4jYnItcmMtc2luZ2xlIHtcblx0I2NvbnRlbnQuY29sdW1ucyB7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRcdH1cblx0fVxufVxuXG4vLyBBcmNoaXZlXG4uYnItcmMtYXJjaGl2ZS1iYW5uZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXG5cdC5jb250YWluZXIge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQucm93IHtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTZweDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRoMSB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRtYXJnaW46IDI4cHggMCAwO1xuXHR9XG5cblx0cCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdC5jb2x1bW5zIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcblx0XHR9XG5cdH1cbn1cblxuLmJyLXJjLWZpbHRlci1jb250cm9scyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuXHR3aWR0aDogMTAwJTtcblxuXHQuY29udGFpbmVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LnJvdyB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHBhZGRpbmc6IDFlbSAwO1xuXHR9XG5cblx0c2VsZWN0I0NhdGVnb3JpZXMsXG5cdHNlbGVjdCNGb3JtYXRzIHtcblx0XHR3aWR0aDogMzIlO1xuXHRcdG1hcmdpbi1yaWdodDogMiU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdCAgICBjb2xvcjogJGdyZXk7XG5cdCAgICBmb250LXNpemU6IDIwcHg7XG5cdCAgICBoZWlnaHQ6IDQ0cHg7XG5cdCAgICBmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHQgICAgXHR3aWR0aDogMTAwJTtcblx0ICAgIFx0ZmxvYXQ6IG5vbmU7XG5cdCAgICBcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdCAgICB9XG5cdH1cblxuXHRpbnB1dC5ici1yYy1maWx0ZXItaW5wdXQge1xuXHRcdHdpZHRoOiAzMiU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRoZWlnaHQ6IDQ0cHg7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0fVxuXHR9XG5cblx0LmJ0bi1kZWZhdWx0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGhlaWdodDogNDRweDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdC5zdWJtaXQtY29sdW1uIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuY29sdW1ucyB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcblx0XHR9XG5cdH1cbn1cblxuI2JyLXJjLWFyY2hpdmUge1xuXHRwYWRkaW5nLXRvcDogM2VtO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcblx0XHRwYWRkaW5nLXRvcDogMWVtO1xuXG5cdFx0LmNvbHVtbnMuc21hbGwtMTIubWVkaXVtLTgubWVkaXVtLW9mZnNldC0yIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFJlc291cmNlIENlbnRlciBBcmNoaXZlLCB3aXRoIFNpZGViYXJcbi53aXRoLXNpZGViYXItYXJjaGl2ZSB7XG5cblx0LnJvdyAucm93IHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblxuXHQuYnItcmMtY29udGVudC1leGNlcnB0LWNvbnRhaW5lci5yb3cge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblx0ICAgIGJvcmRlcjogMnB4IHNvbGlkICM5OTk7XG5cdH1cblxuXHQuYnItcmMtY29udGVudC1leGNlcnB0LXR5cGUtY2FsbG91dCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMWVtO1xuXHRcdHJpZ2h0OiAxZW07XG5cblx0XHRidXR0b24ge1xuXHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0fVxuXHR9XG5cblx0LmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAxZW07XG5cdH1cblxuXHRoMiB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxZW07XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGNvbG9yOiAkZ3JleTtcblx0XHR9XG5cdH1cblxuXHRhc2lkZS5zaWRlYmFyLXdyYXAge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdG1hcmdpbi10b3A6IDFlbTtcblxuXHRcdHNlY3Rpb24ge1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGxpZ2h0LWdyZXk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFx0cGFkZGluZzogMTZweDtcblxuXHRcdFx0aDIge1xuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRtYXJnaW46IDAgMCAxMnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctdG9wOiAyZW07XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuXHRcdC5jb2x1bW5zLnNtYWxsLTEyLm1lZGl1bS04LFxuXHRcdC5jb2x1bW5zLnNtYWxsLTEyLm1lZGl1bS00IHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0LmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1pbWFnZSB7XG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xuXHRcdH1cblxuXHRcdC5ici1yYy1jb250ZW50LWV4Y2VycHQtY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAxZW0gIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLy8gUmVzb3VyY2UgQ2VudGVyIEFyY2hpdmUsIEZ1bGwgV2lkdGhcbi5mdWxsLXdpZHRoLWFyY2hpdmUge1xuXHQucm93IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblxuXHQuYnItcmMtY29udGVudC1leGNlcnB0LWNvbnRhaW5lci5yb3cge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblx0ICAgIGJvcmRlcjogMnB4IHNvbGlkICM5OTk7XG5cdH1cblxuXHQuYnItcmMtY29udGVudC1leGNlcnB0LXR5cGUtY2FsbG91dCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMWVtO1xuXHRcdHJpZ2h0OiAxZW07XG5cblx0XHRidXR0b24ge1xuXHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0fVxuXHR9XG5cblx0LmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAxZW07XG5cdH1cblxuXHRoMiB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxZW07XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGNvbG9yOiAkZ3JleTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG5cdFx0LmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1pbWFnZSB7XG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyBGZWF0dXJlZCBzdHlsZXNcbi5ici1yYy1jb250ZW50LWV4Y2VycHQtY29udGFpbmVyLWZlYXR1cmVkIHtcblxuXHQuYnItcmMtY29udGVudC1leGNlcnB0LWZlYXR1cmVkLWNhbGxvdXQge1xuXHRcdHBhZGRpbmc6IDFlbSAxZW0gMDtcblxuXHRcdHAge1xuXHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHQgICAgXHRmb250LXNpemU6IDIycHg7XG5cdFx0fVxuXHR9XG5cblx0LmJyLXJjLWNvbnRlbnQtZXhjZXJwdC1jb250ZW50IHtcblx0XHRwYWRkaW5nLXRvcDogNnB4O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuXHRcdC5ici1yYy1jb250ZW50LWV4Y2VycHQtaW1hZ2Uge1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyBObyBSZXN1bHRzIHN0eWxlc1xuXG4uYnItcmMtbm8tcmVzdWx0cyxcbi5ici1yYy1uby1yZXN1bHRzLmNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi10b3A6IDFlbTtcblxuXHQucm93LnJvdy1pbm5lciB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRsaW5lLWhlaWdodDogMzRweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0XHRtYXJnaW46IDEycHggMCAxOHB4O1xuXHRcdH1cblx0fVxuXG5cdC5yZXN1bHRzLWZpbHRlcmluZyB7XG5cdFx0Zm9udC1mYW1pbHk6IFwiZnJlaWdodC1zYW5zLXByb1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG5cdFx0aDIge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgXHRcdFx0bWFyZ2luOiAxMnB4IDAgMThweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmb3JtIHtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmc7XG5cdFx0XHRwYWRkaW5nOiAxMnB4IDA7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JleTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiZnJlaWdodC1zYW5zLXByb1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMyB7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblxuXHRcdFx0Zm9ybSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cblx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMTBweDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRvcmFuZ2U7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiAwLjVzO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQgICAgY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdFx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJyLXJjLXNpdGUtc2VhcmNoIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG5cdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdCAgICBcdGZvbnQtc2l6ZTogMjhweDtcblx0XHQgICAgXHRtYXJnaW46IDEycHggMCAxOHB4O1xuXHRcdCAgICB9XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdG1hcmdpbjogMTJweCAwO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pe1xuXHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGgyLnJlY2VudC1oZWFkaW5nIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHR9XG5cdH1cblxuXHQuYnItcmMtc2l0ZS1zZWFyY2gge1xuXHRcdGZvcm0ge1xuXHRcdFx0bWFyZ2luLXRvcDogMzRweDtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdFx0XHQuc2VhcmNoLWZpZWxkLWlucHV0IHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDk4JSAtIDEyOHB4KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zZWFyY2gtZmllbGQtc3VibWl0IHtcblx0XHRcdGNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRcdFx0cGFkZGluZzogNnB4IDIwcHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiAwLjVzO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNHB4O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdCAgICBjb2xvcjogI2ZmZjtcblx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc2luZ2xlLWJyX3JjX3Jlc291cmNlIHtcblx0LnBhcmRvdC1mb3JtIHtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdH1cblxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG5cdFx0LmhpZGRlbi1zbS1kb3duIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0LnBhcmRvdC1mb3JtICB7XG5cdFx0XHRwYWRkaW5nLXRvcDogM2VtO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIFNpZGViYXJcblxuYXNpZGUuc2lkZWJhciB7XG5cdHBhZGRpbmc6IDRlbSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHRzZWN0aW9uIHtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdG1hcmdpbjogMCAwIDEycHg7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXG5cdFx0LndpZGdldC1hcmVhLmNvbHVtbnMuc2lkZWJhci13cmFwIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8vIE5ldyBBcmNoaXZlIFBhZ2VcblxubmF2IHtcblx0dWwuYnItcmMtcGFnaW5hdGlvbiB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRsaSB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46IDAgNHB4O1xuXHRcdCAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHQgICAgcGFkZGluZzogNHB4IDE2cHg7XG5cdFx0ICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0ICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cztcblx0XHQgICAgdHJhbnNpdGlvbjogMC41cztcblxuXHRcdCAgICBhIHtcblx0XHQgICAgXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0ICAgIFx0Y29sb3I6ICRncmV5O1xuXHRcdCAgICBcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0ICAgIH1cblxuXHRcdCAgICAmOmhvdmVyIHtcblx0XHQgICAgXHRib3JkZXItY29sb3I6ICRvcmFuZ2U7XG5cdFx0ICAgIFx0YSB7XG5cdFx0ICAgIFx0XHRjb2xvcjogJG9yYW5nZTtcblxuXHRcdCAgICBcdH1cblx0XHQgICAgfVxuXG5cdFx0ICAgICYuYWN0aXZlIHtcblx0XHQgICAgXHRib3JkZXItY29sb3I6ICRvcmFuZ2U7XG5cdFx0ICAgIFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0ICAgIH1cblxuXHRcdCAgICAmLmRpc2FibGVkOmhvdmVyIHtcblx0XHQgICAgXHRib3JkZXItY29sb3I6ICRsaWdodC1ncmV5O1xuXHRcdCAgICB9XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuIiwiLyogTmV3IENvZGUgKi9cbi5zZXJ2aWNlX2FncmVlbWVudHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uc2VydmljZV9hZ3JlZW1lbnQgbGFiZWx7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4jc2lnbmF0dXJlLXBhZCBjYW52YXN7XG4gIGJvcmRlcjoxcHggc29saWQgIzU1NTtcbn1cbiNzaWduYXR1cmUtcGFkIGJ1dHRvbntcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuI3NpZ25hdHVyZS1wYWQgYnV0dG9uLmNsZWFye1xuICBiYWNrZ3JvdW5kOiBvcmFuZ2U7XG59XG4jZm9ybV9tYXN0ZXJfc2VydmljZXNfYWdyZWVtZW50e1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuLmZvcm1fY29udGFjdC1mb3JtIC5jaGVja2JveCBsYWJlbHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmRpdiNmcm1fZmllbGRfMTA1X2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA0MDBweDtcbiAgcmlnaHQ6IC0xMDBweDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgei1pbmRleDogOTk5O1xuICBwYWRkaW5nOiAwcHggMTBweDtcbn1cblxuLypuYXYgdXBkYXRlcyBmb3IgMyBsZXZlbCBpdGVtcyovXG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gdWwuc3ViLW1lbnUge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEyMHB4KSB7XG5cdGhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiB1bC5zdWItbWVudSB7XG5cdFx0bGVmdDogMDtcblx0fVxuXHRoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ly8gaW5kZW50IHRoaXJkIGxldmVsXG5cdGhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSBsaSB1bCBsaSBhIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1JTtcblx0fVxuXHQuc3ViLW1lbnUtdHdvIGxpIHtcblx0XHR0ZXh0LWluZGVudDogMzBweDtcblx0fVxuXHQjbW9ibWVudXJpZ2h0IGxpLnVwcGVyLm1lbnUtaXRlbSBhIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XG5cdH1cblx0I21vYm1lbnVyaWdodCBsaSBhLCAjbW9ibWVudXJpZ2h0IGxpIGE6dmlzaXRlZCwgI21vYm1lbnVyaWdodCAubW9ibWVudV9jb250ZW50IGgyLCAjbW9ibWVudXJpZ2h0IC5tb2JtZW51X2NvbnRlbnQgaDMge1xuXHRcdGZvbnQtZmFtaWx5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiFpbXBvcnRhbnQ7XG5cdFx0Zm9udC1zaXplOiAxOHB4IWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogNjAwIWltcG9ydGFudDs7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsIWltcG9ydGFudDs7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtIWltcG9ydGFudDs7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IG5vcm1hbCFpbXBvcnRhbnQ7O1xuXHRcdGNvbG9yOiAjMDg0YzYxIWltcG9ydGFudDs7XG5cdH1cblx0dWwuc3ViLW1lbnUuc2hvdy1zdWItbWVudSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG59XG5cbmhlYWRlci5zaXRlLWhlYWRlciBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiB1bC5zdWItbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5oZWFkZXIuc2l0ZS1oZWFkZXIgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUge1xuICAgIG1pbi13aWR0aDogMzAwcHghaW1wb3J0YW50O1xufVxuaGVhZGVyLnNpdGUtaGVhZGVyIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiB1bC5zdWItbWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9kZXYtc2hyZ2xvYmFsLnBhbnRoZW9uc2l0ZS5pby93cC1jb250ZW50L3RoZW1lcy9zaHIvYXNzZXRzL2ltZy9hcnJvd19yaWdodF9ibHVlLW9wdC5zdmcpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDUlO1xuICAgIHRvcDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vKiBtb2JpbGUgbWVudSBzdGF0ZXMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xuICAgIFxuXHRoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3ViLW1lbnUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFxuXHR9XG5cblx0aGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IHtcblx0LyogICAgZGlzcGxheTogYmxvY2s7ICovXG5cdH1cblxuXHRoZWFkZXIuc2l0ZS1oZWFkZXIgI25hdmlnYXRpb24td3JhcHBlci1tb2JpbGUgbmF2LnNlY29uZGFyeS1uYXZpZ2F0aW9uIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uc3ViLW9wZW4gPiB1bC5zdWItbWVudSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxufVxuXG4vKiBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbmhlYWRlci5zaXRlLWhlYWRlciAjbmF2aWdhdGlvbi13cmFwcGVyLW1vYmlsZSBuYXYuc2Vjb25kYXJ5LW5hdmlnYXRpb24gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5zdWItbWVudSwgaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLnN1Yi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTk5O1xufVxuaGVhZGVyLnNpdGUtaGVhZGVyICNuYXZpZ2F0aW9uLXdyYXBwZXItbW9iaWxlIG5hdi5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmaXJzdC1vZi10eXBlIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxufSAqL1xuXG4vKiBodWJzcG90IHVuc3R5bGVkIGVtYmVkICovXG5cbi5ocy1idXR0b24tcmVzZXQsXG4uaHMtZm9ybSAuaHMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogMFxufVxuXG4uYmFzZS1ocy1idXR0b24tc3R5bGVzLFxuLmhzLWZvcm0gLmhzLWJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgcGFkZGluZzogN3B4IDE4cHggN3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXJcbn1cblxuLmJhc2UtaHMtYnV0dG9uLXN0eWxlczpob3Zlcixcbi5ocy1mb3JtIC5ocy1idXR0b246aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZVxufVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPWNoZWNrYm94XSxcbmlucHV0LmhzLWlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuaW5wdXQuaHMtaW5wdXQsXG50ZXh0YXJlYS5ocy1pbnB1dCxcbnNlbGVjdC5ocy1pbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMTBweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweFxufVxuXG50ZXh0YXJlYS5ocy1pbnB1dCB7XG4gICAgcGFkZGluZy10b3A6IDVweFxufVxuXG5odG1sLndlYmtpdCB0ZXh0YXJlYS5ocy1pbnB1dCB7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweFxufVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPWNoZWNrYm94XSxcbmlucHV0LmhzLWlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDNweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyOiBub25lXG59XG5cbmlucHV0LmhzLWlucHV0W3R5cGU9ZmlsZV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogaW5pdGlhbDtcbiAgICBib3JkZXI6IGluaXRpYWw7XG4gICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lXG59XG5cbmlucHV0LmhzLWlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0LmhzLWlucHV0W3R5cGU9cmVzZXRdLFxuaW5wdXQuaHMtaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG9cbn1cblxuaW5wdXQuaHMtaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbW1vbl9hc3NldHMvc3RhdGljLTIuMTU4L2ltZy9mb3JtL3NlYXJjaC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggOHB4XG59XG5cbmh0bWwuZmlyZWZveCBpbnB1dC5ocy1pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweFxufVxuXG5pbnB1dC5ocy1pbnB1dFt0eXBlPXNlYXJjaF0udHJhbnNwYXJlbnQtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb21tb25fYXNzZXRzL3N0YXRpYy0yLjE1OC9pbWcvZm9ybS9zZWFyY2gtdHJhbnNwYXJlbnQucG5nXCIpXG59XG5cbmlucHV0LmhzLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dC5ocy1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXQuaHMtaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dC5ocy1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmVcbn1cblxuc2VsZWN0LmhzLWlucHV0LFxuaW5wdXQuaHMtaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgaGVpZ2h0OiAyN3B4XG59XG5cbnNlbGVjdFttdWx0aXBsZV0uaHMtaW5wdXQge1xuICAgIGhlaWdodDogaW5oZXJpdFxufVxuXG50ZXh0YXJlYS5ocy1pbnB1dCB7XG4gICAgaGVpZ2h0OiBhdXRvXG59XG5cbi5ocy1pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2JmYmZiZlxufVxuXG4uaHMtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYmZiZmJmXG59XG5cbmlucHV0LmhzLWlucHV0LFxudGV4dGFyZWEuaHMtaW5wdXQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgbGluZWFyLCBib3gtc2hhZG93IDAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgbGluZWFyLCBib3gtc2hhZG93IDAuMnMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciwgYm94LXNoYWRvdyAwLjJzIGxpbmVhcjtcbiAgICAvKlxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAqL1xufVxuXG5pbnB1dC5ocy1pbnB1dDpmb2N1cyxcbnRleHRhcmVhLmhzLWlucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIGJvcmRlci1jb2xvcjogcmdiYSg4MiwgMTY4LCAyMzYsIDAuOCk7ICovXG4gICAgYm9yZGVyLWNvbG9yOiAjZmY5NTAwO1xuICAgIC8qXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgOHB4IHJnYmEoODIsIDE2OCwgMjM2LCAwLjYpO1xuICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwIDhweCByZ2JhKDgyLCAxNjgsIDIzNiwgMC42KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgOHB4IHJnYmEoODIsIDE2OCwgMjM2LCAwLjYpO1xuICAgICovXG59XG5cbmlucHV0LmhzLWlucHV0LmVycm9yLFxuLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIGlucHV0LFxuLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIHRleHRhcmVhLFxuLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIC5jaHpuLWNob2ljZXMsXG50ZXh0YXJlYS5ocy1pbnB1dC5lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzg3ODcyO1xuICAgIC8qXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMTcxLCA0MSwgMzIsIDAuMjUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDE3MSwgNDEsIDMyLCAwLjI1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMTcxLCA0MSwgMzIsIDAuMjUpO1xuICAgICovXG59XG5cbmlucHV0LmhzLWlucHV0LmVycm9yOmZvY3VzLFxuLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIGlucHV0OmZvY3VzLFxuLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIHRleHRhcmVhOmZvY3VzLFxuLmhzLWZvcm0gZGl2LmZpZWxkLmVycm9yIC5jaHpuLWNob2ljZXM6Zm9jdXMsXG50ZXh0YXJlYS5ocy1pbnB1dC5lcnJvcjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjk1NTRkO1xuICAgIC8qXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTcxLCA0MSwgMzIsIDAuNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTcxLCA0MSwgMzIsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDE3MSwgNDEsIDMyLCAwLjUpO1xuICAgICovXG59XG5cbi5pbnB1dC1taW5pLmhzLWlucHV0LFxuaW5wdXQubWluaS5ocy1pbnB1dCxcbnRleHRhcmVhLm1pbmkuaHMtaW5wdXQsXG5zZWxlY3QubWluaS5ocy1pbnB1dCB7XG4gICAgd2lkdGg6IDYwcHhcbn1cblxuLmlucHV0LXNtYWxsLmhzLWlucHV0LFxuaW5wdXQuc21hbGwuaHMtaW5wdXQsXG50ZXh0YXJlYS5zbWFsbC5ocy1pbnB1dCxcbnNlbGVjdC5zbWFsbC5ocy1pbnB1dCB7XG4gICAgd2lkdGg6IDkwcHhcbn1cblxuLmlucHV0LW1lZGl1bS5ocy1pbnB1dCxcbmlucHV0Lm1lZGl1bS5ocy1pbnB1dCxcbnRleHRhcmVhLm1lZGl1bS5ocy1pbnB1dCxcbnNlbGVjdC5tZWRpdW0uaHMtaW5wdXQge1xuICAgIHdpZHRoOiAxNTBweFxufVxuXG4uaW5wdXQtbGFyZ2UuaHMtaW5wdXQsXG5pbnB1dC5sYXJnZS5ocy1pbnB1dCxcbnRleHRhcmVhLmxhcmdlLmhzLWlucHV0LFxuc2VsZWN0LmxhcmdlLmhzLWlucHV0IHtcbiAgICB3aWR0aDogMjEwcHhcbn1cblxuLmlucHV0LXhsYXJnZS5ocy1pbnB1dCxcbmlucHV0LnhsYXJnZS5ocy1pbnB1dCxcbnRleHRhcmVhLnhsYXJnZS5ocy1pbnB1dCxcbnNlbGVjdC54bGFyZ2UuaHMtaW5wdXQge1xuICAgIHdpZHRoOiAyNzBweFxufVxuXG4uaW5wdXQteHhsYXJnZS5ocy1pbnB1dCxcbmlucHV0Lnh4bGFyZ2UuaHMtaW5wdXQsXG50ZXh0YXJlYS54eGxhcmdlLmhzLWlucHV0LFxuc2VsZWN0Lnh4bGFyZ2UuaHMtaW5wdXQge1xuICAgIHdpZHRoOiA1MzBweFxufVxuXG4uaW5wdXQtc3RyZXRjaC5ocy1pbnB1dCxcbmlucHV0LnN0cmV0Y2guaHMtaW5wdXQsXG50ZXh0YXJlYS5zdHJldGNoLmhzLWlucHV0LFxuc2VsZWN0LnN0cmV0Y2guaHMtaW5wdXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxudGV4dGFyZWEuaHMtaW5wdXQueHhsYXJnZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0b1xufVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuMSxcbnRleHRhcmVhLmhzLWlucHV0LnNwYW4xLFxuc2VsZWN0LmhzLWlucHV0LnNwYW4xIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjIsXG50ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMixcbnNlbGVjdC5ocy1pbnB1dC5zcGFuMiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbmlucHV0LmhzLWlucHV0LnNwYW4zLFxudGV4dGFyZWEuaHMtaW5wdXQuc3BhbjMsXG5zZWxlY3QuaHMtaW5wdXQuc3BhbjMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjQsXG50ZXh0YXJlYS5ocy1pbnB1dC5zcGFuNCxcbnNlbGVjdC5ocy1pbnB1dC5zcGFuNCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAyMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMFxufVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuNSxcbnRleHRhcmVhLmhzLWlucHV0LnNwYW41LFxuc2VsZWN0LmhzLWlucHV0LnNwYW41IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDI3MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbmlucHV0LmhzLWlucHV0LnNwYW42LFxudGV4dGFyZWEuaHMtaW5wdXQuc3BhbjYsXG5zZWxlY3QuaHMtaW5wdXQuc3BhbjYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMzMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjcsXG50ZXh0YXJlYS5ocy1pbnB1dC5zcGFuNyxcbnNlbGVjdC5ocy1pbnB1dC5zcGFuNyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAzOTBweDtcbiAgICBtYXJnaW4tbGVmdDogMFxufVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuOCxcbnRleHRhcmVhLmhzLWlucHV0LnNwYW44LFxuc2VsZWN0LmhzLWlucHV0LnNwYW44IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbmlucHV0LmhzLWlucHV0LnNwYW45LFxudGV4dGFyZWEuaHMtaW5wdXQuc3BhbjksXG5zZWxlY3QuaHMtaW5wdXQuc3Bhbjkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogNTEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjEwLFxudGV4dGFyZWEuaHMtaW5wdXQuc3BhbjEwLFxuc2VsZWN0LmhzLWlucHV0LnNwYW4xMCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiA1NzBweDtcbiAgICBtYXJnaW4tbGVmdDogMFxufVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuMTEsXG50ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMTEsXG5zZWxlY3QuaHMtaW5wdXQuc3BhbjExIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbmlucHV0LmhzLWlucHV0LnNwYW4xMixcbnRleHRhcmVhLmhzLWlucHV0LnNwYW4xMixcbnNlbGVjdC5ocy1pbnB1dC5zcGFuMTIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogNjkwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjEzLFxudGV4dGFyZWEuaHMtaW5wdXQuc3BhbjEzLFxuc2VsZWN0LmhzLWlucHV0LnNwYW4xMyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiA3NTBweDtcbiAgICBtYXJnaW4tbGVmdDogMFxufVxuXG5pbnB1dC5ocy1pbnB1dC5zcGFuMTQsXG50ZXh0YXJlYS5ocy1pbnB1dC5zcGFuMTQsXG5zZWxlY3QuaHMtaW5wdXQuc3BhbjE0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDgxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbmlucHV0LmhzLWlucHV0LnNwYW4xNSxcbnRleHRhcmVhLmhzLWlucHV0LnNwYW4xNSxcbnNlbGVjdC5ocy1pbnB1dC5zcGFuMTUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogODcwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuaW5wdXQuaHMtaW5wdXQuc3BhbjE2LFxudGV4dGFyZWEuaHMtaW5wdXQuc3BhbjE2LFxuc2VsZWN0LmhzLWlucHV0LnNwYW4xNiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiA5MzBweDtcbiAgICBtYXJnaW4tbGVmdDogMFxufVxuXG5pbnB1dC5ocy1pbnB1dFtkaXNhYmxlZF0sXG5zZWxlY3QuaHMtaW5wdXRbZGlzYWJsZWRdLFxudGV4dGFyZWEuaHMtaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkXG59XG5cbi5oZWxwLWlubGluZSxcbi5oZWxwLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICM4MTgxODFcbn1cblxuLmhlbHAtaW5saW5lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweFxufVxuXG4uaGVscC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA2MDBweFxufVxuXG4uaW5saW5lLWlucHV0cyB7XG4gICAgY29sb3I6ICM4MTgxODFcbn1cblxuLmlubGluZS1pbnB1dHMgc3Bhbixcbi5pbmxpbmUtaW5wdXRzIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbn1cblxuLmlubGluZS1pbnB1dHMgaW5wdXQubWluaSB7XG4gICAgd2lkdGg6IDYwcHhcbn1cblxuLmlubGluZS1pbnB1dHMgaW5wdXQuc21hbGwge1xuICAgIHdpZHRoOiA5MHB4XG59XG5cbi5pbmxpbmUtaW5wdXRzIHNwYW4ge1xuICAgIHBhZGRpbmc6IDAgMnB4IDAgMXB4XG59XG5cbi5pbnB1dC1wcmVwZW5kIGlucHV0LFxuLmlucHV0LWFwcGVuZCBpbnB1dCB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMFxufVxuXG4uaW5wdXQtcHJlcGVuZCAuYWRkLW9uLFxuLmlucHV0LWFwcGVuZCAuYWRkLW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwYWRkaW5nOiA0cHggNHB4IDRweCA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICNiZmJmYmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweFxufVxuXG4uaW5wdXQtcHJlcGVuZCAuYWN0aXZlLFxuLmlucHV0LWFwcGVuZCAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYmZlMGJmO1xuICAgIGJvcmRlci1jb2xvcjogIzU5YWQ1OVxufVxuXG4uaW5wdXQtYXBwZW5kIGlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG4gICAgLW1zLWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4XG59XG5cbi5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHhcbn1cblxuLmhzLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHhcbn1cblxuLmhzLWZvcm0gZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcGFkZGluZy10b3A6IDE4cHhcbn1cblxuLmhzLWZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTUwcHg7XG4gICAgZm9udC1zaXplOiAxOS41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM0MTQxNDFcbn1cblxuLmhzLWZvcm0gLmNsZWFyZml4LFxuLmhzLWZvcm0gLmZpZWxkLFxuLmhzLWZvcm0gLmhzLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHhcbn1cblxuLmhzLWZvcm0gLmNsZWFyZml4OmFmdGVyLFxuLmhzLWZvcm0gLmZpZWxkOmFmdGVyLFxuLmhzLWZvcm0gLmhzLWZvcm0tZmllbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGhcbn1cblxuLmhzLWZvcm0gbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogIzQxNDE0MVxufVxuXG4uaHMtZm9ybSAuaW5wdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNTBweFxufVxuXG4uaHMtZm9ybSBkaXYuZmllbGQuZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNmYWU1ZTM7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweFxufVxuXG4uaHMtZm9ybSBkaXYuZmllbGQuZXJyb3I+bGFiZWwsXG4uaHMtZm9ybSBkaXYuZmllbGQuZXJyb3Igc3Bhbi5oZWxwLWlubGluZSxcbi5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciBzcGFuLmhlbHAtYmxvY2sge1xuICAgIGNvbG9yOiAjOWQyNjFkXG59XG5cbi5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciAuaW5wdXQtcHJlcGVuZCBzcGFuLmFkZC1vbixcbi5ocy1mb3JtIGRpdi5maWVsZC5lcnJvciAuaW5wdXQtYXBwZW5kIHNwYW4uYWRkLW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjRjOGM1O1xuICAgIGJvcmRlci1jb2xvcjogI2M4Nzg3MjtcbiAgICBjb2xvcjogI2I5NTU0ZFxufVxuXG4uaHMtZm9ybSAuaHNFcnJNc2dDb250YWluZXIgdWwge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICBsaXN0LXN0eWxlOiBub25lXG59XG5cbi5ocy1mb3JtIC5oc0Vyck1zZ0NvbnRhaW5lciB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjYTQ0ZTQ3XG59XG5cbi5ocy1mb3JtIC5oc0Vyck1zZ0NvbnRhaW5lciAuaHMtYmxvY2stbWVzc2FnZSB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB3aWR0aDogMjAwcHhcbn1cblxuLmhzLWZvcm0gLmhzRXJyTXNnQ29udGFpbmVyIC5ocy1ibG9jay1tZXNzYWdlIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAwcHhcbn1cblxuLmhzLWZvcm0gLmFjdGlvbnMge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHBhZGRpbmc6IDE3cHggMjBweCAxOHB4IDE1MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHhcbn1cblxuLmhzLWZvcm0gLmFjdGlvbnMgLnNlY29uZGFyeS1hY3Rpb24ge1xuICAgIGZsb2F0OiByaWdodFxufVxuXG4uaHMtZm9ybSAuYWN0aW9ucyAuc2Vjb25kYXJ5LWFjdGlvbiBhIHtcbiAgICBsaW5lLWhlaWdodDogMzBweFxufVxuXG4uaHMtZm9ybSAuYWN0aW9ucyAuc2Vjb25kYXJ5LWFjdGlvbiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZVxufVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3Qge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB3aWR0aDogMTAwJVxufVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3Q+bGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsXG59XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBsYWJlbCBzdHJvbmcge1xuICAgIGNvbG9yOiAjODE4MTgxXG59XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBsYWJlbCBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWxcbn1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0IC5pbnB1dHMtbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMFxufVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3Q6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiA2cHhcbn1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0PmxpK2xpIHtcbiAgICBwYWRkaW5nLXRvcDogMnB4XG59XG5cbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBpbnB1dFt0eXBlPXJhZGlvXSxcbi5ocy1mb3JtIC5pbnB1dHMtbGlzdCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMFxufVxuXG4uaHMtZm9ybS5zdGFja2VkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHhcbn1cblxuLmhzLWZvcm0uc3RhY2tlZCBmaWVsZHNldCB7XG4gICAgcGFkZGluZy10b3A6IDlweFxufVxuXG4uaHMtZm9ybS5zdGFja2VkIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuLmhzLWZvcm0uc3RhY2tlZCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHhcbn1cblxuLmhzLWZvcm0uc3RhY2tlZCAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHhcbn1cblxuLmhzLWZvcm0uc3RhY2tlZCAuZmllbGQgZGl2LmlucHV0IHtcbiAgICBtYXJnaW4tbGVmdDogMFxufVxuXG4uaHMtZm9ybS5zdGFja2VkIC5maWVsZCBkaXYuaW5wdXQ+aW5wdXQrYSxcbi5ocy1mb3JtLnN0YWNrZWQgLmZpZWxkIGRpdi5pbnB1dCBzZWxlY3QrYSxcbi5ocy1mb3JtLnN0YWNrZWQgLmZpZWxkIGRpdi5pbnB1dCB0ZXh0YXJlYSthIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgZGlzcGxheTogYmxvY2tcbn1cblxuLmhzLWZvcm0uc3RhY2tlZCAuaW5wdXRzLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDBcbn1cblxuLmhzLWZvcm0uc3RhY2tlZCAuaW5wdXRzLWxpc3Q+bGkge1xuICAgIHBhZGRpbmctdG9wOiAwXG59XG5cbi5ocy1mb3JtLnN0YWNrZWQgLmlucHV0cy1saXN0PmxpIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmctdG9wOiAwXG59XG5cbi5ocy1mb3JtLnN0YWNrZWQgZGl2LmVycm9yIHtcbiAgICBwYWRkaW5nOiAzcHggMTBweCA2cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4XG59XG5cbi5ocy1mb3JtLnN0YWNrZWQgLmFjdGlvbnMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHhcbn1cblxuLmhzLWZvcm0ge1xuICAgIHBhZGRpbmctbGVmdDogMHB4XG59XG5cbi5ocy1mb3JtLnN0YWNrZWQge1xuICAgIHBhZGRpbmctbGVmdDogMHB4XG59XG5cbi5ocy1mb3JtLnN0YWNrZWQgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDBcbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMzNTc0ZTM7XG4vKiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU3NGUzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCA1MCUgMCUsIDUwJSAxMDAlLCBjb2xvci1zdG9wKDAlLCAjN2VjOGY0KSwgY29sb3Itc3RvcCgxMDAlLCAjMzU3NGUzKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjN2VjOGY0LCAjMzU3NGUzKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM3ZWM4ZjQsICMzNTc0ZTMpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICM3ZWM4ZjQsICMzNTc0ZTMpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzY0YmFmMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFjNGVkNTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDY4ZWU2O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQ2OGVlNjtcbiovXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbjp2aXNpdGVkLFxuLmhzLWZvcm0gLmhzLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZcbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbjpob3Zlcjpub3QoLmluYWN0aXZlKSxcbi5ocy1mb3JtIC5ocy1idXR0b246Zm9jdXM6bm90KC5pbmFjdGl2ZSksXG4uaHMtZm9ybSAuaHMtYnV0dG9uLmhvdmVyZWQ6bm90KC5pbmFjdGl2ZSkge1xuLypcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksIDAgMCA1cHggIzM1NzRlMztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzRkYjBlZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzE5NDZiZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMzA4MGUzO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzMwODBlM1xuKi9cbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbjphY3RpdmU6bm90KC5pbmFjdGl2ZSk6bm90KC5saW5rKSxcbi5ocy1mb3JtIC5ocy1idXR0b24uZGVwcmVzc2VkOm5vdCguaW5hY3RpdmUpOm5vdCgubGluayksXG4uZHJvcGRvd24tb3Blbj4uaHMtZm9ybSAuaHMtYnV0dG9uOm5vdCguaW5hY3RpdmUpOm5vdCgubGluaykge1xuLypcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk5ZWViO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCA1MCUgMCUsIDUwJSAxMDAlLCBjb2xvci1zdG9wKDAlLCAjMzU3NGUzKSwgY29sb3Itc3RvcCgxMDAlLCAjNTk5ZWViKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMzU3NGUzLCAjNTk5ZWViKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMzNTc0ZTMsICM1OTllZWIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICMzNTc0ZTMsICM1OTllZWIpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgaW5zZXQgMHB4IC0xcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzFjNGVkNTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQwODRlMjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDY4ZWU2O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQ2OGVlNlxuKi9cbn1cblxuLmRyb3Bkb3duLW9wZW4+LmhzLWZvcm0gLmhzLWJ1dHRvbjpub3QoLmluYWN0aXZlKTpub3QoLmxpbmspIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMylcbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbi5kaXNhYmxlZC5kaXNhYmxlZC5kaXNhYmxlZC5kaXNhYmxlZCxcbi5ocy1mb3JtIC5ocy1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXVtkaXNhYmxlZF0ge1xuLypcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM4N2M1O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCA1MCUgMCUsIDUwJSAxMDAlLCBjb2xvci1zdG9wKDAlLCAjODhiMWNlKSwgY29sb3Itc3RvcCgxMDAlLCAjNjM4N2M1KSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjODhiMWNlLCAjNjM4N2M1KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM4OGIxY2UsICM2Mzg3YzUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICM4OGIxY2UsICM2Mzg3YzUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM3YmFhY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1Nzc0YmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzZjOTRjNztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2Yzk0Yzc7XG4qL1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBjb2xvcjogI2VkZWRlZDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjZcbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbi5kaXNhYmxlZC5kaXNhYmxlZC5kaXNhYmxlZC5kaXNhYmxlZC5uZXh0OmJlZm9yZSxcbi5ocy1mb3JtIC5ocy1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXVtkaXNhYmxlZF0ubmV4dDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuNVxufVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLmRpc2FibGVkLmRpc2FibGVkLmRpc2FibGVkLmRpc2FibGVkLnByZXZpb3VzOmJlZm9yZSxcbi5ocy1mb3JtIC5ocy1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXVtkaXNhYmxlZF0ucHJldmlvdXM6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjVcbn1cblxuLmhzLWZvcm0gLmhzLWJ1dHRvbi5uZXh0OmJlZm9yZSxcbi5ocy1mb3JtIC5ocy1idXR0b24ucHJldmlvdXM6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0eWxlX2d1aWRlL3N0YXRpYy04LjMxOS9pbWcvaHMtYnV0dG9uLWFycm93cy5wbmcpIGNlbnRlciAwIG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHotaW5kZXg6IDk5XG59XG5cbi5ocy1mb3JtIC5ocy1idXR0b24ubmV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMzJweFxufVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLm5leHQ6YmVmb3JlIHtcbiAgICByaWdodDogOXB4XG59XG5cbi5ocy1mb3JtIC5ocy1idXR0b24ucHJldmlvdXMge1xuICAgIHBhZGRpbmctbGVmdDogMzJweFxufVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLnByZXZpb3VzOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xNnB4O1xuICAgIGxlZnQ6IDlweFxufVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uLmluYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHRcbn1cblxuLmhzLWZvcm0gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmVcbn1cblxuLmhzLWZvcm0gbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcbn1cblxuLmhzLWZvcm0gbGFiZWwuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lXG59XG5cbi5ocy1mb3JtIC5ocy1maWVsZC1kZXNjIHtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBtYXJnaW46IDBweCAwcHggNXB4IDE1MHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmXG59XG5cbi5ocy1mb3JtIC5ocy1mb3JtLXJlcXVpcmVkIHtcbiAgICBjb2xvcjogcmVkXG59XG5cbi5ocy1mb3JtIC5maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4XG59XG5cbi5ocy1mb3JtIC5ocy1yaWNodGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNDE0MTQxXG59XG5cbi5ocy1mb3JtIC5ocy1yaWNodGV4dCBociB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB3aWR0aDogOTElXG59XG5cbi5ocy1mb3JtIC5lbWFpbC1jb3JyZWN0aW9uLFxuLmhzLWZvcm0gLmVtYWlsLXZhbGlkYXRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcbn1cblxuLmhzLWZvcm0gLmVtYWlsLWNvcnJlY3Rpb24gYSxcbi5ocy1mb3JtIC5lbWFpbC12YWxpZGF0aW9uIGEge1xuICAgIGN1cnNvcjogcG9pbnRlclxufVxuXG4uaHMtZm9ybSAuaW5wdXRzLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmVcbn1cblxuLmhzLWZvcm0gLmlucHV0cy1saXN0IGxpIGlucHV0IHtcbiAgICBtYXJnaW46IDNweCA1cHggM3B4IDBweFxufVxuXG4uaHMtZm9ybSBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5ocy1mb3JtIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweFxufVxuXG4uaHMtZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJpbWFnZVwiXSksXG4uaHMtZm9ybSB0ZXh0YXJlYSB7XG4gICAgLyogYm94LXNpemluZzogY29udGVudC1ib3ggKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaHMtZm9ybS5zdGFja2VkIC5ocy1maWVsZC1kZXNjIHtcbiAgICBtYXJnaW46IDBweCAwcHggMnB4IDBweFxufVxuXG4uaHMtZm9ybSAuaHMtaW5wdXQsXG4uaHMtZm9ybSB0ZXh0YXJlYS5ocy1pbnB1dCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHdpZHRoOiA5MCVcbn1cblxuLmhzLWZvcm0gLmhzLWlucHV0Om5vdFt0eXBlPWNoZWNrYm94XSxcbi5ocy1mb3JtIC5ocy1pbnB1dDpub3RbdHlwZT1yYWRpb10sXG4uaHMtZm9ybSB0ZXh0YXJlYS5ocy1pbnB1dDpub3RbdHlwZT1jaGVja2JveF0sXG4uaHMtZm9ybSB0ZXh0YXJlYS5ocy1pbnB1dDpub3RbdHlwZT1yYWRpb10ge1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgbWluLXdpZHRoOiAxMDBweFxufVxuXG4uaHMtZm9ybSAuYWN0aW9ucyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHBhZGRpbmc6IDE3cHggMjBweCAxOHB4IDBweDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHhcbn1cblxuLmhzLWZvcm0gLmFjdGlvbnMgLnNlY29uZGFyeS1hY3Rpb24ge1xuICAgIGZsb2F0OiByaWdodFxufVxuXG4uaHMtZm9ybSAuYWN0aW9ucyAuc2Vjb25kYXJ5LWFjdGlvbiBhIHtcbiAgICBsaW5lLWhlaWdodDogMzBweFxufVxuXG4uaHMtZm9ybSAuYWN0aW9ucyAuc2Vjb25kYXJ5LWFjdGlvbiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZVxufVxuXG4ucGlrYS1zaW5nbGUge1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYmJiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcbn1cblxuLnBpa2Etc2luZ2xlLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZVxufVxuXG4ucGlrYS1zaW5nbGUuaXMtYm91bmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjUpXG59XG5cbi5waWthLXNpbmdsZSB7XG4gICAgKnpvb206IDFcbn1cblxuLnBpa2Etc2luZ2xlOmJlZm9yZSxcbi5waWthLXNpbmdsZTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGVcbn1cblxuLnBpa2Etc2luZ2xlOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aFxufVxuXG4ucGlrYS1sZW5kYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBtYXJnaW46IDhweFxufVxuXG4ucGlrYS10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4ucGlrYS10aXRsZSBzZWxlY3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5ODtcbiAgICBtYXJnaW46IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDVweDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgb3BhY2l0eTogMFxufVxuXG4ucGlrYS1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDNweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxufVxuXG4ucGlrYS1wcmV2LFxuLnBpa2EtbmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAqdG9wOiAwXG59XG5cbi5waWthLXByZXY6aG92ZXIsXG4ucGlrYS1uZXh0OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxXG59XG5cbi5waWthLXByZXYuaXMtZGlzYWJsZWQsXG4ucGlrYS1uZXh0LmlzLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC4yXG59XG5cbi5waWthLXByZXYsXG4uaXMtcnRsIC5waWthLW5leHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQlFBQUFBZUNBWUFBQUFzRWo1ckFBQUFVa2xFUVZSNDJ1M1ZNUW9BSUJBRFFmOFBnaitPRDloRzJDdE9OSkIyeW1Ra0tlMEhid0FQMHh1Y0RpUVdBUklUSURFQkVuTWdNUThTOCtBcUJJbDZrS2dIaVhxUXFBZUplcEJvL3ozOEovVTB1QUhsYUJrQmw5STRHd0FBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgICAqbGVmdDogMFxufVxuXG4ucGlrYS1uZXh0LFxuLmlzLXJ0bCAucGlrYS1wcmV2IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFlQ0FZQUFBQXNFajVyQUFBQVUwbEVRVlI0MnUzVk93b0FNQWdFMGR3ZkFuTmpVMjZiWWtCQ0ZHd2ZpTDlWVldvTytCSjRHZjNndHNFS0tvRkJOVENvQ0FZVndhQWlHTlFHTVVITWtqR2JnamsybUlPTnVYbzBuQzhYbkNmMUpYZ0FyVklaQVFoNVRLWUFBQUFBU1VWT1JLNUNZSUk9XCIpO1xuICAgICpyaWdodDogMFxufVxuXG4ucGlrYS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lXG59XG5cbi5waWthLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlcjogMFxufVxuXG4ucGlrYS10YWJsZSB0aCxcbi5waWthLXRhYmxlIHRkIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIHBhZGRpbmc6IDBcbn1cblxuLnBpa2EtdGFibGUgdGgge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXJcbn1cblxuLnBpa2EtdGFibGUgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBjdXJzb3I6IGhlbHBcbn1cblxuLnBpa2EtYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNVxufVxuXG4uaXMtdG9kYXkgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogIzNhZjtcbiAgICBmb250LXdlaWdodDogYm9sZFxufVxuXG4uaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kOiAjM2FmO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCAjMTc4ZmU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweFxufVxuXG4uaXMtZGlzYWJsZWQgLnBpa2EtYnV0dG9uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgb3BhY2l0eTogMC4zXG59XG5cbi5waWthLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY4MDAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50XG59XG5cbi5waWthLXdlZWsge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzk5OVxufVxuXG4uaHMtZm9ybSBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogNTAwcHhcbn1cblxuLmhzLWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTEgLmhzLWlucHV0IHtcbiAgICB3aWR0aDogOTUlXG59XG5cbi5ocy1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0xIC5pbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHhcbn1cblxuLmhzLWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTEgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmhzLWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTEgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICB3aWR0aDogYXV0b1xufVxuXG4uaHMtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdFxufVxuXG4uaHMtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4XG59XG5cbi5ocy1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0zIC5ocy1mb3JtLWZpZWxkIHtcbiAgICB3aWR0aDogMzIuNyU7XG4gICAgZmxvYXQ6IGxlZnRcbn1cblxuLmhzLWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTMgLmlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweFxufVxuXG4uaHMtZm9ybSBmaWVsZHNldCAuaHMtZm9ybS1maWVsZC5oaWRkZW4tbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDI0cHhcbn1cblxuLmhzLWZvcm0gLmhzLXNvY2lhbC1sb2dpbiB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBoZWlnaHQ6IDkwcHhcbn1cblxuLmhzZm9ybWVycm9yIHtcbiAgICBtYXJnaW46IDAgMCAycHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZDJkMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZjYjNhZjtcbiAgICBwYWRkaW5nOiA0cHggMTZweCA0cHggMTBweDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCA1MCUgMCUsIDUwJSAxMDAlLCBjb2xvci1zdG9wKDAlLCAjZmVmZWZlKSwgY29sb3Itc3RvcCgxMDAlLCAjZmRkMmQwKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoI2ZlZmVmZSwgI2ZkZDJkMCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2ZlZmVmZSwgI2ZkZDJkMCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCNmZWZlZmUsICNmZGQyZDApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmVmZWZlLCAjZmRkMmQwKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC1vLWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNnB4ICNkZGQ7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgNnB4ICNkZGQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAjZGRkO1xuICAgIHotaW5kZXg6IDk5OTk5XG59XG5cbi5oc2Zvcm1lcnJvciBlbSB7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZkZDJkMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3R0b206IC0xN3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMFxufVxuXG4uaHNmb3JtZXJyb3IgcCB7XG4gICAgZm9udC1mYW1pbHk6IEx1Y2lkYSBHcmFuZGUsIEx1Y2lkYSBTYW5zIFVuaWNvZGUsIGJpdHN0cmVhbSB2ZXJhIHNhbnMsIHRyZWJ1Y2hldCBtcywgdmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHhcbn1cblxuLmhzZm9ybWVycm9yOmhvdmVyIHtcbiAgICBjdXJzb3I6IGRlZmF1bHRcbn1cblxuLmhzZm9ybWVycm9yIC5jbG9zZS1mb3JtLWVycm9yIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHRvcDogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LWZhbWlseTogVmVyZGFuYSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjYjE3Yzc5ICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50XG59XG5cbi5oc2Zvcm1lcnJvciAuY2xvc2UtZm9ybS1lcnJvcjpob3ZlciB7XG4gICAgY29sb3I6ICNjYzg4ODRcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSxcbihtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA0ODBweCkge1xuICAgIGZvcm0uaHMtZm9ybSAuZm9ybS1jb2x1bW5zLTIgLmhzLWZvcm0tZmllbGQsXG4gICAgZm9ybS5ocy1mb3JtIC5mb3JtLWNvbHVtbnMtMyAuaHMtZm9ybS1maWVsZCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cbiAgICBmb3JtLmhzLWZvcm0gLmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkIC5ocy1pbnB1dCxcbiAgICBmb3JtLmhzLWZvcm0gLmZvcm0tY29sdW1ucy0zIC5ocy1mb3JtLWZpZWxkIC5ocy1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiA5NSVcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MjJweCkge1xuICAgIC5hbGwtc29jaWFsLXR5cGVzIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweFxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM0MnB4KSB7XG4gICAgLmhzLXNvY2lhbC1sb2dpbiB7XG4gICAgICAgIGhlaWdodDogNzJweFxuICAgIH1cbn0gICAgXG5cbi8qIFNIUiBlZGl0cyAqL1xuLmhic3B0LWZvcm0gZm9ybSB7XG5cdHdpZHRoOiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1x0XG5cdG1hcmdpbi1yaWdodDogYXV0bztcdFxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcblx0Lmhic3B0LWZvcm0gZm9ybSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmhzLWZvcm0gLmhzLWlucHV0LCAuaHMtZm9ybSB0ZXh0YXJlYS5ocy1pbnB1dCAuaHMtZm9ybSBzZWxlY3QuaHMtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcblx0Zm9udC1mYW1pbHk6IFwiZnJlaWdodC1zYW5zLXByb1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDEuMTI1cmVtO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaHMtZm9ybSAuaHMtaW5wdXQsIC5ocy1mb3JtIHNlbGVjdC5ocy1pbnB1dCB7XG5cdGhlaWdodDogMnJlbTtcbn1cblxuLmhzLWZvcm0gbGFiZWwge1xuXHRmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbi5ocy1mb3JtIC5ocy1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmOTUwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogLjVlbSAxLjVlbTtcbiAgICBjb2xvcjogI2ZmOTUwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuXHRmb250LWZhbWlseTogXCJmcmVpZ2h0LXNhbnMtcHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbi5ocy1mb3JtIC5ocy1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjk1MDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY5NTAwO1xufVxuXG4uaHMtZm9ybSAuaHMtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTUwMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjk1MDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpO1xufVxuXG4uaHMtZm9ybSAuaHMtZm9ybS1yZXF1aXJlZCB7XG5cdG1hcmdpbi1sZWZ0OiAuMjVyZW07XG59XG5cbi5ocy1mb3JtIHNlbGVjdC5ocy1pbnB1dCB7IC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7IC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7IGFwcGVhcmFuY2U6IG1lbnVsaXN0OyB9Il19 */
